Compare commits
48 commits
Author | SHA1 | Date | |
---|---|---|---|
b4fd8f2dbf | |||
b819c45b4c | |||
0fa44bc367 | |||
a8ddc05ddd | |||
a41cdeaf39 | |||
19a8cbf400 | |||
008ecba1a3 | |||
0e966c6201 | |||
913562b98b | |||
f446486678 | |||
caa24fb255 | |||
f35a2c5e85 | |||
b7b0fa8ad3 | |||
04b72edede | |||
2f1346651b | |||
378ef78b40 | |||
3fce7adaaa | |||
3759885545 | |||
ffd6f6e9c6 | |||
8b9b00f33b | |||
34263d84cc | |||
01ce208be9 | |||
c416cbaab9 | |||
fb9cd8b9e9 | |||
2316cb2d9c | |||
31a4c4060a | |||
ade31510a8 | |||
b25f1f9f4b | |||
bdef46f0b2 | |||
531fae0bb0 | |||
d1379cdf99 | |||
0fa8782abb | |||
58f2686097 | |||
412932d20d | |||
c9c36843ae | |||
b14b9392fe | |||
0ef21309f4 | |||
8ad66eab07 | |||
0435852106 | |||
5fdf52e0dc | |||
dc8fa78220 | |||
b27b60a01b | |||
a113c47eac | |||
4c8d6dfc27 | |||
8f5c38f525 | |||
40f4ac6e12 | |||
f9b9424b29 | |||
749e18793d |
62 changed files with 11619 additions and 766 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1 +1,3 @@
|
||||||
result
|
result
|
||||||
|
|
||||||
|
.idea
|
||||||
|
|
225
colors.sh
Normal file
225
colors.sh
Normal file
|
@ -0,0 +1,225 @@
|
||||||
|
# tdpeuter color schemes
|
||||||
|
# The goal is to offer light and dark theme that is easy on the eyes,
|
||||||
|
# whilst also being unique and defining.
|
||||||
|
|
||||||
|
###############################
|
||||||
|
# tdpeuter-light color scheme #
|
||||||
|
###############################
|
||||||
|
|
||||||
|
# 171717 # Foreground
|
||||||
|
# FAFAFA # Daisy (Background)
|
||||||
|
|
||||||
|
# Regular colors (0-7)
|
||||||
|
|
||||||
|
# 000000 # Black (0)
|
||||||
|
# 1
|
||||||
|
# 2
|
||||||
|
# 3
|
||||||
|
# 4
|
||||||
|
# 5
|
||||||
|
# 6
|
||||||
|
# 7
|
||||||
|
|
||||||
|
# Bright colors (8-15)
|
||||||
|
|
||||||
|
# 000000 # Black (8)
|
||||||
|
# 9
|
||||||
|
# 10
|
||||||
|
# 11
|
||||||
|
# 12
|
||||||
|
# 13
|
||||||
|
# 14
|
||||||
|
# 15
|
||||||
|
|
||||||
|
##############################
|
||||||
|
# tdpeuter-dark color scheme #
|
||||||
|
##############################
|
||||||
|
|
||||||
|
# FAFAFA # Daisy (Foreground)
|
||||||
|
printf "\033]10;#FAFAFA\007"
|
||||||
|
# 171717 # Background
|
||||||
|
printf "\033]11;#171717\007"
|
||||||
|
|
||||||
|
# Regular colors (0-7)
|
||||||
|
|
||||||
|
# 242124 # Black 0
|
||||||
|
printf "\033]4;0;#242124\007"
|
||||||
|
# B90E0A # Crimson (Red) 1
|
||||||
|
printf "\033]4;1;#B90E0A\007"
|
||||||
|
# B2BC68 # Leafy (Green) 2
|
||||||
|
printf "\033]4;2;#B2BC68\007"
|
||||||
|
# FFE135 # Banana (Yellow) 3
|
||||||
|
printf "\033]4;3;#FFE135\007"
|
||||||
|
# 80A2BE # Icicle (Blue) 4
|
||||||
|
printf "\033]4;4;#80A2BE\007"
|
||||||
|
# A45EE5 # Amethyst (Magenta) 5
|
||||||
|
printf "\033]4;5;#A45EE5\007"
|
||||||
|
# # (Cyan) 6
|
||||||
|
printf "\033]4;6;#80A2BE\007"
|
||||||
|
# FBFCF8 # Pearl (White) 7
|
||||||
|
printf "\033]4;7;#FBFCF8\007"
|
||||||
|
|
||||||
|
# Bright colors (8-15)
|
||||||
|
|
||||||
|
# 363636 # Grey-isch (Black) 8
|
||||||
|
printf "\033]4;8;#363636\007"
|
||||||
|
# BC544B # Blush (Red) 9
|
||||||
|
printf "\033]4;9;#BC544B\007"
|
||||||
|
# A6E3A1 # Lime (Green) 10
|
||||||
|
printf "\033]4;10;#A6E3A1\007"
|
||||||
|
# FCF4A3 # Banana (Yellow) 11
|
||||||
|
printf "\033]4;11;#FCF4A3\007"
|
||||||
|
# 74C7EC # Sapphire (Blue) 12
|
||||||
|
printf "\033]4;12;#74C7EC\007"
|
||||||
|
# B4BEFE # Lavender (Magenta) 13
|
||||||
|
# #CBA6F7
|
||||||
|
printf "\033]4;13;#B4BEFE\007"
|
||||||
|
# # (Cyan) 14
|
||||||
|
printf "\033]4;14;#74C7EC\007"
|
||||||
|
# FFFFFF # White 15
|
||||||
|
printf "\033]4;15;#FFFFFF\007"
|
||||||
|
|
||||||
|
|
||||||
|
# NEW COLORS 20241101
|
||||||
|
#
|
||||||
|
# Nr # R G B H S B # Name
|
||||||
|
# FG # 250 250 250 0 0 98 # Daisy (White)
|
||||||
|
printf "\033]10;#FAFAFA\007"
|
||||||
|
# BG # 19 19 19 0 0 7 # -
|
||||||
|
printf "\033]11;#131313\007"
|
||||||
|
|
||||||
|
# Regular colors (0-7)
|
||||||
|
|
||||||
|
# Nr # R G B H S B # Name
|
||||||
|
# 0 # 61 61 61 0 0 24 # - (Black)
|
||||||
|
printf "\033]4;0;#3D3D3D\007"
|
||||||
|
# 1 # 186 19 61 345 90 73 # - (Red)
|
||||||
|
printf "\033]4;1;#BA133D\007"
|
||||||
|
# 2 # 61 186 19 105 90 73 # - (Green)
|
||||||
|
printf "\033]4;2;#3DBA13\007"
|
||||||
|
# 3 # 186 144 19 45 90 73 # - (Yellow)
|
||||||
|
printf "\033]4;3;#BA9013\007"
|
||||||
|
# 4 # 19 61 186 225 90 73 # - (Blue)
|
||||||
|
printf "\033]4;4;#133DBA\007"
|
||||||
|
# 5 # 144 19 186 285 90 73 # - (Magenta)
|
||||||
|
printf "\033]4;5;#9013BA\007"
|
||||||
|
# 6 # 19 186 144 165 90 73 # - (Cyan)
|
||||||
|
printf "\033]4;6;#13BA90\007"
|
||||||
|
# 7 # 186 186 186 0 0 73 # - (White)
|
||||||
|
printf "\033]4;7;#BABABA\007"
|
||||||
|
|
||||||
|
# Bright colors (8-15)
|
||||||
|
|
||||||
|
# Nr # R G B H S B # Name
|
||||||
|
# 8 # 122 122 122 0 0 48 # - (Black)
|
||||||
|
printf "\033]4;8;#363636\007"
|
||||||
|
# 9 # 250 25 81 345 90 98 # - (Red)
|
||||||
|
printf "\033]4;9;#FA1951\007"
|
||||||
|
# 10 # 81 250 25 105 90 98 # - (Green)
|
||||||
|
printf "\033]4;10;#51FA19\007"
|
||||||
|
# 11 # 250 194 25 45 90 98 # - (Yellow)
|
||||||
|
printf "\033]4;11;#FAC219\007"
|
||||||
|
# 12 # 25 81 250 225 90 98 # - (Blue)
|
||||||
|
printf "\033]4;12;#1951FA\007"
|
||||||
|
# 13 # 194 25 250 285 90 98 # - (Magenta)
|
||||||
|
printf "\033]4;13;#C219FA\007"
|
||||||
|
# 14 # 25 259 194 165 90 98 # - (Cyan)
|
||||||
|
printf "\033]4;14;#19FAC2\007"
|
||||||
|
# 15 # 250 250 250 0 0 98 # - (White)
|
||||||
|
printf "\033]4;15;#FAFAFA\007"
|
||||||
|
|
||||||
|
# BRIGHTER
|
||||||
|
#
|
||||||
|
# Nr # R G B H S B # Name
|
||||||
|
# FG # 250 250 250 0 0 98 # Daisy (White)
|
||||||
|
printf "\033]11;#FAFAFA\007"
|
||||||
|
# BG # 19 19 19 0 0 7 # -
|
||||||
|
printf "\033]10;#131313\007"
|
||||||
|
|
||||||
|
# Regular colors (0-7)
|
||||||
|
|
||||||
|
# Nr # R G B H S B # Name
|
||||||
|
# 0 # 61 61 61 0 0 24 # - (Black)
|
||||||
|
printf "\033]4;0;#3D3D3D\007"
|
||||||
|
# 1 # 186 19 61 345 90 73 # - (Red)
|
||||||
|
printf "\033]4;1;#E62E4D\007"
|
||||||
|
# 2 # 61 186 19 105 90 73 # - (Green)
|
||||||
|
printf "\033]4;2;#4DE62E\007"
|
||||||
|
# 3 # 186 144 19 45 90 73 # - (Yellow)
|
||||||
|
printf "\033]4;3;#E6C72E\007"
|
||||||
|
# 4 # 19 61 186 225 90 73 # - (Blue)
|
||||||
|
printf "\033]4;4;#2E4CE6\007"
|
||||||
|
# 5 # 144 19 186 285 90 73 # - (Magenta)
|
||||||
|
printf "\033]4;5;#C52DE3\007"
|
||||||
|
# 6 # 19 186 144 165 90 73 # - (Cyan)
|
||||||
|
printf "\033]4;6;#2EE6C7\007"
|
||||||
|
# 7 # 186 186 186 0 0 73 # - (White)
|
||||||
|
printf "\033]4;7;#BABABA\007"
|
||||||
|
|
||||||
|
# Bright colors (8-15)
|
||||||
|
|
||||||
|
# Nr # R G B H S B # Name
|
||||||
|
# 8 # 122 122 122 0 0 48 # - (Black)
|
||||||
|
printf "\033]4;8;#7A7A7A\007"
|
||||||
|
# 9 # 250 25 81 345 90 98 # - (Red)
|
||||||
|
printf "\033]4;9;#FF002B\007"
|
||||||
|
# 10 # 81 250 25 105 90 98 # - (Green)
|
||||||
|
printf "\033]4;10;#2BFF00\007"
|
||||||
|
# 11 # 250 194 25 45 90 98 # - (Yellow)
|
||||||
|
printf "\033]4;11;#FFd500\007"
|
||||||
|
# 12 # 25 81 250 225 90 98 # - (Blue)
|
||||||
|
printf "\033]4;12;#002AFF\007"
|
||||||
|
# 13 # 194 25 250 285 90 98 # - (Magenta)
|
||||||
|
printf "\033]4;13;#D400FF\007"
|
||||||
|
# 14 # 25 259 194 165 90 98 # - (Cyan)
|
||||||
|
printf "\033]4;14;#00FFC0\007"
|
||||||
|
# 15 # 250 250 250 0 0 98 # - (White)
|
||||||
|
printf "\033]4;15;#FAFAFA\007"
|
||||||
|
|
||||||
|
# TEsting again
|
||||||
|
|
||||||
|
# Nr # R G B H S B # Name
|
||||||
|
# FG # 250 250 250 0 0 98 # Daisy (White)
|
||||||
|
# FAFAFA # Daisy (Foreground)
|
||||||
|
printf "\033]10;#FAFAFA\007"
|
||||||
|
# 171717 # Background
|
||||||
|
printf "\033]11;#171717\007"
|
||||||
|
|
||||||
|
# Nr # R G B H S B # Name
|
||||||
|
# 0 # 61 61 61 0 0 24 # - (Black)
|
||||||
|
printf "\033]4;0;#202124\007"
|
||||||
|
# 1 # 186 19 61 345 90 73 # - (Red)
|
||||||
|
printf "\033]4;1;#EA4335\007"
|
||||||
|
# 2 # 61 186 19 105 90 73 # - (Green)
|
||||||
|
printf "\033]4;2;#34A853\007"
|
||||||
|
# 3 # 186 144 19 45 90 73 # - (Yellow)
|
||||||
|
printf "\033]4;3;#FBBC04\007"
|
||||||
|
# 4 # 19 61 186 225 90 73 # - (Blue)
|
||||||
|
printf "\033]4;4;#4285F4\007"
|
||||||
|
# 5 # 144 19 186 285 90 73 # - (Magenta)
|
||||||
|
printf "\033]4;5;#A142F4\007"
|
||||||
|
# 6 # 19 186 144 165 90 73 # - (Cyan)
|
||||||
|
printf "\033]4;6;#24C1E0\007"
|
||||||
|
# 7 # 186 186 186 0 0 73 # - (White)
|
||||||
|
printf "\033]4;7;#FBFCF8\007"
|
||||||
|
|
||||||
|
# Bright colors (8-15)
|
||||||
|
|
||||||
|
# Nr # R G B H S B # Name
|
||||||
|
# 8 # 122 122 122 0 0 48 # - (Black)
|
||||||
|
printf "\033]4;8;#5F6368\007"
|
||||||
|
# 9 # 250 25 81 345 90 98 # - (Red)
|
||||||
|
printf "\033]4;9;#EA4335\007"
|
||||||
|
# 10 # 81 250 25 105 90 98 # - (Green)
|
||||||
|
printf "\033]4;10;#34A853\007"
|
||||||
|
# 11 # 250 194 25 45 90 98 # - (Yellow)
|
||||||
|
printf "\033]4;11;#FBBC05\007"
|
||||||
|
# 12 # 25 81 250 225 90 98 # - (Blue)
|
||||||
|
printf "\033]4;12;#4285F4\007"
|
||||||
|
# 13 # 194 25 250 285 90 98 # - (Magenta)
|
||||||
|
printf "\033]4;13;#A142F4\007"
|
||||||
|
# 14 # 25 259 194 165 90 98 # - (Cyan)
|
||||||
|
printf "\033]4;14;#24C1E0\007"
|
||||||
|
# 15 # 250 250 250 0 0 98 # - (White)
|
||||||
|
printf "\033]4;15;#FFFFFF\007"
|
||||||
|
|
165
nixos/flake.lock
generated
165
nixos/flake.lock
generated
|
@ -1,54 +1,15 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"devshell": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": "flake-utils",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1713532798,
|
|
||||||
"narHash": "sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "devshell",
|
|
||||||
"rev": "12e914740a25ea1891ec619bb53cf5e6ca922e40",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "devshell",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1701680307,
|
"lastModified": 1731533236,
|
||||||
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-utils_2": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1710146030,
|
|
||||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -64,16 +25,16 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1716736833,
|
"lastModified": 1747688870,
|
||||||
"narHash": "sha256-rNObca6dm7Qs524O4st8VJH6pZ/Xe1gxl+Rx6mcWYo0=",
|
"narHash": "sha256-ypL9WAZfmJr5V70jEVzqGjjQzF0uCkz+AFQF7n9NmNc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "a631666f5ec18271e86a5cde998cba68c33d9ac6",
|
"rev": "d5f1f641b289553927b3801580598d200a501863",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "release-24.05",
|
"ref": "release-24.11",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
@ -86,11 +47,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1701208414,
|
"lastModified": 1720066371,
|
||||||
"narHash": "sha256-xrQ0FyhwTZK6BwKhahIkUVZhMNk21IEI1nUcWSONtpo=",
|
"narHash": "sha256-uPlLYH2S0ACj0IcgaK9Lsf4spmJoGejR9DotXiXSBZQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-github-actions",
|
"repo": "nix-github-actions",
|
||||||
"rev": "93e39cc1a087d65bcf7a132e75a650c44dd2b734",
|
"rev": "622f829f5fe69310a866c8a6cd07e747c44ef820",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -101,42 +62,26 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717144377,
|
"lastModified": 1751274312,
|
||||||
"narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=",
|
"narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "805a384895c696f802a9bf5bf4720f37385df547",
|
"rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"id": "nixpkgs",
|
"id": "nixpkgs",
|
||||||
"ref": "nixos-24.05",
|
"ref": "nixos-24.11",
|
||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1717265169,
|
|
||||||
"narHash": "sha256-IITcGd6xpNoyq9SZBigCkv4+qMHSqot0RDPR4xsZ2CA=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "3b1b4895b2c5f9f5544d02132896aeb9ceea77bc",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "release-23.11",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1716948383,
|
"lastModified": 1757745802,
|
||||||
"narHash": "sha256-SzDKxseEcHR5KzPXLwsemyTR/kaM9whxeiJohbL04rs=",
|
"narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "ad57eef4ef0659193044870c731987a6df5cf56b",
|
"rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -155,15 +100,15 @@
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"poetry2nix": "poetry2nix",
|
"poetry2nix": "poetry2nix",
|
||||||
"systems": "systems_3",
|
"systems": "systems_2",
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1701455376,
|
"lastModified": 1724283233,
|
||||||
"narHash": "sha256-FMLrMdi6JY7ZfqV5XnNj64jnDcGKznKZLn7O6OMO3u0=",
|
"narHash": "sha256-XMPn6YHwFOJCGLE9M5F3AEFKA0u+maf8CpIEWmvaQTQ=",
|
||||||
"owner": "ThinkChaos",
|
"owner": "ThinkChaos",
|
||||||
"repo": "openconnect-sso",
|
"repo": "openconnect-sso",
|
||||||
"rev": "20c0015c4264c72cc19ac272de0dc534309bd21b",
|
"rev": "94f1ddfef1662d56ede0a093bcfc3d23156bc1a1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -197,11 +142,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1701105783,
|
"lastModified": 1721039874,
|
||||||
"narHash": "sha256-5IOI0xXGbhAkUZNNcPId48V78Q+/JlW0hzlif0zxRmM=",
|
"narHash": "sha256-XANsG9GYHip8pxZpbqKf/YGv8tIa0xTh289Y+WNBNfw=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "poetry2nix",
|
"repo": "poetry2nix",
|
||||||
"rev": "0b2bff39e9bd4e6db3208e09c276ca83a063b370",
|
"rev": "d11c01e58587e5f21037ed6477465a7f26a32e27",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -212,29 +157,28 @@
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"devshell": "devshell",
|
"flake-utils": "flake-utils",
|
||||||
"flake-utils": "flake-utils_2",
|
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"openconnect-sso": "openconnect-sso",
|
"openconnect-sso": "openconnect-sso",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"utils": "utils"
|
"utils": "utils",
|
||||||
|
"zen-browser": "zen-browser"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sops-nix": {
|
"sops-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
]
|
||||||
"nixpkgs-stable": "nixpkgs-stable"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717297459,
|
"lastModified": 1758007585,
|
||||||
"narHash": "sha256-cZC2f68w5UrJ1f+2NWGV9Gx0dEYmxwomWN2B0lx0QRA=",
|
"narHash": "sha256-HYnwlbY6RE5xVd5rh0bYw77pnD8lOgbT4mlrfjgNZ0c=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "ab2a43b0d21d1d37d4d5726a892f714eaeb4b075",
|
"rev": "f77d4cfa075c3de66fc9976b80e0c4fc69e2c139",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -273,21 +217,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"treefmt-nix": {
|
"treefmt-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -296,11 +225,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1699786194,
|
"lastModified": 1721769617,
|
||||||
"narHash": "sha256-3h3EH1FXQkIeAuzaWB+nK0XK54uSD46pp+dMD3gAcB4=",
|
"narHash": "sha256-6Pqa0bi5nV74IZcENKYRToRNM5obo1EQ+3ihtunJ014=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "e82f32aa7f06bbbd56d7b12186d555223dc399d1",
|
"rev": "8db8970be1fb8be9c845af7ebec53b699fe7e009",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -316,11 +245,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715533576,
|
"lastModified": 1738591040,
|
||||||
"narHash": "sha256-fT4ppWeCJ0uR300EH3i7kmgRZnAVxrH+XtK09jQWihk=",
|
"narHash": "sha256-4WNeriUToshQ/L5J+dTSWC5OJIwT39SEP7V7oylndi8=",
|
||||||
"owner": "gytis-ivaskevicius",
|
"owner": "gytis-ivaskevicius",
|
||||||
"repo": "flake-utils-plus",
|
"repo": "flake-utils-plus",
|
||||||
"rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f",
|
"rev": "afcb15b845e74ac5e998358709b2b5fe42a948d1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -328,6 +257,26 @@
|
||||||
"repo": "flake-utils-plus",
|
"repo": "flake-utils-plus",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"zen-browser": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1757304371,
|
||||||
|
"narHash": "sha256-EZ3Vwgh5xgXuiPUmr9e1a9dEu3hvEWhRurAKpsAwB2A=",
|
||||||
|
"owner": "youwen5",
|
||||||
|
"repo": "zen-browser-flake",
|
||||||
|
"rev": "3968348af022fe88468ef8de4f9683076e2e5e4b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "youwen5",
|
||||||
|
"repo": "zen-browser-flake",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|
|
@ -2,20 +2,16 @@
|
||||||
description = "System configuration of my machines using flakes";
|
description = "System configuration of my machines using flakes";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "nixpkgs/nixos-24.05";
|
nixpkgs.url = "nixpkgs/nixos-24.11";
|
||||||
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
|
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
devshell = {
|
|
||||||
url = "github:numtide/devshell";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-24.05";
|
url = "github:nix-community/home-manager/release-24.11";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
openconnect-sso = {
|
openconnect-sso = {
|
||||||
url = github:ThinkChaos/openconnect-sso/fix/nix-flake;
|
url = "github:ThinkChaos/openconnect-sso/fix/nix-flake";
|
||||||
inputs = {
|
inputs = {
|
||||||
flake-utils.follows = "utils";
|
flake-utils.follows = "utils";
|
||||||
nixpkgs.follows = "nixpkgs";
|
nixpkgs.follows = "nixpkgs";
|
||||||
|
@ -29,23 +25,27 @@
|
||||||
url = "github:gytis-ivaskevicius/flake-utils-plus";
|
url = "github:gytis-ivaskevicius/flake-utils-plus";
|
||||||
inputs.flake-utils.follows = "flake-utils";
|
inputs.flake-utils.follows = "flake-utils";
|
||||||
};
|
};
|
||||||
|
zen-browser = {
|
||||||
|
url = "github:youwen5/zen-browser-flake";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{
|
outputs = inputs@{
|
||||||
self, nixpkgs, nixpkgs-unstable,
|
self, nixpkgs, nixpkgs-unstable,
|
||||||
devshell, flake-utils, home-manager, openconnect-sso, sops-nix, utils,
|
flake-utils, home-manager, openconnect-sso, sops-nix, utils, zen-browser,
|
||||||
... }:
|
... }:
|
||||||
let
|
let
|
||||||
system = "x86_64-linux";
|
system = utils.lib.system.x86_64-linux;
|
||||||
|
|
||||||
unfreePackages = pkg: builtins.elem (nixpkgs.lib.getName pkg) [
|
unfreePackages = pkg: builtins.elem (nixpkgs.lib.getName pkg) [
|
||||||
"corefonts"
|
"corefonts"
|
||||||
"nvidia-settings" "nvidia-x11" "nvidia-persistenced"
|
"nvidia-settings" "nvidia-x11" "nvidia-persistenced"
|
||||||
"Oracle_VM_VirtualBox_Extension_Pack"
|
"Oracle_VirtualBox_Extension_Pack"
|
||||||
"spotify"
|
"spotify"
|
||||||
"steam" "steam-original" "steam-run"
|
"steam" "steam-unwrapped" "steam-run"
|
||||||
"vista-fonts"
|
"vista-fonts"
|
||||||
"nvidia-persistenced" # Docker
|
"intel-ocl"
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
utils.lib.mkFlake {
|
utils.lib.mkFlake {
|
||||||
|
@ -73,6 +73,7 @@
|
||||||
modules = [
|
modules = [
|
||||||
home-manager.nixosModule
|
home-manager.nixosModule
|
||||||
sops-nix.nixosModules.sops
|
sops-nix.nixosModules.sops
|
||||||
|
|
||||||
./modules
|
./modules
|
||||||
./users
|
./users
|
||||||
];
|
];
|
||||||
|
@ -83,5 +84,64 @@
|
||||||
Tibo-NixFat.modules = [ ./hosts/Tibo-NixFat ];
|
Tibo-NixFat.modules = [ ./hosts/Tibo-NixFat ];
|
||||||
Tibo-NixTest.modules = [ ./hosts/Tibo-NixTest ];
|
Tibo-NixTest.modules = [ ./hosts/Tibo-NixTest ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
outputsBuilder = channels: {
|
||||||
|
devShells = {
|
||||||
|
default = channels.nixpkgs.mkShell {
|
||||||
|
name = "devShell";
|
||||||
|
packages = with channels.nixpkgs; [
|
||||||
|
nodejs
|
||||||
|
];
|
||||||
|
};
|
||||||
|
unstable = let
|
||||||
|
pkgs = import nixpkgs-unstable {
|
||||||
|
inherit system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
in channels.nixpkgs.mkShell {
|
||||||
|
name = "Unstable";
|
||||||
|
packages = with pkgs; [
|
||||||
|
anytype
|
||||||
|
];
|
||||||
|
};
|
||||||
|
rust = let
|
||||||
|
pkgs = import nixpkgs-unstable {
|
||||||
|
inherit system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
in channels.nixpkgs.mkShell {
|
||||||
|
name = "Rust Shell";
|
||||||
|
packages = with pkgs; [
|
||||||
|
rustc
|
||||||
|
cargo
|
||||||
|
rustup
|
||||||
|
|
||||||
|
(jetbrains.plugins.addPlugins jetbrains.rust-rover [ "github-copilot" ])
|
||||||
|
];
|
||||||
|
};
|
||||||
|
webdev = let
|
||||||
|
pkgs = import nixpkgs-unstable {
|
||||||
|
inherit system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
in channels.nixpkgs.mkShell {
|
||||||
|
name = "Web development Shell";
|
||||||
|
packages = with pkgs; [
|
||||||
|
nodejs
|
||||||
|
playwright-test
|
||||||
|
playwright-driver
|
||||||
|
playwright-driver.browsers
|
||||||
|
|
||||||
|
# IDE's
|
||||||
|
(jetbrains.plugins.addPlugins jetbrains.webstorm [ "github-copilot" ])
|
||||||
|
];
|
||||||
|
|
||||||
|
shellHook = ''
|
||||||
|
export PLAYWRIGHT_BROWSERS_PATH=${pkgs.playwright-driver.browsers}
|
||||||
|
export PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS=true
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -75,9 +75,9 @@
|
||||||
|
|
||||||
networking.hostName = "Tibo-NixDesk";
|
networking.hostName = "Tibo-NixDesk";
|
||||||
|
|
||||||
services.xserver = {
|
services.xserver.xkb = {
|
||||||
layout = "us";
|
layout = "us";
|
||||||
xkbVariant = "altgr-intl";
|
variant = "altgr-intl";
|
||||||
};
|
};
|
||||||
|
|
||||||
system.stateVersion = "24.05";
|
system.stateVersion = "24.05";
|
||||||
|
|
|
@ -6,7 +6,10 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
sisyphus = {
|
sisyphus = {
|
||||||
desktop.sway.enable = true;
|
desktop = {
|
||||||
|
sway.enable = true;
|
||||||
|
hyprland.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
eid.enable = true;
|
eid.enable = true;
|
||||||
|
@ -19,7 +22,7 @@
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
networkmanager.enable = true;
|
networkmanager.enable = true;
|
||||||
# openconnect-sso.enable = true;
|
openconnect-sso.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
|
@ -87,14 +90,20 @@
|
||||||
powerOnBoot = false;
|
powerOnBoot = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.hostName = "Tibo-NixFat";
|
networking = {
|
||||||
|
hostName = "Tibo-NixFat";
|
||||||
|
networkmanager.wifi.powersave = true;
|
||||||
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
# Handle the laptop lid switch as follows:
|
|
||||||
logind = {
|
logind = {
|
||||||
|
# Handle the laptop lid switch as follows:
|
||||||
lidSwitch = "hybrid-sleep";
|
lidSwitch = "hybrid-sleep";
|
||||||
lidSwitchExternalPower = "lock";
|
lidSwitchExternalPower = "lock";
|
||||||
lidSwitchDocked = "ignore";
|
lidSwitchDocked = "ignore";
|
||||||
|
|
||||||
|
# Handle the power key
|
||||||
|
powerKey = "suspend";
|
||||||
};
|
};
|
||||||
|
|
||||||
xserver.xkb = {
|
xserver.xkb = {
|
||||||
|
@ -105,10 +114,14 @@
|
||||||
|
|
||||||
# Touchpad
|
# Touchpad
|
||||||
libinput.enable = true;
|
libinput.enable = true;
|
||||||
|
|
||||||
|
thermald.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
system.stateVersion = "24.05";
|
system.stateVersion = "24.05";
|
||||||
|
|
||||||
|
systemd.coredump.enable = false;
|
||||||
|
|
||||||
time.timeZone = "Europe/Brussels";
|
time.timeZone = "Europe/Brussels";
|
||||||
|
|
||||||
# --- Barrier ---
|
# --- Barrier ---
|
||||||
|
|
|
@ -8,22 +8,33 @@
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
boot = {
|
||||||
boot.initrd.kernelModules = [ ];
|
initrd = {
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
availableKernelModules = [
|
||||||
boot.extraModulePackages = [ ];
|
"xhci_pci"
|
||||||
|
"nvme"
|
||||||
|
"usb_storage"
|
||||||
|
"sd_mod"
|
||||||
|
"rtsx_pci_sdmmc"
|
||||||
|
];
|
||||||
|
kernelModules = [ ];
|
||||||
|
luks.devices."luks-c21cb4a4-f618-43af-bc0c-e8be74fe3b81".device = "/dev/disk/by-uuid/c21cb4a4-f618-43af-bc0c-e8be74fe3b81";
|
||||||
|
};
|
||||||
|
kernelModules = [ "kvm-intel" ];
|
||||||
|
extraModulePackages = [ ];
|
||||||
|
};
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems = {
|
||||||
|
"/" = {
|
||||||
device = "/dev/disk/by-label/NIX-ROOT";
|
device = "/dev/disk/by-label/NIX-ROOT";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.initrd.luks.devices."luks-c21cb4a4-f618-43af-bc0c-e8be74fe3b81".device = "/dev/disk/by-uuid/c21cb4a4-f618-43af-bc0c-e8be74fe3b81";
|
"/boot/efi" = {
|
||||||
|
|
||||||
fileSystems."/boot/efi" = {
|
|
||||||
device = "/dev/disk/by-label/NIX-BOOT";
|
device = "/dev/disk/by-label/NIX-BOOT";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices = [
|
||||||
{ device = "/dev/disk/by-label/SWAP"; }
|
{ device = "/dev/disk/by-label/SWAP"; }
|
||||||
|
@ -38,5 +49,9 @@
|
||||||
# networking.interfaces.wlp111s0.useDHCP = lib.mkDefault true;
|
# networking.interfaces.wlp111s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
hardware = {
|
||||||
|
enableAllFirmware = true;
|
||||||
|
cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.sisyphus.desktop.hyprland;
|
cfg = config.sisyphus.desktop.hyprland;
|
||||||
|
@ -6,10 +6,50 @@ in {
|
||||||
options.sisyphus.desktop.hyprland.enable = lib.mkEnableOption "Hyprland";
|
options.sisyphus.desktop.hyprland.enable = lib.mkEnableOption "Hyprland";
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
programs.hyprland = {
|
environment = {
|
||||||
|
sessionVariables = {
|
||||||
|
# Hint Electron apps to use wayland
|
||||||
|
NIXOS_OZONE_WL = "1";
|
||||||
|
|
||||||
|
SCRIPT_DIR = ../../../../scripts;
|
||||||
|
};
|
||||||
|
|
||||||
|
systemPackages = with pkgs; [
|
||||||
|
brightnessctl
|
||||||
|
dunst
|
||||||
|
libnotify
|
||||||
|
swaybg
|
||||||
|
waybar
|
||||||
|
waycorner
|
||||||
|
wlsunset
|
||||||
|
wl-clipboard # Copying to system clipboard in vim
|
||||||
|
|
||||||
|
glib
|
||||||
|
|
||||||
|
libva
|
||||||
|
|
||||||
|
dmenu
|
||||||
|
jq
|
||||||
|
j4-dmenu-desktop
|
||||||
|
rofi
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
xwayland.enable = true;
|
xwayland.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
waybar.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
displayManager.ly.enable = true;
|
||||||
|
gnome.gnome-keyring.enable = true;
|
||||||
|
power-profiles-daemon.enable = true;
|
||||||
|
xserver.videoDrivers = [ "nvidia" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,36 +8,41 @@ in {
|
||||||
options.sisyphus.desktop.plasma.enable = lib.mkEnableOption "KDE Plasma";
|
options.sisyphus.desktop.plasma.enable = lib.mkEnableOption "KDE Plasma";
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
services.xserver = {
|
services = {
|
||||||
enable = true;
|
|
||||||
|
|
||||||
displayManager = {
|
displayManager = {
|
||||||
defaultSession = "plasmawayland";
|
defaultSession = "plasma";
|
||||||
sddm = {
|
sddm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
wayland.enable = true;
|
||||||
# https://discourse.nixos.org/t/plasma-wayland-session-not-available-from-sddm/13447/2
|
# https://discourse.nixos.org/t/plasma-wayland-session-not-available-from-sddm/13447/2
|
||||||
settings.Wayland.SessionDir = "${pkgs.plasma5Packages.plasma-workspace}/share/wayland-sessions";
|
# settings.Wayland.SessionDir = "${pkgs.plasma5Packages.plasma-workspace}/share/wayland-sessions";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
desktopManager.plasma5 = {
|
desktopManager.plasma6.enable = true;
|
||||||
|
|
||||||
|
# Use gnome keyring instead of KDE Wallet.
|
||||||
|
gnome.gnome-keyring.enable = true;
|
||||||
|
|
||||||
|
xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
useQtScaling = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
excludePackages = with pkgs; [
|
excludePackages = with pkgs; [
|
||||||
xterm
|
xterm
|
||||||
];
|
];
|
||||||
|
videoDrivers = [ "nvidia" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.plasma5.excludePackages = with pkgs.libsForQt5; [
|
environment.plasma6.excludePackages = with pkgs.kdePackages; [
|
||||||
elisa
|
elisa
|
||||||
okular
|
gwenview
|
||||||
|
kate
|
||||||
khelpcenter
|
khelpcenter
|
||||||
konsole
|
konsole
|
||||||
print-manager
|
kwalletmanager
|
||||||
|
okular
|
||||||
plasma-systemmonitor
|
plasma-systemmonitor
|
||||||
gwenview
|
print-manager
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,14 +65,17 @@ in {
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
environment.systemPackages = (with pkgs; [
|
environment.systemPackages = (with pkgs; [
|
||||||
|
# Window manager related
|
||||||
dbus-sway-environment
|
dbus-sway-environment
|
||||||
configure-gtk
|
configure-gtk
|
||||||
wayland
|
wayland
|
||||||
xdg-utils # Open with default program
|
xdg-utils # Open with default program
|
||||||
glib # gsettings
|
glib # gsettings
|
||||||
wl-clipboard
|
wl-clipboard # Copying to system clipboard in vim
|
||||||
|
wl-mirror # Mirror an output
|
||||||
wdisplays # Tool to configure displays
|
wdisplays # Tool to configure displays
|
||||||
|
|
||||||
|
# Desktop Environment related
|
||||||
brightnessctl
|
brightnessctl
|
||||||
dunst
|
dunst
|
||||||
libnotify
|
libnotify
|
||||||
|
@ -81,8 +84,10 @@ in {
|
||||||
swaylock-effects
|
swaylock-effects
|
||||||
waybar
|
waybar
|
||||||
wlsunset
|
wlsunset
|
||||||
|
waycorner
|
||||||
|
|
||||||
# TODO Turn into own module/package?
|
# TODO Turn into own module/package?
|
||||||
|
dmenu
|
||||||
jq
|
jq
|
||||||
j4-dmenu-desktop
|
j4-dmenu-desktop
|
||||||
rofi
|
rofi
|
||||||
|
@ -98,52 +103,43 @@ in {
|
||||||
dejavu_fonts
|
dejavu_fonts
|
||||||
font-awesome
|
font-awesome
|
||||||
noto-fonts
|
noto-fonts
|
||||||
noto-fonts-cjk
|
noto-fonts-cjk-sans
|
||||||
|
noto-fonts-cjk-serif
|
||||||
noto-fonts-emoji
|
noto-fonts-emoji
|
||||||
source-han-sans
|
|
||||||
source-han-sans-japanese
|
|
||||||
source-han-serif-japanese
|
|
||||||
];
|
];
|
||||||
|
|
||||||
security.polkit.enable = true;
|
hardware.graphics.enable = true;
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
atd.enable = true; # Required by sunset.sh
|
atd.enable = true; # Required by sunset.sh
|
||||||
dbus.enable = true;
|
dbus.enable = true;
|
||||||
|
displayManager.ly.enable = true;
|
||||||
gnome.gnome-keyring.enable = true;
|
gnome.gnome-keyring.enable = true;
|
||||||
|
|
||||||
pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
power-profiles-daemon.enable = true;
|
power-profiles-daemon.enable = true;
|
||||||
|
xserver.videoDrivers = [ "nouveau" ];
|
||||||
xserver = {
|
# xserver.videoDrivers = [ "nvidia" ];
|
||||||
displayManager.session = [{
|
|
||||||
manage = "window";
|
|
||||||
name = "Sway";
|
|
||||||
start = ''
|
|
||||||
${pkgs.sway}/bin/sway --unsupported-gpu &
|
|
||||||
waitPID=$!
|
|
||||||
'';
|
|
||||||
}];
|
|
||||||
videoDrivers = [ "nouveau" ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wlr.enable = true;
|
wlr.enable = true;
|
||||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
extraPortals = with pkgs; [
|
||||||
|
xdg-desktop-portal-gtk
|
||||||
|
gtk-session-lock
|
||||||
|
];
|
||||||
|
xdgOpenUsePortal = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.sway = {
|
programs = {
|
||||||
|
sway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
package = pkgs.swayfx;
|
||||||
wrapperFeatures.gtk = true;
|
wrapperFeatures.gtk = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
waybar.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
sisyphus.users.wantedGroups = [
|
sisyphus.users.wantedGroups = [
|
||||||
config.users.groups.video.name # Brightnessctl
|
config.users.groups.video.name # Brightnessctl
|
||||||
];
|
];
|
||||||
|
|
|
@ -25,26 +25,34 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
# boot = {
|
boot = {
|
||||||
# extraModprobeConfig = "options nvidia-drm modeset=1";
|
extraModprobeConfig = ''
|
||||||
#
|
options nvidia-drm modeset=1
|
||||||
# initrd.kernelModules = [
|
'';
|
||||||
# "nvidia"
|
kernelParams = [
|
||||||
# "nvidia_modeset"
|
"nvidia_drm.modeset=1"
|
||||||
# "nvidia_uvm"
|
];
|
||||||
# "nvidia_drm"
|
};
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
opengl = {
|
graphics = {
|
||||||
enable = true;
|
enable = true;
|
||||||
driSupport = true;
|
enable32Bit = true;
|
||||||
driSupport32Bit = true;
|
extraPackages = with pkgs; [
|
||||||
|
intel-ocl
|
||||||
|
intel-compute-runtime
|
||||||
|
opencl-clhpp
|
||||||
|
opencl-clang
|
||||||
|
opencl-headers
|
||||||
|
ocl-icd
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
nvidia = {
|
nvidia = {
|
||||||
|
# Use the NVidia open source kernel module (or not)
|
||||||
open = false;
|
open = false;
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
|
# Modesetting is required.
|
||||||
modesetting.enable = true;
|
modesetting.enable = true;
|
||||||
nvidiaSettings = cfg.gui-settings;
|
nvidiaSettings = cfg.gui-settings;
|
||||||
powerManagement = {
|
powerManagement = {
|
||||||
|
|
|
@ -25,11 +25,17 @@ in {
|
||||||
];
|
];
|
||||||
|
|
||||||
# Send a notification if the YubiKey is waiting for touch.
|
# Send a notification if the YubiKey is waiting for touch.
|
||||||
systemd.user.services.yubikey-touch-detector = {
|
systemd.services.yubikey-touch-detector = {
|
||||||
enable = true;
|
enable = true;
|
||||||
description = "Detects when your YubiKey is waiting for a touch";
|
description = "Detects when your YubiKey is waiting for a touch";
|
||||||
path = with pkgs; [ yubikey-touch-detector ];
|
path = with pkgs; [
|
||||||
script = ''exec yubikey-touch-detector --notify'';
|
gnupg
|
||||||
|
yubikey-touch-detector
|
||||||
|
];
|
||||||
|
wantedBy = [
|
||||||
|
"graphical-session.target"
|
||||||
|
];
|
||||||
|
script = ''exec yubikey-touch-detector --libnotify'';
|
||||||
environment.YUBIKEY_TOUCH_DETECTOR_LIBNOTIFY = "true";
|
environment.YUBIKEY_TOUCH_DETECTOR_LIBNOTIFY = "true";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -9,6 +9,6 @@ in {
|
||||||
extraOptions = ''
|
extraOptions = ''
|
||||||
experimental-features = nix-command flakes
|
experimental-features = nix-command flakes
|
||||||
'';
|
'';
|
||||||
package = pkgs.nixFlakes;
|
package = pkgs.nixVersions.stable;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@ in {
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
programs.direnv = {
|
programs.direnv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
nix-direnv.enable = true; # Use nix-specific direnv.
|
nix-direnv.enable = true; # Use nix-specific direnv, https://github.com/nix-community/nix-direnv
|
||||||
};
|
};
|
||||||
|
|
||||||
# This is also done by setting programs.direnv.persistDerivations.
|
# This is also done by setting programs.direnv.persistDerivations.
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
./openssh
|
./openssh
|
||||||
./pipewire
|
./pipewire
|
||||||
./printing
|
./printing
|
||||||
|
./remEYEnder
|
||||||
./tailscale
|
./tailscale
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,8 +6,6 @@ in {
|
||||||
options.sisyphus.services.pipewire.enable = lib.mkEnableOption "Pipewire";
|
options.sisyphus.services.pipewire.enable = lib.mkEnableOption "Pipewire";
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
sound.enable = true;
|
|
||||||
hardware.pulseaudio.enable = false;
|
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -20,6 +18,24 @@ in {
|
||||||
# use the example session manager (no others are packaged yet so this is enabled by default,
|
# use the example session manager (no others are packaged yet so this is enabled by default,
|
||||||
# no need to redefine it in your config for now)
|
# no need to redefine it in your config for now)
|
||||||
#media-session.enable = true;
|
#media-session.enable = true;
|
||||||
|
|
||||||
|
wireplumber = {
|
||||||
|
enable = true;
|
||||||
|
# Fix pops after silence
|
||||||
|
extraConfig."99-disable-suspend" = {
|
||||||
|
"monitor.alsa.rules" = [
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
# Headphone jack on laptop
|
||||||
|
{ "node.name" = "alsa_output.pci-0000_00_1f.3.analog-stereo"; }
|
||||||
|
];
|
||||||
|
actions.update-props = {
|
||||||
|
"session.suspend-timeout-seconds" = 0;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ in {
|
||||||
printing.enable = true;
|
printing.enable = true;
|
||||||
avahi = {
|
avahi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
nssmdns = true;
|
nssmdns4 = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Binary file not shown.
35
nixos/modules/services/remEYEnder/default.nix
Normal file
35
nixos/modules/services/remEYEnder/default.nix
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.sisyphus.services.remEYEnder;
|
||||||
|
|
||||||
|
icon = ./vecteezy_eyes-line-icon-vector-isolated_13932670.jpg;
|
||||||
|
in {
|
||||||
|
options.sisyphus.services.remEYEnder.enable = lib.mkEnableOption "Eye reminder";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
systemd.user = {
|
||||||
|
services.remEYEnder = {
|
||||||
|
enable = true;
|
||||||
|
description = "Send an eye reminder";
|
||||||
|
serviceConfig.Type = "oneshot";
|
||||||
|
script = ''
|
||||||
|
# Display reminder for 20 seconds.
|
||||||
|
${pkgs.libnotify}/bin/notify-send -t 20000 --icon=${icon} "RemEYEnder" "Look away from your screen :)"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
timers.remEYEnder = {
|
||||||
|
enable = true;
|
||||||
|
description = "Timer for remEYEnders, runs every 20 minutes.";
|
||||||
|
wantedBy = [
|
||||||
|
"timers.target"
|
||||||
|
];
|
||||||
|
timerConfig = {
|
||||||
|
OnActiveSec = "20min";
|
||||||
|
OnUnitActiveSec = "20min";
|
||||||
|
Unit = "remEYEnder.service";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
File diff suppressed because one or more lines are too long
Binary file not shown.
After Width: | Height: | Size: 97 KiB |
|
@ -10,8 +10,15 @@ in {
|
||||||
enable = true;
|
enable = true;
|
||||||
# Because these are made for development purposes and not for servers
|
# Because these are made for development purposes and not for servers
|
||||||
enableOnBoot = false;
|
enableOnBoot = false;
|
||||||
|
|
||||||
|
daemon.settings.features.cdi = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Updated version of deprecated enableNvidia.
|
||||||
hardware.nvidia-container-toolkit.enable = true;
|
hardware.nvidia-container-toolkit.enable = true;
|
||||||
|
|
||||||
|
sisyphus.users.wantedGroups = [
|
||||||
|
"docker"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,17 +2,6 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.sisyphus.virtualisation.virtualbox;
|
cfg = config.sisyphus.virtualisation.virtualbox;
|
||||||
|
|
||||||
# I like to override the virtualbox package because it is frequently
|
|
||||||
# and rebuilds take quite long.
|
|
||||||
inherit (pkgs) fetchurl;
|
|
||||||
version = "7.0.10";
|
|
||||||
virtualbox-override = pkgs.virtualbox.overrideAttrs (oldAttrs: {
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
|
|
||||||
sha256 = "0b1e6d8b7f87d017c7fae37f80586acff04f799ffc1d51e995954d6415dee371";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
in {
|
in {
|
||||||
options.sisyphus.virtualisation.virtualbox.enable = lib.mkEnableOption "VirtualBox";
|
options.sisyphus.virtualisation.virtualbox.enable = lib.mkEnableOption "VirtualBox";
|
||||||
|
|
||||||
|
@ -21,12 +10,13 @@ in {
|
||||||
host = {
|
host = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableExtensionPack = true;
|
enableExtensionPack = true;
|
||||||
package = virtualbox-override;
|
enableHardening = true;
|
||||||
};
|
};
|
||||||
guest = {
|
guest = {
|
||||||
enable = true;
|
enable = true;
|
||||||
clipboard = true;
|
clipboard = true;
|
||||||
seamless = true;
|
seamless = true;
|
||||||
|
vboxsf = false; # Module not found?...
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
27
nixos/secrets/HomeLab.yaml
Normal file
27
nixos/secrets/HomeLab.yaml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
HomeLab:
|
||||||
|
Gitea:
|
||||||
|
ssh: ENC[AES256_GCM,data:+H9qhfOg5WlTB7pihvbJ9omY/zLTAADe8KzI4fbdZ7NuaM0auC95AIQqhwNNCZNglg9UGOVL662pY7dNhbQ/2iCLPHSPgFFXf3fx1moRRcYYQzoJxsgxp19FZQeGNJ0qfRf72xYbZQZKslyHQmcqDieoVTyhaLqTfgC8MQ/UZofw/ortmgME7z51rGV5sXXMjxpJpHz9JxiPwQEL0ABWDAeCqBVBzlqqwdmfKEdkcR4l3USHfH1iNF5XQ5V26I+UGDOyoixt1c/BXzD9xzKI7MUDoRz+qfC6C62LIlEgqZY5tWg+tVZnqobakxwH6d8pXtQ7vaIREEP0LqQMkrNcK8X+cDRteToQ1fcxtN1V+JfZSa9pVC+iGgvmSZ00q4bnOgTmgO9IZ80TvOR4bHpRhjM5l4JMbLBv2jqY1zeUx/5L3WNuYIm9sL5mWXkV/RAD8WCemNSWdKbGsvByEUeiFcxczL/vQ6y3fi+ntmXUgeXVy5zVNkNlYbqd+DemBmwZQb9D1T5T97i2ChciYb3/ON1NObja/bt0PTQa,iv:hIbwsPcDSfgDItlvFFy0vCjuQWvgoQHBH60v8nTVTNg=,tag:1T/TdTEy98TfgMzYAxfHKA==,type:str]
|
||||||
|
Hugo:
|
||||||
|
ssh: ENC[AES256_GCM,data:Tfuba25e4hJ8Ovl1IdVtDvg0L0sCc9sYTXstRg89IAUzwv/1u8mxdj9ka6ZKaSQr2QUaNWs0BoPV36O4bI2hTwoqhUarhXXZNnJKHtd8xBu/+kfMSOMGa5qD9V9m3L5OFdt+gdwhJxemeQNkvN0Vhsu4DJFPZRPmGflJ2HVRYaRW4AsI+JPqiWSEeKz40f3PQPJ2h26gF+pADmPwtEfcUGZdGnJXUsiYMC0aBEWWxyAgBgj5W+Nbe+OCopEX1qyRcR8qO+LONjuC0b5hcGeOXjWj/d1FnBfxDHeoxRGhNCo8TUk0ap1mpSAttdr55/C51duQfeV09Iow4nzUR2H0jmzojUAjKXXCkBsK6yjIKxW+4+4OKCC9ERz5mDmu5Z+4aFM7CpSquCAnDVFw1Uq9MJqAnSz6AGh29J4LUwMnVNtf+gQwzGyl/C9wE/Svm0UAwP19h6hLcM1rp6bV4xjfSXNDspUkz4Xr3RdPpTI1PemtMZIq8fP64q0FlFZeV62ctl9hCtDVRDo3fG3FUM08fa0OfJpVYjSEAOfC,iv:T8z+P5++cES9Co9d/2tcU0PbxZZM/5x63tcxIjBeQ0I=,tag:AjsulFme64/xEPjgZQFtow==,type:str]
|
||||||
|
Nextcloud:
|
||||||
|
ssh: ENC[AES256_GCM,data:aVqa57u9hIOquP367EDj2rlyQWRe3EZv8l5cC+yQQKCri2bN5IFSq8qNemOIcU9ycBnxIyK6gLerJYQQcgzIIARmnfDpbJ9w+EeUL5yvPVJN6FM7oBeaL9mzYRl8aDKr22LhL9YiKAT1nKHESmTb3TZRvuvWJTGzCMRV85ROGxZYVUgG6BjuHEzuTsc4fy3NVPIl7/4ZjPgNNYx+UNsV5xwTejveB/sGblVrHOO74LZXzUWRlQNun5nM3MY3GALzfrPrVIAyGNu37CGachtwxaPOj7vUKZmD/e+XajYVKRJ3v33jrUeI0dDmhuwJj3taoFik6suAyiK3RlDdeWoERR8vqduiyxJnVMs6mNkigzkVtifpwZyQ8vNyG7w1JNPygMYgQzjN43lGVml8cx1lZvcoBzQabjWxcNzhV8gXxoGKvAwUV7ELB6l00rUH+EeI0uU8/IFm9kwmZq42ciM/bRGSGXzo2PYG2OHOiDe5b0nrIlajaRKd+vuuzTtFFU9EwH0GPzERRaoxVK+h9tzcco/REITCE+CVlHSx,iv:bb1X95HK5tT7EJpqqgMOUxw5VO5MuzoYxkPIzR5sEqU=,tag:y2LKHm7czwyuHp7Ea8KiYw==,type:str]
|
||||||
|
sops:
|
||||||
|
kms: []
|
||||||
|
gcp_kms: []
|
||||||
|
azure_kv: []
|
||||||
|
hc_vault: []
|
||||||
|
age:
|
||||||
|
- recipient: age1fva6s64s884z0q2w7de024sp69ucvqu0pg9shrhhqsn3ewlpjfpsh6md7y
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYWWFUdnpERVlkK29TQ09k
|
||||||
|
SnJMVm5rUEV6S0huSzJ2YjFFQ3pNR0pmZWprClZEVDloeDE2ODNkMVVJTUtqaENz
|
||||||
|
ZzhwTTA4V2xOeW55WGtPZU5FWElQNDAKLS0tIFh5ZWtmZHRBWTAvM3ZwY3pKQ0R6
|
||||||
|
aDNUbFlhWWVoOWpjVlV1VTVJejlSMjQK6wCeCRdHY5oyTX6/R1U5AOGJyp0exi1A
|
||||||
|
dWPUMfkKBBBkrR+G6ougd8o3FwFf+yfb5RhaTxxqjit6p2RyMjR64w==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
lastmodified: "2024-10-20T07:58:57Z"
|
||||||
|
mac: ENC[AES256_GCM,data:mmFgjE7rp7fXmPOnETGamHR3kUAguFCNNTQcEnD+uM4xeSp3QcB2g8tkKYaJAjkWWqKRSm9/Iu1NWOr9GWyu4O1h7ppWSvpKawWki6cHpqBl8JOwbx/SZi5bzU1lBtoJyT6hD1aCu9ENOMUkpPY3rKcYwbsRMJpKYsbXymPikcQ=,iv:kPB6ds8c4yc/w7Ny1d3DTyztQF4yTr0NyKgIHEzIKAg=,tag:VTpXRb5HaWDjVB52K7mByw==,type:str]
|
||||||
|
pgp: []
|
||||||
|
unencrypted_suffix: _unencrypted
|
||||||
|
version: 3.8.1
|
|
@ -1,24 +0,0 @@
|
||||||
Hugo:
|
|
||||||
ssh: ENC[AES256_GCM,data:Qi4YEvG64lJqhISMNtuC0mM02TU5KPpzdgs8x2UJwxAxus4+Aa3nIttkbcbKxtobL7ohKcMFGq7bBdj+s4zbctctknHdjiwj1caDoD7+Fm5H0RWLe7yjt5e4IxRywN8cNF59FfINl2tMutuENOzSucjHIXTKSV/ARZzwhcyZkQy//YvlReUSrUNaNkVM1VtjVILOToAXGzQx5w74eX+9JYV9FtZRTbr/spule+UDDtPZaaiFZmFfE5YjULFPaZJo2iUiirKalPodxfIar9eXzoN+bOQbz2Xys1QHNEt2cwWjERruCsojiyA+XeYFreWEWGggSEXizxv7cS5ab1e9XqtWR+u3Gdy/t1/cjoMBVXuLxQ+BwTlAO8NDgRbW0aq8q5yOsPCjShI/N4EVN5qtMUT1+mYZLCiZPPXbLBIiyqIWea/Ru8iIo7+WoF2iDBgshwnw8+uGDFfwlNh3SAwMSQOcGg06+U17PeU56Q/wqID2lEMDgGfHdqObvMlae1q+Qa9cwrp4xDw5S42NlgVaNcovUav5US5kO43r,iv:xvuRv4sqLRGv9npIVjnGV7zDPzIyS58ZKN2T23BmMZs=,tag:iGnBzgRhREEfKjE/ea5Drw==,type:str]
|
|
||||||
Gitea:
|
|
||||||
ssh: ENC[AES256_GCM,data:digqDmnEPg/Zn9Xt7+Z/R9lTBs6CeOgHgIhstWxHnvucwshUO7Zu+l80YPyzAck0pO5YIKML8hjAqj30lYqSPRzG1uRpT7likCy15MqyyQ64U+5PGQRNhybo1eYoqVFYd2sYc5xzkve1b8zCDfxj2mbmRYETYSidHZLaDilq6iKtWWSX+mnTXqJ2gIj+J7pfFBOHskWglnrVdj93AOdpG6cmnvzE7ey8SrMt9t0GzmRFAvjP3slio8NTsI97fu3isF0phGoh8q9tGGRnRMDq3E33zzntT3jawtWiib9ZCxuJ8Zhwc1fIF07YfBJ+sZJ7Kau1205NFJtISGbVhVmpD9kQdoFwYQxYJuvPcDYyIYH/K86bYnBmJWRCwbTh7Es7DCCC90VY/yMjRNoYvjupjhuHKGXE8O/Y8weERZ+GuZ8BSxFwU81YK9mcQyw+Z+MdAFsZEhR7cpxRkty2INKxOdX8wJGVw3A1cInwuiBjLiED0ndh39RqJbE8DUQAJgngSbYK52rCadjhs2xf+tPiDatsDMAHU2DpyDcz,iv:Dh9hhr1mp+gXA1eUvsJVb5opbaEtdRMKAd4HQSQlOpc=,tag:k4M96tstNATvyFe6xF2IzQ==,type:str]
|
|
||||||
sops:
|
|
||||||
kms: []
|
|
||||||
gcp_kms: []
|
|
||||||
azure_kv: []
|
|
||||||
hc_vault: []
|
|
||||||
age:
|
|
||||||
- recipient: age1fva6s64s884z0q2w7de024sp69ucvqu0pg9shrhhqsn3ewlpjfpsh6md7y
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYWWFUdnpERVlkK29TQ09k
|
|
||||||
SnJMVm5rUEV6S0huSzJ2YjFFQ3pNR0pmZWprClZEVDloeDE2ODNkMVVJTUtqaENz
|
|
||||||
ZzhwTTA4V2xOeW55WGtPZU5FWElQNDAKLS0tIFh5ZWtmZHRBWTAvM3ZwY3pKQ0R6
|
|
||||||
aDNUbFlhWWVoOWpjVlV1VTVJejlSMjQK6wCeCRdHY5oyTX6/R1U5AOGJyp0exi1A
|
|
||||||
dWPUMfkKBBBkrR+G6ougd8o3FwFf+yfb5RhaTxxqjit6p2RyMjR64w==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
lastmodified: "2023-10-05T19:05:15Z"
|
|
||||||
mac: ENC[AES256_GCM,data:8xMV6RkmXpt2uY07E+59ZXwTwTL6oqo9j5sFOxejwnFU06MGW9t1h/5HFg+GKpp3Jj1LT6a7uuyip6bDGCMEhI054sTv2uDlOIFd4nbHwOh+keEH/FLa8csTq4yyisROsaXUUCtWxraGXz0MQXT8xlQMT7Pn0x43JssmPhOwrRo=,iv:JKNsroIAxvV5V23at/DsDdud5idVn5IEQHrgeFHR3fQ=,tag:XY0hikk4yvqfynPI8q+GBg==,type:str]
|
|
||||||
pgp: []
|
|
||||||
unencrypted_suffix: _unencrypted
|
|
||||||
version: 3.7.3
|
|
|
@ -5,6 +5,7 @@ UGent:
|
||||||
ssh: ENC[AES256_GCM,data:A4ir0yvCgIVJCl4C5fB4+WhJVj6Go9XWfjw1/lOaWr2rP+tVNnjGuv/d47z55Gxose5keYX2wRMet/M2Re18+5ckFTyfT4YkcHtQCyBGbmwYmIzxcaxinNsCuOelEdNnFnYW2ha0aJ8Q5Xjfpec1YqDrCT/Add3qGRzBizQJ1FajbyhxJOKLYvUrYvLZ8+XE8SUndvjQnVig3ArUm2hDFsEMm4ClZ4T+EwcIuWrS8ia7ZoqlQhglEtlSEczE65a6hQAFeXE64YC3s8kWlRGhRqJQXjB5g/UTkOht3Vrw2cNzrz90tR9vhooOEBEI6d8F8RJGkdyUe5zod1eKnE/lwOFhhTbzrGrYzX4oUrDIL+Dx9+R9mQchv9qSau1JtKDvzkYmqVVgTC6wE98gTRSBw78f0MKO27FA3diC/k3t+mwsKVRjcvlTUcbRcFAxjq/U5TbOq5jOgA41dI9KE/+bnJoLRh81m/sq9EqMTp90wDKn+jjCn7lGcGDwtaaTlbLIGIw5u9pcfD4UyvJZamnS96JAhsDUqk+fxb05,iv:jPCdaC7CahKrj3tvzZTs1ZI/3+zuCCqIdXp3vo9l/iY=,tag:DeUdWEZHpsB1AMD2AQuiTg==,type:str]
|
ssh: ENC[AES256_GCM,data:A4ir0yvCgIVJCl4C5fB4+WhJVj6Go9XWfjw1/lOaWr2rP+tVNnjGuv/d47z55Gxose5keYX2wRMet/M2Re18+5ckFTyfT4YkcHtQCyBGbmwYmIzxcaxinNsCuOelEdNnFnYW2ha0aJ8Q5Xjfpec1YqDrCT/Add3qGRzBizQJ1FajbyhxJOKLYvUrYvLZ8+XE8SUndvjQnVig3ArUm2hDFsEMm4ClZ4T+EwcIuWrS8ia7ZoqlQhglEtlSEczE65a6hQAFeXE64YC3s8kWlRGhRqJQXjB5g/UTkOht3Vrw2cNzrz90tR9vhooOEBEI6d8F8RJGkdyUe5zod1eKnE/lwOFhhTbzrGrYzX4oUrDIL+Dx9+R9mQchv9qSau1JtKDvzkYmqVVgTC6wE98gTRSBw78f0MKO27FA3diC/k3t+mwsKVRjcvlTUcbRcFAxjq/U5TbOq5jOgA41dI9KE/+bnJoLRh81m/sq9EqMTp90wDKn+jjCn7lGcGDwtaaTlbLIGIw5u9pcfD4UyvJZamnS96JAhsDUqk+fxb05,iv:jPCdaC7CahKrj3tvzZTs1ZI/3+zuCCqIdXp3vo9l/iY=,tag:DeUdWEZHpsB1AMD2AQuiTg==,type:str]
|
||||||
SubGit:
|
SubGit:
|
||||||
ssh: ENC[AES256_GCM,data:hJAle4DHJNvX569reclBG5rEdWsjAyV2TtHYMiPfky/dMKJkYgT4+T0doLfUn1O6at77kJGPmwUEvmK819DUuvHtNY7c6angV7iLygJ/ThI1FIFOKH+NxEsI3scoT0VDDybHpgice/fcJL1tMcvE74+dWOnZ2r4pxcMJEFHUPVVWcl9/stJLn78OonsyWpj8PglcnYFOfZ6THIe3lyNBxRp7XEweuwjacthGzOzNu3Z95zcCAnAokFVZ570glJNhjJVNEmPHZkHOcGiGNNM4JNbR11v+dOYtac942t/mmmWwAzbznuu8ZLupYWjdg/f07ftkPAwFwCoXblZ3708Lvf6uOt/CPeWvEII2Haf1Cr5w+U6TAt14zzL73xCSQqwz1TfkcmD+bJplmtcpSP/KX8/BRK7qr6Ec5T9ecbraRB7zDBg0X2x51DSHLrA7UIhpI9JNaOArU5UOVYTWwuzFiGG61elJMcPZ5vWEVrTCocfa4INPo4B2MkFbbsYf6xnY1L3Wc9LQjkff6aCqYnQaXZ/WfPWepf9YvYG1,iv:0Bm1r0FuJJKKmcbTiPL36rb5FaMZfOO7Mx8pXU2FSfg=,tag:0ShoJPJUx37mEAus+mhPmw==,type:str]
|
ssh: ENC[AES256_GCM,data:hJAle4DHJNvX569reclBG5rEdWsjAyV2TtHYMiPfky/dMKJkYgT4+T0doLfUn1O6at77kJGPmwUEvmK819DUuvHtNY7c6angV7iLygJ/ThI1FIFOKH+NxEsI3scoT0VDDybHpgice/fcJL1tMcvE74+dWOnZ2r4pxcMJEFHUPVVWcl9/stJLn78OonsyWpj8PglcnYFOfZ6THIe3lyNBxRp7XEweuwjacthGzOzNu3Z95zcCAnAokFVZ570glJNhjJVNEmPHZkHOcGiGNNM4JNbR11v+dOYtac942t/mmmWwAzbznuu8ZLupYWjdg/f07ftkPAwFwCoXblZ3708Lvf6uOt/CPeWvEII2Haf1Cr5w+U6TAt14zzL73xCSQqwz1TfkcmD+bJplmtcpSP/KX8/BRK7qr6Ec5T9ecbraRB7zDBg0X2x51DSHLrA7UIhpI9JNaOArU5UOVYTWwuzFiGG61elJMcPZ5vWEVrTCocfa4INPo4B2MkFbbsYf6xnY1L3Wc9LQjkff6aCqYnQaXZ/WfPWepf9YvYG1,iv:0Bm1r0FuJJKKmcbTiPL36rb5FaMZfOO7Mx8pXU2FSfg=,tag:0ShoJPJUx37mEAus+mhPmw==,type:str]
|
||||||
|
Dwengo: ENC[AES256_GCM,data:3lsZJ5ztkGOfHFQNr54xs9evSTEAs9XHJhg6Krvz3fkT8CaGSiRW5HTCfANGhQ3wJ8kHVziwopQCJ8s93gaipAuEu5k/hYj5wYhOn6x8oDJxftMJC94JDL4eYGIXbx9GSPIy+loftfYIZcfmi6o1lQdiqRdC207Cs+p0ZTB7JSvales16IpgYKoTCRLUytd9cBrezD9gVEngW1b4wHGzai4OOTSunlOVVAgapAKsN+swN7QtMt00607Ns6gCoQDV76qAbM+6EN8PlIKwbyy9UneeTXOf0wtQpb2TM1zrVR7LOqNyXT+DUlrBLpOpYK8tPCP8y5m9DMLixrhbAXMT6pIp2XSbmcfcsuMGLJE2ev/c6PxmbjqiCGEYPC3HdAgUpNDtOMixnHEoXnMUPDJeE0MXbSFMRmzNGo7pc5gOoCFmCkV9NVQXERR6m04Bn3czRQVHfoVIc4ciPdiXpOqF8ocTnqZj7HRW8dvZz9V50ViHwOVqWLJ2a/QUMdagXlaK7zPrxPETKz47iMoMfVaUE8ePg2L5sEZHja62,iv:s/+JYSkZudTr4MnTclpNV7i5VGUlqFhdvovcFt+inSQ=,tag:4Ge0ZOc6qNObQrzS0K0WDA==,type:str]
|
||||||
sops:
|
sops:
|
||||||
kms: []
|
kms: []
|
||||||
gcp_kms: []
|
gcp_kms: []
|
||||||
|
@ -20,8 +21,8 @@ sops:
|
||||||
aDNUbFlhWWVoOWpjVlV1VTVJejlSMjQK6wCeCRdHY5oyTX6/R1U5AOGJyp0exi1A
|
aDNUbFlhWWVoOWpjVlV1VTVJejlSMjQK6wCeCRdHY5oyTX6/R1U5AOGJyp0exi1A
|
||||||
dWPUMfkKBBBkrR+G6ougd8o3FwFf+yfb5RhaTxxqjit6p2RyMjR64w==
|
dWPUMfkKBBBkrR+G6ougd8o3FwFf+yfb5RhaTxxqjit6p2RyMjR64w==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2023-10-10T06:57:11Z"
|
lastmodified: "2025-02-21T19:36:01Z"
|
||||||
mac: ENC[AES256_GCM,data:Tvwv2mqceAxi7ic3+95Y6hBMHjqVoCkYnTkEsXOrhumgXpuuB/QQ0ASEf6gbgkCLXGwnUAXsK41bIIJfFgYSk89fHw6AaXfs6a+zL2Mh5zkhMIE2bm68mFK8+/TX/e8SibbEwNZCKOcPqvaO6nK816KCmh3KKCbT9ObaB6CA/KI=,iv:YPKgYAnQ135JXou7q9jVN7b3SKIDwceKcbqiIjkqnTU=,tag:udPrEVu2F+hWkhNoEyjTYg==,type:str]
|
mac: ENC[AES256_GCM,data:NMxbxf7/UwR9akbbLgKeSLIkk+dS/an2pGzZUSbe1AJenCVFO/fiRCC5BF6xJVpFSpag/dLwo/tS64JmJ36Vqn2sQGmqn26HPXsjAgyUdpp3+anXIVOGvNHF3oCM8gEUk9+W2FsOqKuejpD7HK/IsVJEZZLbThkUS1BiptOWk84=,iv:xNBBjWADFF5itg45KnmNbZG5RN0KRpaph7iMGhf1KZg=,tag:FrDSAbvo/7QHH0g5Ik8ATw==,type:str]
|
||||||
pgp: []
|
pgp: []
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.7.3
|
version: 3.9.2
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
GitHub:
|
GitHub:
|
||||||
ssh: ENC[AES256_GCM,data:jzRpTgefhZg7Vhm8QvWNsPBko1yw56sM/XehY72lAc7aRz+dx6BGgyYbZiifd7GrGJGUbH6gWfUg8YjgVla6VRsiHCEvSK3bY0ADDwTeSUs+wuybYXQZqhivSCInVtVSNAcp99uI1QwKor289zmxcFtSZEXgU1OCSel/8br+qipAbOkzAKX1v15eigjY4OSQxXL59EuuuHEQ+vjVVv95tDv03jaNAoU9UKr0Atrny/Fn2sQn4Tmec5Q1XdvDErKhSxrAFiACkxXUwPZMHez+BUZrmkksqpzNJjYNIlmsITuOVr7Fyen9wotAwsDf96Fmz5JYLtRX9CAboUgQLdUOKprwX/xgBnFtDTSH1Qr785T1QSAZL6xdE6hNibxZO3vGeeaPC3oGB5g9x5CwTQelMdOUPKdKorCDj226o56cTc/IQxUpsULbeOyi2pMGHiTHbiQBzHpxWyQ/gBktPkF25GOFeaCu3gW+xsspX91jSKudcYdBqWUNmJcdsfHfPxPM4cZtA/sVMyoA+YcehgU7GTu9DAlxDTug/JWo,iv:5shfzmrFFVEuaYmyTkBMAw9BIFFkKz0yl1dyJWxq6Y4=,tag:CX7TBJJXCKuIPSmg9/RpGg==,type:str]
|
ssh: ENC[AES256_GCM,data:jzRpTgefhZg7Vhm8QvWNsPBko1yw56sM/XehY72lAc7aRz+dx6BGgyYbZiifd7GrGJGUbH6gWfUg8YjgVla6VRsiHCEvSK3bY0ADDwTeSUs+wuybYXQZqhivSCInVtVSNAcp99uI1QwKor289zmxcFtSZEXgU1OCSel/8br+qipAbOkzAKX1v15eigjY4OSQxXL59EuuuHEQ+vjVVv95tDv03jaNAoU9UKr0Atrny/Fn2sQn4Tmec5Q1XdvDErKhSxrAFiACkxXUwPZMHez+BUZrmkksqpzNJjYNIlmsITuOVr7Fyen9wotAwsDf96Fmz5JYLtRX9CAboUgQLdUOKprwX/xgBnFtDTSH1Qr785T1QSAZL6xdE6hNibxZO3vGeeaPC3oGB5g9x5CwTQelMdOUPKdKorCDj226o56cTc/IQxUpsULbeOyi2pMGHiTHbiQBzHpxWyQ/gBktPkF25GOFeaCu3gW+xsspX91jSKudcYdBqWUNmJcdsfHfPxPM4cZtA/sVMyoA+YcehgU7GTu9DAlxDTug/JWo,iv:5shfzmrFFVEuaYmyTkBMAw9BIFFkKz0yl1dyJWxq6Y4=,tag:CX7TBJJXCKuIPSmg9/RpGg==,type:str]
|
||||||
|
Gitea:
|
||||||
|
ssh: ENC[AES256_GCM,data:8eyuycMkBVMHfzaGeGs+0RA4vCpaAUTjCwiplUamypEk9BDYqxe+69O6OjJAGaPnmH4kpsb/WVd5sU6HNUogBuzDQhCrv2B6NadcmnV+fH3MHfAWvDy7R68PUkwcywWVOo65SONckjKVa0Y+8IeeJh9zpr36qCbbs+zPC4XTk+Y5R4vK/ocmSJSmwqVK1SfGGwOjFoJvHVI6jdXh//vgKaITqmyZV7N3OU9EiQp1FmNKwFf/x70w2LGATrNBcexwNy20ZYd6ewiAfJxFHR6Svfc2P5X2nlv99W5t1eU5QEGUcalcslsW/VkmFC3agN3Yry2EMIlfTlm0hm4+ryDGWEvgyUC0dLA8Ao0TLaaqig9HzBRP1h6aORe0lDwzTUg6WltrIu0s7hFwD4YLi1qP5lY99hvrDIRbTEg6AY6X4b32YFlyOXy0YDetv90+QyEcwANWO9MXz2S9hxuQmjOXMCVYMaiMLVUkG+mShbQuxTiFQt/7D83yOBSRLugx/aU318NKvUDlCt7wpZbMI3gBia4nUYLoLcXRKcAZ,iv:uc1ZtGdcolLrpQgS5n5LEAwBt0vMmkj2OuTXcn8sQ7A=,tag:F2ofcj0zEBgxwukMUd7+uw==,type:str]
|
||||||
sops:
|
sops:
|
||||||
kms: []
|
kms: []
|
||||||
gcp_kms: []
|
gcp_kms: []
|
||||||
|
@ -15,8 +17,8 @@ sops:
|
||||||
aDNUbFlhWWVoOWpjVlV1VTVJejlSMjQK6wCeCRdHY5oyTX6/R1U5AOGJyp0exi1A
|
aDNUbFlhWWVoOWpjVlV1VTVJejlSMjQK6wCeCRdHY5oyTX6/R1U5AOGJyp0exi1A
|
||||||
dWPUMfkKBBBkrR+G6ougd8o3FwFf+yfb5RhaTxxqjit6p2RyMjR64w==
|
dWPUMfkKBBBkrR+G6ougd8o3FwFf+yfb5RhaTxxqjit6p2RyMjR64w==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2023-09-11T10:23:48Z"
|
lastmodified: "2024-10-19T12:24:38Z"
|
||||||
mac: ENC[AES256_GCM,data:3XEbhFY1TlXo6bTctV2u4i6QPzXnJC6iU3F/MUARSQl1z4peOB5x8hZfdiV/hVMR8I+83TxDcEAmKDrcaMf89Tqa+OiD//wBekMUfS7AmBRhpv7X5qfarflfnygacFsAMhf/bdiqowYbGSNvlPjueqHJaFZ+3x/wPrt/jAYNlr8=,iv:ciQmY7bE+Je6kMlmxxtQvp+r3e/ZK942tT4TtXhDX2M=,tag:4+7uZlEm5bcRfZC7pp5Y7Q==,type:str]
|
mac: ENC[AES256_GCM,data:g15gV0H0rlzoeN5Z/Zkgh/8ya9GSrWDVP9oqdVz3m4obmquCLDIygsPaYpRXmfOtPSgvX2KzZ08sNLfcBZSh7eH2Ws7xcezWOntOcmAQNz5LvemqP7YuwtivMK/P4qrkME+LQPkSrSUR+rT99Zj+RQXisy91Cq9NbVBj6uQH7+I=,iv:W+oDp5Dun0g35BFprOmgfI0LoPME3HpPuuniCKA32Kc=,tag:CUU74HZuRNedyI3txn9D+g==,type:str]
|
||||||
pgp: []
|
pgp: []
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.7.3
|
version: 3.8.1
|
30
nixos/shells/c/default.nix
Normal file
30
nixos/shells/c/default.nix
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
description = "C Flake";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||||
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, flake-utils, nixpkgs }:
|
||||||
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
|
let
|
||||||
|
lib = import lib;
|
||||||
|
pkgs = import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
devShells.default = pkgs.mkShell {
|
||||||
|
packages = with pkgs; [
|
||||||
|
cmake
|
||||||
|
gcc
|
||||||
|
gnumake
|
||||||
|
valgrind
|
||||||
|
|
||||||
|
# You might want to use your own IDE.
|
||||||
|
(jetbrains.plugins.addPlugins jetbrains.clion [ "github-copilot" ])
|
||||||
|
];
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
26
nixos/shells/java/default.nix
Normal file
26
nixos/shells/java/default.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
description = "Java Flake";
|
||||||
|
|
||||||
|
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||||
|
inputs.flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, flake-utils }:
|
||||||
|
flake-utils.lib.eachDefaultSystem
|
||||||
|
( system:
|
||||||
|
let
|
||||||
|
pkgs = import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
devShells.default = pkgs.mkShell {
|
||||||
|
packages = with pkgs; [
|
||||||
|
jdk8
|
||||||
|
openjdk17
|
||||||
|
|
||||||
|
# You might want to use your own IDE.
|
||||||
|
(jetbrains.plugins.addPlugins jetbrains.idea-ultimate [ "github-copilot" ])
|
||||||
|
];
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
24
nixos/shells/latex/default.nix
Normal file
24
nixos/shells/latex/default.nix
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
description = "LaTeX Flake";
|
||||||
|
|
||||||
|
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||||
|
inputs.flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, flake-utils}:
|
||||||
|
flake-utils.lib.eachDefaultSystem
|
||||||
|
(system:
|
||||||
|
let
|
||||||
|
pkgs = import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
devShells.default = pkgs.mkShell {
|
||||||
|
packages = with pkgs; [
|
||||||
|
texlive.combined.scheme-full
|
||||||
|
pgfplots
|
||||||
|
biber
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
24
nixos/shells/rust/default.nix
Normal file
24
nixos/shells/rust/default.nix
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
description = "Rust Flake";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
||||||
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, flake-utils, nixpkgs }: flake-utils.lib.eachDefaultSystem (system:
|
||||||
|
let
|
||||||
|
pkgs = import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
devShells.default = pkgs.mkShell {
|
||||||
|
packages = with pkgs; [
|
||||||
|
cargo
|
||||||
|
rustc
|
||||||
|
];
|
||||||
|
shellHook = ''
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, pkgs-unstable, ... }:
|
{ config, inputs, lib, pkgs, pkgs-unstable, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.sisyphus.users.tdpeuter;
|
cfg = config.sisyphus.users.tdpeuter;
|
||||||
|
@ -8,7 +8,7 @@ let
|
||||||
|
|
||||||
cursor = {
|
cursor = {
|
||||||
package = pkgs.phinger-cursors;
|
package = pkgs.phinger-cursors;
|
||||||
name = "phinger-cursors";
|
name = "phinger-cursors-light";
|
||||||
size = 24;
|
size = 24;
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
|
@ -33,46 +33,24 @@ in {
|
||||||
];
|
];
|
||||||
initialPassword = "ChangeMe";
|
initialPassword = "ChangeMe";
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
};
|
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
|
||||||
corefonts # Calibri for Uni
|
|
||||||
font-awesome # Dependency of Vifm & zsh config
|
|
||||||
letter # Personal font
|
|
||||||
noto-fonts-cjk # Dependency of Zellij config
|
|
||||||
noto-fonts # Dependency of Zellij config
|
|
||||||
vistafonts # Microsoft fonts
|
|
||||||
];
|
|
||||||
|
|
||||||
sisyphus = {
|
|
||||||
programs.spotify-adblock.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home-manager.users.tdpeuter = lib.mkIf config.sisyphus.programs.home-manager.enable {
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
|
|
||||||
home = {
|
|
||||||
username = user;
|
|
||||||
homeDirectory = "/home/${user}";
|
|
||||||
inherit (config.system) stateVersion;
|
|
||||||
|
|
||||||
packages = (with pkgs; [
|
packages = (with pkgs; [
|
||||||
cmdtime # Zsh plugin
|
cmdtime # Zsh plugin
|
||||||
icosystem # Personal icon theme
|
icosystem # Personal icon theme
|
||||||
|
nextcloud-client
|
||||||
spotify-adblock
|
spotify-adblock
|
||||||
]) ++ (with pkgs-unstable; [
|
brave # Internet browser
|
||||||
brave
|
|
||||||
chafa # Terminal image viewer
|
chafa # Terminal image viewer
|
||||||
duf # Df alternative
|
duf # Df alternative
|
||||||
|
feishin # Jellyfin music client
|
||||||
foot
|
foot
|
||||||
fzf
|
fzf
|
||||||
|
gh # GitHub CLI tool
|
||||||
glow # Terminal Markdown renderer
|
glow # Terminal Markdown renderer
|
||||||
jellyfin-media-player
|
jellyfin-media-player
|
||||||
kitty
|
libreoffice-fresh # Office tools
|
||||||
libreoffice-fresh
|
librewolf # Internet browser
|
||||||
logseq
|
mpv # Media player
|
||||||
mpv
|
|
||||||
nextcloud-client
|
|
||||||
nsxiv # Lightweight image viewer
|
nsxiv # Lightweight image viewer
|
||||||
qalculate-gtk # Calculator
|
qalculate-gtk # Calculator
|
||||||
spotify
|
spotify
|
||||||
|
@ -85,17 +63,53 @@ in {
|
||||||
zsh-syntax-highlighting
|
zsh-syntax-highlighting
|
||||||
|
|
||||||
# SMB
|
# SMB
|
||||||
cifs-utils psmisc
|
cifs-utils
|
||||||
|
psmisc
|
||||||
|
|
||||||
# Linters and LSPs
|
# Linters and LSPs
|
||||||
statix # Nix
|
statix # Nix
|
||||||
ruff pylint # Python
|
# TODO Move to devshells
|
||||||
]);
|
# ruff pylint # Python
|
||||||
|
]) ++ (with pkgs-unstable; [
|
||||||
|
logseq # Note taking
|
||||||
|
]) ++ [
|
||||||
|
inputs.zen-browser.packages.${pkgs.system}.default
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
corefonts # Calibri for Uni
|
||||||
|
dejavu_fonts
|
||||||
|
font-awesome # Dependency of Vifm & zsh config
|
||||||
|
letter # Personal font
|
||||||
|
noto-fonts # Dependency of Zellij config
|
||||||
|
noto-fonts-cjk-sans # Dependency of Zellij config
|
||||||
|
noto-fonts-cjk-serif # Dependency of Zellij config
|
||||||
|
noto-fonts-emoji
|
||||||
|
noto-fonts-color-emoji # Emoji's!
|
||||||
|
vistafonts # Microsoft fonts
|
||||||
|
];
|
||||||
|
|
||||||
|
sisyphus = {
|
||||||
|
programs.spotify-adblock.enable = true;
|
||||||
|
services.remEYEnder.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager.users.tdpeuter = lib.mkIf config.sisyphus.programs.home-manager.enable {
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
home = {
|
||||||
|
username = user;
|
||||||
|
homeDirectory = "/home/${user}";
|
||||||
|
inherit (config.system) stateVersion;
|
||||||
|
|
||||||
|
# packages = (with pkgs; [
|
||||||
|
# ]) ++ (with pkgs-unstable; [
|
||||||
|
# ]);
|
||||||
|
|
||||||
pointerCursor = {
|
pointerCursor = {
|
||||||
inherit (cursor) package name size;
|
inherit (cursor) package name size;
|
||||||
gtk.enable = true;
|
gtk.enable = true;
|
||||||
x11.enable = true;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -126,9 +140,12 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
gtk = {
|
services.syncthing = {
|
||||||
enable = true;
|
enable = true;
|
||||||
cursorTheme = cursor;
|
extraOptions = [
|
||||||
|
"--no-default-folder"
|
||||||
|
];
|
||||||
|
tray.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg = {
|
xdg = {
|
||||||
|
|
|
@ -17,7 +17,7 @@ in {
|
||||||
source = ../../../stow/alacritty/.config/alacritty;
|
source = ../../../stow/alacritty/.config/alacritty;
|
||||||
};
|
};
|
||||||
".config/dunst" = {
|
".config/dunst" = {
|
||||||
inherit (config.sisyphus.desktop.sway) enable;
|
enable = config.sisyphus.desktop.hyprland.enable || config.sisyphus.desktop.sway.enable;
|
||||||
source = ../../../stow/dunst/.config/dunst;
|
source = ../../../stow/dunst/.config/dunst;
|
||||||
};
|
};
|
||||||
".config/foot" = {
|
".config/foot" = {
|
||||||
|
@ -66,20 +66,21 @@ in {
|
||||||
source = ../../../stow/vifm/.config/vifm;
|
source = ../../../stow/vifm/.config/vifm;
|
||||||
};
|
};
|
||||||
".config/waybar" = {
|
".config/waybar" = {
|
||||||
inherit (config.sisyphus.desktop.sway) enable;
|
enable = config.sisyphus.desktop.sway.enable || config.sisyphus.desktop.hyprland.enable;
|
||||||
source = ../../../stow/waybar/.config/waybar;
|
source = ../../../stow/waybar/.config/waybar;
|
||||||
};
|
};
|
||||||
".config/zellij" = {
|
".config/zellij" = {
|
||||||
source = ../../../stow/zellij/.config/zellij;
|
source = ../../../stow/zellij/.config/zellij;
|
||||||
};
|
};
|
||||||
".oh-my-zsh" = {
|
".gnupg" = {
|
||||||
enable = config.users.users.tdpeuter.shell == pkgs.zsh;
|
enable = false;
|
||||||
source = "${pkgs.oh-my-zsh}/share/oh-my-zsh";
|
# inherit (config.programs.gnupg.agent) enable; # TODO Enable Me
|
||||||
|
source = ../../../stow/gnupg/.gnupg;
|
||||||
recursive = true;
|
recursive = true;
|
||||||
};
|
# onChange = ''
|
||||||
".oh-my-zsh/themes/tdpeuter.zsh-theme" = {
|
# chmod 700 /home/tdpeuter/.gnupg
|
||||||
enable = config.users.users.tdpeuter.shell == pkgs.zsh;
|
# chmod 600 /home/tdpeuter/.gnupg/*
|
||||||
source = ../../../stow/zsh/.oh-my-zsh/themes/tdpeuter.zsh-theme;
|
# '';
|
||||||
};
|
};
|
||||||
".ssh/config" = lib.mkIf config.sisyphus.programs.ssh.enable {
|
".ssh/config" = lib.mkIf config.sisyphus.programs.ssh.enable {
|
||||||
inherit (config.sisyphus.programs.ssh) enable;
|
inherit (config.sisyphus.programs.ssh) enable;
|
||||||
|
@ -97,6 +98,15 @@ in {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
(lib.mkIf (config.users.users.tdpeuter.shell == pkgs.zsh) {
|
(lib.mkIf (config.users.users.tdpeuter.shell == pkgs.zsh) {
|
||||||
|
".oh-my-zsh" = {
|
||||||
|
enable = config.users.users.tdpeuter.shell == pkgs.zsh;
|
||||||
|
source = "${pkgs.oh-my-zsh}/share/oh-my-zsh";
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
|
".oh-my-zsh/themes/tdpeuter.zsh-theme" = {
|
||||||
|
enable = config.users.users.tdpeuter.shell == pkgs.zsh;
|
||||||
|
source = ../../../stow/zsh/.oh-my-zsh/themes/tdpeuter.zsh-theme;
|
||||||
|
};
|
||||||
".zshrc" = {
|
".zshrc" = {
|
||||||
source = ../../../stow/zsh/.zshrc;
|
source = ../../../stow/zsh/.zshrc;
|
||||||
};
|
};
|
||||||
|
|
|
@ -18,7 +18,16 @@ in {
|
||||||
DisableFirefoxStudies = true;
|
DisableFirefoxStudies = true;
|
||||||
DisablePocket = true;
|
DisablePocket = true;
|
||||||
DisableTelemetry = true;
|
DisableTelemetry = true;
|
||||||
|
FirefoxHome = {
|
||||||
|
SponsoredTopSites = false;
|
||||||
|
SponsoredPocket = false;
|
||||||
|
};
|
||||||
OfferToSaveLogins = false;
|
OfferToSaveLogins = false;
|
||||||
|
|
||||||
|
# https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265
|
||||||
|
ExtensionSettings = {
|
||||||
|
"amazom@search.mozilla.org".installation_mode = "blocked";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Support smart cards
|
# Support smart cards
|
||||||
|
@ -27,13 +36,17 @@ in {
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
languagePacks = [
|
||||||
|
"en-GB"
|
||||||
|
"nl"
|
||||||
|
];
|
||||||
|
|
||||||
profiles.tdpeuter.search= {
|
profiles.tdpeuter.search= {
|
||||||
default = "DuckDuckGo";
|
default = "DuckDuckGo";
|
||||||
force = true;
|
force = true;
|
||||||
engines = {
|
engines = {
|
||||||
"Bing".metaData.hidden = true;
|
"Bing".metaData.hidden = true;
|
||||||
"eBay".metaData.hidden = true;
|
"eBay".metaData.hidden = true;
|
||||||
"Qwant".metaData.hidden = true;
|
|
||||||
|
|
||||||
"Nix Packages" = {
|
"Nix Packages" = {
|
||||||
urls = [{
|
urls = [{
|
||||||
|
@ -47,6 +60,17 @@ in {
|
||||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
definedAliases = [ "@np" ];
|
definedAliases = [ "@np" ];
|
||||||
};
|
};
|
||||||
|
"NixOS Options" = {
|
||||||
|
urls = [{
|
||||||
|
template = "https://search.nixos.org/options";
|
||||||
|
params = [
|
||||||
|
{ name = "query"; value = "{searchTerms}"; }
|
||||||
|
];
|
||||||
|
}];
|
||||||
|
|
||||||
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
|
definedAliases = [ "@no" ];
|
||||||
|
};
|
||||||
"GitHub" = {
|
"GitHub" = {
|
||||||
urls = [{
|
urls = [{
|
||||||
template = "https://github.com/search";
|
template = "https://github.com/search";
|
||||||
|
|
|
@ -8,13 +8,17 @@ let
|
||||||
Met vriendelijke groeten
|
Met vriendelijke groeten
|
||||||
Tibo De Peuter
|
Tibo De Peuter
|
||||||
'';
|
'';
|
||||||
UGent = ''
|
english = ''
|
||||||
|
Kind regards
|
||||||
|
Tibo De Peuter
|
||||||
|
'';
|
||||||
|
academic = ''
|
||||||
Met vriendelijke groeten
|
Met vriendelijke groeten
|
||||||
Tibo De Peuter
|
Tibo De Peuter
|
||||||
|
|
||||||
Student 2Ba/3Ba Informatica
|
Student Ma Informatica
|
||||||
'';
|
'';
|
||||||
MrFortem = ''
|
alias = ''
|
||||||
Kind regards
|
Kind regards
|
||||||
MrFortem Fiducia
|
MrFortem Fiducia
|
||||||
'';
|
'';
|
||||||
|
@ -61,7 +65,7 @@ in {
|
||||||
realName = config.users.users.tdpeuter.description;
|
realName = config.users.users.tdpeuter.description;
|
||||||
signature = {
|
signature = {
|
||||||
showSignature = "append";
|
showSignature = "append";
|
||||||
text = signatures.UGent;
|
text = signatures.academic;
|
||||||
};
|
};
|
||||||
|
|
||||||
thunderbird = {
|
thunderbird = {
|
||||||
|
@ -69,7 +73,7 @@ in {
|
||||||
settings = id: {
|
settings = id: {
|
||||||
"mail.server.server_${id}.authMethod" = 10;
|
"mail.server.server_${id}.authMethod" = 10;
|
||||||
"mail.smtpserver.smtp_${id}.authMethod" = 10;
|
"mail.smtpserver.smtp_${id}.authMethod" = 10;
|
||||||
"mail.identity.id_${id}.htmlSigText" = signatures.UGent;
|
"mail.identity.id_${id}.htmlSigText" = signatures.academic;
|
||||||
|
|
||||||
# Allow PGP
|
# Allow PGP
|
||||||
"mail.identity.id_${id}.openpgp_key_id" = "9B11F5243089DB5B"; # Your 'master' key
|
"mail.identity.id_${id}.openpgp_key_id" = "9B11F5243089DB5B"; # Your 'master' key
|
||||||
|
@ -109,7 +113,7 @@ in {
|
||||||
settings = id: {
|
settings = id: {
|
||||||
"mail.server.server_${id}.directory" = ".thunderbird/tdpeuter/ImapMail/imap.gmail.com-mrfortem";
|
"mail.server.server_${id}.directory" = ".thunderbird/tdpeuter/ImapMail/imap.gmail.com-mrfortem";
|
||||||
"mail.server.server_${id}.directory-rel" = "[ProfD]ImapMail/imap.gmail.com-mrfortem";
|
"mail.server.server_${id}.directory-rel" = "[ProfD]ImapMail/imap.gmail.com-mrfortem";
|
||||||
"mail.identity.id_${id}.htmlSigText" = signatures.MrFortem;
|
"mail.identity.id_${id}.htmlSigText" = signatures.alias;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -7,9 +7,14 @@ in {
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
sops.secrets = lib.mkIf config.sisyphus.programs.sops.enable (
|
sops.secrets = lib.mkIf config.sisyphus.programs.sops.enable (
|
||||||
let
|
let
|
||||||
Hugo = {
|
HomeLab = {
|
||||||
format = "yaml";
|
format = "yaml";
|
||||||
sopsFile = ../../secrets/Hugo.yaml;
|
sopsFile = ../../secrets/HomeLab.yaml;
|
||||||
|
owner = user;
|
||||||
|
};
|
||||||
|
personal = {
|
||||||
|
format = "yaml";
|
||||||
|
sopsFile = ../../secrets/personal.yaml;
|
||||||
owner = user;
|
owner = user;
|
||||||
};
|
};
|
||||||
UGent = {
|
UGent = {
|
||||||
|
@ -18,17 +23,19 @@ in {
|
||||||
owner = user;
|
owner = user;
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
"Hugo/ssh" = Hugo;
|
|
||||||
"UGent/HPC/ssh" = UGent;
|
"UGent/HPC/ssh" = UGent;
|
||||||
|
"UGent/Dwengo" = UGent;
|
||||||
|
|
||||||
"GitHub/ssh" = {
|
# Git authentication
|
||||||
format = "yaml";
|
"Gitea/ssh" = personal;
|
||||||
sopsFile = ../../secrets/GitHub.yaml;
|
"GitHub/ssh" = personal;
|
||||||
owner = user;
|
|
||||||
};
|
|
||||||
"Hugo/Gitea/ssh" = Hugo;
|
|
||||||
"UGent/GitHub/ssh" = UGent;
|
"UGent/GitHub/ssh" = UGent;
|
||||||
"UGent/SubGit/ssh" = UGent;
|
"UGent/SubGit/ssh" = UGent;
|
||||||
|
|
||||||
|
# HomeLab
|
||||||
|
"HomeLab/Gitea/ssh" = HomeLab;
|
||||||
|
"HomeLab/Hugo/ssh" = HomeLab;
|
||||||
|
"HomeLab/Nextcloud/ssh" = HomeLab;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
# Script to toggle Do not disturb mode for dunst
|
|
||||||
|
|
||||||
# Get current state
|
|
||||||
if [ "$( command -v dunstctl )" ]; then
|
|
||||||
current_state="$( dunstctl is-paused )"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Toggle
|
|
||||||
if [ "${current_state}" == "false" ] ; then
|
|
||||||
notify-send 'Hiding notifications'
|
|
||||||
sleep 5
|
|
||||||
# makoctl set-mode do-not-disturb
|
|
||||||
dunstctl set-paused true
|
|
||||||
else
|
|
||||||
# makoctl set-mode default
|
|
||||||
dunstctl set-paused false
|
|
||||||
notify-send 'Showing notifications'
|
|
||||||
fi
|
|
|
@ -22,15 +22,15 @@ while getopts ":bvt:p:" options; do
|
||||||
;;
|
;;
|
||||||
v)
|
v)
|
||||||
# Get volume (don't use pamixer because that is way slower)
|
# Get volume (don't use pamixer because that is way slower)
|
||||||
value=$( amixer sget 'Master' \
|
value=$( pactl get-sink-volume @DEFAULT_SINK@ \
|
||||||
| grep -o '\[[0-9]*%\]' \
|
| grep -o '[0-9]*%' \
|
||||||
| tr -d '][%' \
|
| tr -d '%' \
|
||||||
| head -n1 )
|
| head -n1 )
|
||||||
title="Volume: ${value}%"
|
title="Volume: ${value}%"
|
||||||
category='sysinfo'
|
category='sysinfo'
|
||||||
|
|
||||||
# If audio disabled, set value to zero.
|
# If audio disabled, set value to zero.
|
||||||
if [ "$( amixer sget 'Master' | grep -o '\[\(on\|off\)\]' | head -n1 )" == "[off]" ] ; then
|
if [ "$( pactl get-sink-mute @DEFAULT_SINK@ | grep -o '\(yes\|no\)' | head -n1 )" == 'yes' ] ; then
|
||||||
title="Volume: ${value}% (Disabled)"
|
title="Volume: ${value}% (Disabled)"
|
||||||
value=0
|
value=0
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -48,14 +48,14 @@ while getopts ":m:g" option; do
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
g)
|
g)
|
||||||
previous_theme="$(cat ${STATE_FILE})"
|
current_state="$(cat "${STATE_FILE}")"
|
||||||
if [ "${previous_theme}" == "${THEME_LIGHT}" ]; then
|
next_state="${theme_next[${current_state}]}"
|
||||||
class="activated"
|
if [ "${current_state}" == "${THEME_DARK}" ]; then
|
||||||
percentage=1
|
class='activated'
|
||||||
else
|
percentage=100
|
||||||
percentage=0
|
|
||||||
fi
|
fi
|
||||||
printf '{ "class": "%s", "percentage": %d }' "${class}" "${percentage}"
|
printf '{"alt": "%s", "tooltip": "Set theme to %s", "percentage": %d, "class": "%s"}' \
|
||||||
|
"${gsettings_alt[${current_state}]}" "${next_state}" "${percentage:=0}" "${class:="none"}"
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
@ -119,7 +119,12 @@ fi
|
||||||
# Sway
|
# Sway
|
||||||
if [ "$(command -v swaybg)" ]; then
|
if [ "$(command -v swaybg)" ]; then
|
||||||
bg_path="${BG_DIR}/${wallpaper[${theme}]}"
|
bg_path="${BG_DIR}/${wallpaper[${theme}]}"
|
||||||
/run/current-system/sw/bin/cp "${bg_path}" "${STATE_DIR}/bg" && swaymsg reload &
|
/run/current-system/sw/bin/cp "${bg_path}" "${STATE_DIR}/bg"
|
||||||
|
if [ "$(command -v swaymsg)" ]; then
|
||||||
|
pkill swaybg && swaymsg exec "swaybg -m fill -i ${STATE_DIR}/bg" &
|
||||||
|
elif [ "$(command -v hyprctl)" ]; then
|
||||||
|
pkill swaybg && hyprctl keyword exec "swaybg -m fill -i ${STATE_DIR}/bg" &
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Vifm
|
# Vifm
|
||||||
|
|
48
scripts/toggle-notifications.sh
Executable file
48
scripts/toggle-notifications.sh
Executable file
|
@ -0,0 +1,48 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
# Script to toggle Do not disturb mode for dunst
|
||||||
|
|
||||||
|
# Get current state
|
||||||
|
if [ "$( command -v dunstctl )" ]; then
|
||||||
|
current_state="$( dunstctl is-paused )"
|
||||||
|
fi
|
||||||
|
|
||||||
|
while getopts ":g" option; do
|
||||||
|
case "${option}" in
|
||||||
|
g)
|
||||||
|
if [ "${current_state}" == "false" ]; then
|
||||||
|
state='normal'
|
||||||
|
tooltip='Hide notifications'
|
||||||
|
class='none'
|
||||||
|
else
|
||||||
|
state='paused'
|
||||||
|
tooltip='Show notifications'
|
||||||
|
class='activated'
|
||||||
|
fi
|
||||||
|
printf '{"alt": "%s", "tooltip": "%s", "class": "%s" }' \
|
||||||
|
"${state}" "${tooltip}" "${class}"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# Toggle
|
||||||
|
if [ "${current_state}" == "false" ] ; then
|
||||||
|
notify-send 'Hiding notifications'
|
||||||
|
sleep 5
|
||||||
|
|
||||||
|
if [ "$(command -v makoctl)" ]; then
|
||||||
|
makoctl set-mode do-not-disturb
|
||||||
|
fi
|
||||||
|
if [ "$(command -v dunstctl)" ]; then
|
||||||
|
dunstctl set-paused true
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ "$(command -v makoctl)" ]; then
|
||||||
|
makoctl set-mode default
|
||||||
|
fi
|
||||||
|
if [ "$(command -v dunstctl)" ]; then
|
||||||
|
dunstctl set-paused false
|
||||||
|
fi
|
||||||
|
|
||||||
|
notify-send 'Showing notifications'
|
||||||
|
fi
|
41
scripts/toggle-tailscale.sh
Executable file
41
scripts/toggle-tailscale.sh
Executable file
|
@ -0,0 +1,41 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
# Script to toggle Do not disturb mode for dunst
|
||||||
|
|
||||||
|
STOPPED_MSG='Tailscale is stopped'
|
||||||
|
|
||||||
|
# Check if tailscale is installed
|
||||||
|
if [ ! "$( command -v tailscale )" ]; then
|
||||||
|
echo 'Tailscale is not installed!'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get current state
|
||||||
|
status="$( tailscale status )"
|
||||||
|
current_state="$( grep -o "${STOPPED_MSG}" <<< "${status}" )"
|
||||||
|
|
||||||
|
while getopts ":g" option; do
|
||||||
|
case "${option}" in
|
||||||
|
g)
|
||||||
|
if [ "${current_state}" == "${STOPPED_MSG}" ]; then
|
||||||
|
state='disconnected'
|
||||||
|
tooltip='Connect tailnet'
|
||||||
|
else
|
||||||
|
state='connected'
|
||||||
|
tooltip="${status:='Disconnect tailnet'}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf '{"alt": "%s", "tooltip": "%q", "class": "%s" }' \
|
||||||
|
"${state}" "${tooltip}" "${state}"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# Toggle
|
||||||
|
if [ "${current_state}" == "${STOPPED_MSG}" ] ; then
|
||||||
|
notify-send 'Connecting tailnet'
|
||||||
|
notify-send 'Connected tailnet' "$( tailscale up )"
|
||||||
|
else
|
||||||
|
notify-send 'Disconnecting tailnet'
|
||||||
|
notify-send 'Disconnected tailnet' "$( tailscale down )"
|
||||||
|
fi
|
|
@ -29,7 +29,7 @@ dpi-aware=yes
|
||||||
# initial-window-size-pixels=700x500 # Or,
|
# initial-window-size-pixels=700x500 # Or,
|
||||||
# initial-window-size-chars=<COLSxROWS>
|
# initial-window-size-chars=<COLSxROWS>
|
||||||
# initial-window-mode=windowed
|
# initial-window-mode=windowed
|
||||||
pad=10x10 # optionally append 'center'
|
#pad=10x10 # optionally append 'center'
|
||||||
# resize-delay-ms=100
|
# resize-delay-ms=100
|
||||||
|
|
||||||
# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
|
# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
|
||||||
|
|
5
stow/gnupg/.gnupg/gpg-agent.conf
Normal file
5
stow/gnupg/.gnupg/gpg-agent.conf
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
enable-ssh-support
|
||||||
|
default-cache-ttl 60
|
||||||
|
default-cache-ttl-ssh 60
|
||||||
|
max-cache-ttl 120
|
||||||
|
max-cache-ttl-ssh 120
|
37
stow/gnupg/.gnupg/gpg.conf
Normal file
37
stow/gnupg/.gnupg/gpg.conf
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
# Use UTF-8 character encoding everywhere.
|
||||||
|
display-charset utf-8
|
||||||
|
utf8-strings
|
||||||
|
|
||||||
|
# When verifying a signature made from a subkey, require that the
|
||||||
|
# cross-certification "back signature" on the subkey is present and valid.
|
||||||
|
require-cross-certification
|
||||||
|
|
||||||
|
# Method references
|
||||||
|
personal-cipher-preferences AES256 AES192 AES
|
||||||
|
personal-digest-preferences SHA512 SHA384 SHA256
|
||||||
|
personal-compress-preferences ZLIB BZIP2 ZIP Uncompressed
|
||||||
|
|
||||||
|
# New keys config
|
||||||
|
default-preference-list SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed
|
||||||
|
cert-digest-algo SHA512
|
||||||
|
|
||||||
|
# Symmatric ops
|
||||||
|
s2k-digest-algo SHA512
|
||||||
|
s2k-cipher-algo AES256
|
||||||
|
# Disable cahcing of passphrase for symmatrical ops
|
||||||
|
no-symkey-cache
|
||||||
|
|
||||||
|
# Don't leak comments or software version information
|
||||||
|
no-comments
|
||||||
|
no-emit-version
|
||||||
|
|
||||||
|
# Display full fingerprints
|
||||||
|
keyid-format 0xlong
|
||||||
|
with-fingerprint
|
||||||
|
|
||||||
|
# Other display preferences
|
||||||
|
list-options show-uid-validity
|
||||||
|
verify-options show-uid-validity
|
||||||
|
|
||||||
|
# Enable smart card
|
||||||
|
use-agent
|
7
stow/gnupg/.gnupg/scdaemon.conf
Normal file
7
stow/gnupg/.gnupg/scdaemon.conf
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# Power down and ask PIN again after timout.
|
||||||
|
card-timeout 180 # 3 minutes
|
||||||
|
|
||||||
|
# Fix repeatedly prompting for an already-inserted YubiKey.
|
||||||
|
# It works by disabling CCID-support, so it does not clash with pcsc.
|
||||||
|
disable-ccid
|
||||||
|
|
|
@ -1,21 +1,21 @@
|
||||||
Host Hugo
|
|
||||||
User admin
|
|
||||||
HostName 192.168.0.11
|
|
||||||
IdentitiesOnly yes
|
|
||||||
IdentityFile /run/secrets/Hugo/ssh
|
|
||||||
|
|
||||||
Host HPC
|
Host HPC
|
||||||
User vsc44995
|
User vsc44995
|
||||||
HostName login.hpc.ugent.be
|
HostName login.hpc.ugent.be
|
||||||
IdentitiesOnly yes
|
IdentitiesOnly yes
|
||||||
IdentityFile /run/secrets/UGent/HPC/ssh
|
IdentityFile /run/secrets/UGent/HPC/ssh
|
||||||
|
|
||||||
|
Host Dwengo
|
||||||
|
User tibo
|
||||||
|
HostName sel2-1.ugent.be
|
||||||
|
IdentitiesOnly yes
|
||||||
|
IdentityFile /run/secrets/UGent/Dwengo
|
||||||
|
|
||||||
# Git authentication
|
# Git authentication
|
||||||
Host git.depeuter.dev
|
Host git.depeuter.dev
|
||||||
User git
|
User git
|
||||||
HostName git.depeuter.dev
|
HostName git.depeuter.dev
|
||||||
IdentitiesOnly yes
|
IdentitiesOnly yes
|
||||||
IdentityFile /run/secrets/Hugo/Gitea/ssh
|
IdentityFile /run/secrets/Gitea/ssh
|
||||||
|
|
||||||
Host github.com
|
Host github.com
|
||||||
User git
|
User git
|
||||||
|
@ -36,3 +36,21 @@ Host subgit.ugent.be
|
||||||
IdentityFile /run/secrets/UGent/SubGit/ssh
|
IdentityFile /run/secrets/UGent/SubGit/ssh
|
||||||
CanonicalizeHostname yes # Ignore capitalization
|
CanonicalizeHostname yes # Ignore capitalization
|
||||||
|
|
||||||
|
# HomeLab
|
||||||
|
Host Gitea
|
||||||
|
User admin
|
||||||
|
HostName 192.168.0.24
|
||||||
|
IdentitiesOnly yes
|
||||||
|
IdentityFile /run/secrets/HomeLab/Gitea/ssh
|
||||||
|
|
||||||
|
Host Hugo
|
||||||
|
User admin
|
||||||
|
HostName 192.168.0.11
|
||||||
|
IdentitiesOnly yes
|
||||||
|
IdentityFile /run/secrets/HomeLab/Hugo/ssh
|
||||||
|
|
||||||
|
Host Nextcloud
|
||||||
|
User administrator
|
||||||
|
Hostname 192.168.0.14
|
||||||
|
IdentitiesOnly yes
|
||||||
|
IdentityFile /run/secrets/HomeLab/Nextcloud/ssh
|
||||||
|
|
|
@ -61,5 +61,9 @@ exec wlsunset -l 50.50 -L 4.00 -t 3000 -T 6500
|
||||||
exec gnome-keyring-daemon --start --components=secrets # Secrets
|
exec gnome-keyring-daemon --start --components=secrets # Secrets
|
||||||
exec dunst --verbosity crit # Notification manager
|
exec dunst --verbosity crit # Notification manager
|
||||||
exec swayidle -w
|
exec swayidle -w
|
||||||
|
exec waycorner
|
||||||
|
|
||||||
exec nextcloud --background
|
exec nextcloud --background
|
||||||
|
|
||||||
|
# SwayFX
|
||||||
|
blur enable
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
input type:keyboard {
|
input type:keyboard {
|
||||||
xkb_layout "us"
|
xkb_layout "us","be"
|
||||||
xkb_variant "altgr-intl"
|
xkb_variant "altgr-intl","iso-alternate"
|
||||||
}
|
}
|
||||||
|
|
||||||
input type:touchpad {
|
input type:touchpad {
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
set $notify ~/projects/sisyphus/scripts/notify.sh
|
set $notify ~/projects/sisyphus/scripts/notify.sh
|
||||||
|
|
||||||
# Focus
|
|
||||||
bindsym {
|
bindsym {
|
||||||
|
|
||||||
|
# Focus
|
||||||
$flag+$up focus up
|
$flag+$up focus up
|
||||||
$flag+$right focus right
|
$flag+$right focus right
|
||||||
$flag+$down focus down
|
$flag+$down focus down
|
||||||
|
@ -14,10 +15,8 @@ bindsym {
|
||||||
|
|
||||||
$flag+p focus parent
|
$flag+p focus parent
|
||||||
$flag+space focus mode_toggle
|
$flag+space focus mode_toggle
|
||||||
}
|
|
||||||
|
|
||||||
# Move windows
|
# Move windows
|
||||||
bindsym {
|
|
||||||
$flag+Shift+$up move up
|
$flag+Shift+$up move up
|
||||||
$flag+Shift+$right move right
|
$flag+Shift+$right move right
|
||||||
$flag+Shift+$down move down
|
$flag+Shift+$down move down
|
||||||
|
@ -32,10 +31,8 @@ bindsym {
|
||||||
$flag+KP_Next move scratchpad
|
$flag+KP_Next move scratchpad
|
||||||
$flag+Prior scratchpad show
|
$flag+Prior scratchpad show
|
||||||
$flag+KP_Prior scratchpad show
|
$flag+KP_Prior scratchpad show
|
||||||
}
|
|
||||||
|
|
||||||
# Layouts
|
# Layouts
|
||||||
bindsym {
|
|
||||||
$flag+z layout toggle split
|
$flag+z layout toggle split
|
||||||
$flag+x layout tabbed
|
$flag+x layout tabbed
|
||||||
$flag+c split h
|
$flag+c split h
|
||||||
|
@ -212,6 +209,8 @@ bindsym {
|
||||||
$flag+q kill
|
$flag+q kill
|
||||||
# Start a terminal
|
# Start a terminal
|
||||||
$flag+Return exec $term
|
$flag+Return exec $term
|
||||||
|
Control+$alt+t exec $term
|
||||||
|
|
||||||
$alt+space exec $menu
|
$alt+space exec $menu
|
||||||
$alt+Tab focus prev
|
$alt+Tab focus prev
|
||||||
$flag+Tab exec $window_switcher
|
$flag+Tab exec $window_switcher
|
||||||
|
@ -224,8 +223,6 @@ bindsym {
|
||||||
|
|
||||||
# File explorer
|
# File explorer
|
||||||
$flag+e exec $term -e vifm
|
$flag+e exec $term -e vifm
|
||||||
# Internet browser
|
|
||||||
$flag+i exec firefox
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bindgesture {
|
bindgesture {
|
||||||
|
|
|
@ -5,9 +5,10 @@
|
||||||
set $default "default"
|
set $default "default"
|
||||||
|
|
||||||
# Resizing
|
# Resizing
|
||||||
set $resize "Resize"
|
set $mode_resize "Resize"
|
||||||
bindsym $flag+r mode $resize
|
bindsym $flag+r mode $mode_resize
|
||||||
mode $resize bindsym {
|
mode $mode_resize {
|
||||||
|
bindsym {
|
||||||
$right resize grow width 10 px or 10 ppt
|
$right resize grow width 10 px or 10 ppt
|
||||||
$up resize grow height 10 px or 10 ppt
|
$up resize grow height 10 px or 10 ppt
|
||||||
$left resize shrink width 10 px or 10 ppt
|
$left resize shrink width 10 px or 10 ppt
|
||||||
|
@ -38,9 +39,17 @@ mode $resize bindsym {
|
||||||
$flag+Left move left
|
$flag+Left move left
|
||||||
$flag+Down move down
|
$flag+Down move down
|
||||||
|
|
||||||
Return mode $default
|
|
||||||
Escape mode $default
|
|
||||||
$flag+r mode $default
|
$flag+r mode $default
|
||||||
|
Escape mode $default
|
||||||
|
Return mode $default
|
||||||
|
}
|
||||||
|
|
||||||
|
bindgesture {
|
||||||
|
swipe:2:right resize grow width 10 px or 10 ppt
|
||||||
|
swipe:2:down resize grow height 10 px or 10 ppt
|
||||||
|
swipe:2:left resize shrink width 10 px or 10 ppt
|
||||||
|
swipe:2:up resize shrink height 10 px or 10 ppt
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# System actions
|
# System actions
|
||||||
|
@ -53,9 +62,23 @@ mode $mode_system bindsym {
|
||||||
r mode $default, exec systemctl reboot
|
r mode $default, exec systemctl reboot
|
||||||
Shift+s mode $default, exec systemctl poweroff -i
|
Shift+s mode $default, exec systemctl poweroff -i
|
||||||
|
|
||||||
Return mode $default
|
|
||||||
Escape mode $default
|
|
||||||
Control+$alt+Delete mode $default
|
Control+$alt+Delete mode $default
|
||||||
|
Escape mode $default
|
||||||
|
Return mode $default
|
||||||
|
}
|
||||||
|
|
||||||
|
set $mode_preferences "Toggle (d)ark mode, (s)unset, (n)otification"
|
||||||
|
bindsym $alt+end mode $mode_preferences
|
||||||
|
bindsym $alt+KP_End mode $mode_preferences
|
||||||
|
mode $mode_preferences bindsym {
|
||||||
|
d exec "${SCRIPT_DIR}/toggle-light-dark.sh", mode $default
|
||||||
|
s exec "${SCRIPT_DIR}/sunset.sh", mode $default
|
||||||
|
n exec "${SCRIPT_DIR}/do-not-disturb.sh", mode $default
|
||||||
|
|
||||||
|
$alt+end mode $default
|
||||||
|
$alt+KP_End mode $default
|
||||||
|
Escape mode $default
|
||||||
|
Return mode $default
|
||||||
}
|
}
|
||||||
|
|
||||||
# Screenshots
|
# Screenshots
|
||||||
|
@ -72,20 +95,23 @@ mode $mode_screenshot bindsym {
|
||||||
Shift+s exec grimshot --notify save screen $save_format, mode $default
|
Shift+s exec grimshot --notify save screen $save_format, mode $default
|
||||||
Print exec grimshot --notify save screen $save_format, mode $default
|
Print exec grimshot --notify save screen $save_format, mode $default
|
||||||
|
|
||||||
Return mode $default
|
|
||||||
Escape mode $default
|
Escape mode $default
|
||||||
|
Return mode $default
|
||||||
}
|
}
|
||||||
|
|
||||||
set $mode_preferences "Toggle (d)ark mode, (s)unset, (n)otification"
|
# Launcher
|
||||||
bindsym $alt+end mode $mode_preferences
|
set $mode_launcher "Launch (f)irefox, (s)potify or (t)hunderbird."
|
||||||
bindsym $alt+KP_End mode $mode_preferences
|
bindsym $flag+o mode $mode_launcher
|
||||||
mode $mode_preferences bindsym {
|
mode $mode_launcher bindsym {
|
||||||
d exec "${SCRIPT_DIR}/toggle-light-dark.sh", mode $default
|
f exec firefox, mode $default
|
||||||
s exec "${SCRIPT_DIR}/sunset.sh", mode $default
|
t exec thunderbird, mode $default
|
||||||
n exec "${SCRIPT_DIR}/do-not-disturb.sh", mode $default
|
|
||||||
|
|
||||||
Return mode $default
|
$flag+o mode $default
|
||||||
Escape mode $default
|
Escape mode $default
|
||||||
$alt+end mode $default
|
Return mode $default
|
||||||
$alt+KP_End mode $default
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Ignore (all) keybinds. Useful when working with Virtual Machines.
|
||||||
|
set $mode_ignore "Ignore keybinds - Press Control+Alt+Insert to escape."
|
||||||
|
bindsym Control+$alt+Insert mode $mode_ignore
|
||||||
|
mode $mode_ignore bindsym Control+$alt+Insert mode $default
|
||||||
|
|
|
@ -15,6 +15,10 @@ default_border pixel 1
|
||||||
default_floating_border normal 1
|
default_floating_border normal 1
|
||||||
hide_edge_borders smart
|
hide_edge_borders smart
|
||||||
smart_borders on
|
smart_borders on
|
||||||
|
gaps {
|
||||||
|
inner 5
|
||||||
|
outer 3
|
||||||
|
}
|
||||||
|
|
||||||
# Mimic no titles by setting the text color to background color
|
# Mimic no titles by setting the text color to background color
|
||||||
# border backgr. text indic. child_border
|
# border backgr. text indic. child_border
|
||||||
|
|
|
@ -8,8 +8,10 @@ indicator-radius=200
|
||||||
clock
|
clock
|
||||||
datestr=%A, %B %d %Y
|
datestr=%A, %B %d %Y
|
||||||
|
|
||||||
|
show-failed-attempts
|
||||||
|
|
||||||
screenshots
|
screenshots
|
||||||
effect-blur=5x5
|
effect-pixelate=10
|
||||||
effect-vignette=0.75:0 # Darken the whole screen.
|
effect-vignette=0.75:0 # Darken the whole screen.
|
||||||
fade-in=0.25
|
fade-in=0.25
|
||||||
|
|
||||||
|
@ -18,25 +20,35 @@ grace-no-mouse
|
||||||
|
|
||||||
# Styling
|
# Styling
|
||||||
|
|
||||||
|
color=000000 # The default background color when no image could be loaded
|
||||||
|
|
||||||
font=letter extended
|
font=letter extended
|
||||||
text-color=ffffff
|
text-color=ffffff
|
||||||
text-clear-color=ffffff
|
text-clear-color=ffffff
|
||||||
text-wrong-color=eb4d4b
|
text-caps-lock-color=ffffff
|
||||||
|
text-wrong-color=bd2024
|
||||||
|
|
||||||
|
layout-text-color=ffffff
|
||||||
|
|
||||||
# Make all the other stuff invisible
|
# Make all the other stuff invisible
|
||||||
key-hl-color=00000000
|
|
||||||
separator-color=00000000
|
|
||||||
ring-color=00000000
|
|
||||||
ring-clear-color=00000000
|
|
||||||
ring-ver-color=00000000
|
|
||||||
ring-wrong-color=00000000
|
|
||||||
line-color=00000000
|
|
||||||
line-clear-color=00000000
|
|
||||||
line-ver-color=00000000
|
|
||||||
line-wrong-color=00000000
|
|
||||||
inside-color=00000000
|
inside-color=00000000
|
||||||
inside-clear-color=00000000
|
inside-clear-color=00000000
|
||||||
|
inside-caps-lock-color=00000000
|
||||||
inside-ver-color=00000000
|
inside-ver-color=00000000
|
||||||
inside-wrong-color=00000000
|
inside-wrong-color=00000000
|
||||||
|
key-hl-color=00000000
|
||||||
|
layout-bg-color=00000000
|
||||||
|
layout-border-color=00000000
|
||||||
|
line-color=00000000
|
||||||
|
line-clear-color=00000000
|
||||||
|
line-caps-lock-color=00000000
|
||||||
|
line-ver-color=00000000
|
||||||
|
line-wrong-color=00000000
|
||||||
|
ring-color=00000000
|
||||||
|
ring-clear-color=00000000
|
||||||
|
ring-caps-lock-color=00000000
|
||||||
|
ring-ver-color=00000000
|
||||||
|
ring-wrong-color=00000000
|
||||||
|
separator-color=00000000
|
||||||
text-ver-color=00000000
|
text-ver-color=00000000
|
||||||
|
|
||||||
|
|
|
@ -82,6 +82,9 @@ Plug 'prabirshrestha/vim-lsp'
|
||||||
Plug 'sheerun/vim-polyglot'
|
Plug 'sheerun/vim-polyglot'
|
||||||
Plug 'vifm/vifm.vim'
|
Plug 'vifm/vifm.vim'
|
||||||
|
|
||||||
|
" Coq
|
||||||
|
Plug 'whonore/Coqtail'
|
||||||
|
|
||||||
call plug#end()
|
call plug#end()
|
||||||
|
|
||||||
" }}}
|
" }}}
|
||||||
|
|
|
@ -1,42 +0,0 @@
|
||||||
//
|
|
||||||
// ~/.config/waybar/config
|
|
||||||
//
|
|
||||||
|
|
||||||
[{
|
|
||||||
"name": "toggle",
|
|
||||||
|
|
||||||
"mode": "hide",
|
|
||||||
"ipc": true,
|
|
||||||
|
|
||||||
"position": "top",
|
|
||||||
"height": 25,
|
|
||||||
"spacing": 4,
|
|
||||||
"margin": "-25px 0 0 0", // Show this bar on top of the other one, seemingly the "same" one.
|
|
||||||
|
|
||||||
"custom/sep": {
|
|
||||||
"format": "\uf142"
|
|
||||||
},
|
|
||||||
|
|
||||||
"include": [
|
|
||||||
// Import modules (!)
|
|
||||||
"~/.config/waybar/modules.json",
|
|
||||||
// "~/.config/waybar/default.json"
|
|
||||||
"~/.config/waybar/left.json"
|
|
||||||
],
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
"name": "keep",
|
|
||||||
"position": "top",
|
|
||||||
"height": 25,
|
|
||||||
"modules-left": ["sway/mode", "keyboard-state"],
|
|
||||||
"modules-center": ["clock"],
|
|
||||||
"modules-right": ["privacy"],
|
|
||||||
|
|
||||||
"include": [
|
|
||||||
// Import modules (!)
|
|
||||||
"~/.config/waybar/modules.json"
|
|
||||||
],
|
|
||||||
}]
|
|
||||||
|
|
60
stow/waybar/.config/waybar/config.jsonc
Normal file
60
stow/waybar/.config/waybar/config.jsonc
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
/* * * * * * * * * * * * * * * * *
|
||||||
|
* *
|
||||||
|
* ~/.config/waybar/config.jsonc *
|
||||||
|
* *
|
||||||
|
* * * * * * * * * * * * * * * * */
|
||||||
|
|
||||||
|
[
|
||||||
|
/* Always visible, contains less information */
|
||||||
|
{
|
||||||
|
"name": "keep",
|
||||||
|
"position": "top",
|
||||||
|
"height": 26,
|
||||||
|
"modules-left": [
|
||||||
|
"group/mode"
|
||||||
|
],
|
||||||
|
"modules-center": [
|
||||||
|
"clock#center"
|
||||||
|
],
|
||||||
|
"modules-right": [
|
||||||
|
"keyboard-state#numlock",
|
||||||
|
"keyboard-state#capslock",
|
||||||
|
"privacy"
|
||||||
|
],
|
||||||
|
"include": [
|
||||||
|
"~/.config/waybar/modules.json"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
/* Toggle this bar, contains all information */
|
||||||
|
{
|
||||||
|
"name": "toggle",
|
||||||
|
"mode": "hide",
|
||||||
|
"ipc": true,
|
||||||
|
"position": "top",
|
||||||
|
"height": 26,
|
||||||
|
/* Show this bar on top of the other one, seemingly replacing it. */
|
||||||
|
"margin": "-26px 0 0 0",
|
||||||
|
"modules-left": [
|
||||||
|
"custom/meta",
|
||||||
|
"sway/window",
|
||||||
|
"group/workspaces",
|
||||||
|
"custom/scratchpad-indicator",
|
||||||
|
],
|
||||||
|
"modules-center": [
|
||||||
|
"mpris"
|
||||||
|
],
|
||||||
|
"modules-right": [
|
||||||
|
"privacy",
|
||||||
|
"tray",
|
||||||
|
"group/control-center",
|
||||||
|
"group/network",
|
||||||
|
"pulseaudio",
|
||||||
|
"group/power",
|
||||||
|
"clock#bar"
|
||||||
|
],
|
||||||
|
"include": [
|
||||||
|
"~/.config/waybar/modules.json"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
|
@ -2,17 +2,15 @@
|
||||||
"modules-left": [
|
"modules-left": [
|
||||||
"sway/workspaces",
|
"sway/workspaces",
|
||||||
"custom/scratchpad-indicator",
|
"custom/scratchpad-indicator",
|
||||||
"mpris",
|
"group/system"
|
||||||
"group/system",
|
|
||||||
],
|
],
|
||||||
"modules-right": [
|
"modules-right": [
|
||||||
"group/hardware",
|
"tray",
|
||||||
"custom/sep",
|
"sway/language",
|
||||||
"bluetooth",
|
"bluetooth",
|
||||||
"network",
|
"network",
|
||||||
"pulseaudio",
|
"pulseaudio",
|
||||||
"battery",
|
"group/battery",
|
||||||
"custom/sep",
|
"mpris"
|
||||||
"tray"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
80
stow/waybar/.config/waybar/modern.css
Normal file
80
stow/waybar/.config/waybar/modern.css
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
@define-color foreground rgb(202, 202, 202);
|
||||||
|
@define-color background rgb( 3, 3, 3);
|
||||||
|
|
||||||
|
@define-color highlight-background alpha(@foreground, 0.4);
|
||||||
|
|
||||||
|
@define-color accent #00897b;
|
||||||
|
@define-color white #ecf0f1;
|
||||||
|
@define-color warning-red #eb4d4b;
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-family: letter, "Font Awesome 6 Free", font-awesome, monospace;
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
border: none;
|
||||||
|
color: @white;
|
||||||
|
|
||||||
|
transition-property: background-color;
|
||||||
|
transition-duration: .5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar.keep {
|
||||||
|
background-color: @transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar.toggle {
|
||||||
|
background-color: alpha(@foreground, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip {
|
||||||
|
background: alpha(@background, 0.8);
|
||||||
|
}
|
||||||
|
tooltip label {
|
||||||
|
color: @white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
border: none;
|
||||||
|
padding: 0 8px;
|
||||||
|
border-radius: 5px;
|
||||||
|
animation: ws_normal 20s ease-in-out 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mode,
|
||||||
|
#workspaces button.focused {
|
||||||
|
background-color: alpha(@background, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
background-color: alpha(@background, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery,
|
||||||
|
#disk,
|
||||||
|
#bluetooth,
|
||||||
|
#clock,
|
||||||
|
#custom-browser,
|
||||||
|
#custom-scratchpad-indicator,
|
||||||
|
#custom-system-hibernate, #custom-system-lock, #custom-system-reboot, #custom-system-shutdown, #custom-system-sleep,
|
||||||
|
#custom-toggle-light-dark,
|
||||||
|
#custom-toggle-night-light,
|
||||||
|
#custom-toggle-notifications,
|
||||||
|
#cpu,
|
||||||
|
#idle_inhibitor,
|
||||||
|
#keyboard-state,
|
||||||
|
#memory,
|
||||||
|
#mpris,
|
||||||
|
#network,
|
||||||
|
#sway-language,
|
||||||
|
#sway-window,
|
||||||
|
#power-profiles-daemon,
|
||||||
|
#privacy,
|
||||||
|
#pulseaudio,
|
||||||
|
#temperature,
|
||||||
|
#tray {
|
||||||
|
color: @white;
|
||||||
|
}
|
||||||
|
|
|
@ -2,31 +2,28 @@
|
||||||
"battery": {
|
"battery": {
|
||||||
"format": "{capacity}% {icon}",
|
"format": "{capacity}% {icon}",
|
||||||
"format-alt": "{time} {icon}",
|
"format-alt": "{time} {icon}",
|
||||||
"format-charging": "{capacity}% \uf0e7 {icon}",
|
"format-charging": "{capacity}% \ue55b", /* */
|
||||||
"format-icons": ["\uf244", "\uf243", "\uf242", "\uf241", "\uf240"],
|
|
||||||
"format-plugged": "{capacity}% \ue55c",
|
"format-plugged": "{capacity}% \ue55c",
|
||||||
|
"format-icons": [
|
||||||
|
"\uf244", /* */
|
||||||
|
"\uf243", /* */
|
||||||
|
"\uf242", /* */
|
||||||
|
"\uf241", /* */
|
||||||
|
"\uf240" /* */
|
||||||
|
],
|
||||||
"states": {
|
"states": {
|
||||||
"warning": 30,
|
"warning": 25,
|
||||||
"critical": 15
|
"critical": 12
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"disk": {
|
|
||||||
"interval": 30,
|
|
||||||
"format": "{percentage_used}% \uf0a0",
|
|
||||||
"on-click": "kitty -e duf /",
|
|
||||||
"path": "/",
|
|
||||||
"tooltip-format": "{used} used out of {total} on {path} ({percentage_free}% or {free} free)"
|
|
||||||
},
|
|
||||||
|
|
||||||
"bluetooth": {
|
"bluetooth": {
|
||||||
"format-disabled": "<big>\uf294</big>",
|
"format-disabled": "\uf294", /* */
|
||||||
"format-off": "\uf294",
|
"format-off": "\uf294", /* */
|
||||||
"format-on": "<big>\uf294</big>",
|
"format-on": "<big>\uf294</big>", /* */
|
||||||
"format-connected": "<big>\uf294</big>c",
|
"format-connected": "<big>\uf294</big>c", /* c */
|
||||||
"max-length": 10.3,
|
"max-length": 10.3,
|
||||||
"on-click": "bluetoothctl power $( bluetoothctl show | sed -n 's/\\s*Powered: \\(yes\\|no\\)/\\1/p' | sed 's/yes/off/;s/no/on/' )",
|
"on-click": "bluetoothctl power $( bluetoothctl show | sed -n 's/\\s*Powered: \\(yes\\|no\\)/\\1/p' | sed 's/yes/off/;s/no/on/' )",
|
||||||
"on-click-right": "kitty -e bluetoothctl",
|
|
||||||
"tooltip-format": "{status}",
|
"tooltip-format": "{status}",
|
||||||
"tooltip-format-on": "{status}, no devices connected",
|
"tooltip-format-on": "{status}, no devices connected",
|
||||||
"tooltip-format-connected": "{status} ({num_connections}):\n{device_enumerate}",
|
"tooltip-format-connected": "{status} ({num_connections}):\n{device_enumerate}",
|
||||||
|
@ -34,186 +31,354 @@
|
||||||
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}"
|
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}"
|
||||||
},
|
},
|
||||||
|
|
||||||
"clock": {
|
"clock#center": {
|
||||||
"format": "{:%H:%M}",
|
"format": "{:%H:%M}",
|
||||||
"format-alt": "{:%d/%m/%Y %H:%M}",
|
"format-alt": "{:%a %b %d, %Y, %R}",
|
||||||
"timezone": "Europe/Brussels",
|
"timezone": "Europe/Brussels",
|
||||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
|
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||||
|
"calendar": {
|
||||||
|
"mode": "month",
|
||||||
|
"week-pos": "left",
|
||||||
|
"format": {
|
||||||
|
/* Highlight todays date. */
|
||||||
|
"today": "<span background='#ffffff' color='#000000'><b>{}</b></span>"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"actions": {
|
||||||
|
"on-click": "mode"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"custom/browser": {
|
"clock#bar": {
|
||||||
"format": "\uf120",
|
"format": "{:%a %b %d, %R}",
|
||||||
"on-click": "dmenu_run",
|
"timezone": "Europe/Brussels",
|
||||||
"tooltip-format": "Launch an application"
|
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||||
|
"calendar": {
|
||||||
|
"mode-mon-col": 3,
|
||||||
|
"on-scroll": 1,
|
||||||
|
"format": {
|
||||||
|
/* Highlight today's date. */
|
||||||
|
"today": "<span background='#FFFFFF' color='#000000'><b>{}</b></span>"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"actions": {
|
||||||
|
"on-click": "mode"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"custom/light-dark-toggle": {
|
"custom/control-center": {
|
||||||
"on-click": "bash ${SCRIPT_DIR}/toggle-light-dark.sh",
|
"format": "\uf085", /* */
|
||||||
"tooltip-format": "Toggle between light and dark mode",
|
"tooltip": false
|
||||||
"format": "\uf042 ",
|
|
||||||
"tooltip": true
|
|
||||||
},
|
},
|
||||||
|
|
||||||
"custom/night-light-toggle": {
|
"custom/meta": {
|
||||||
"on-click": "bash ${SCRIPT_DIR}/sunset.sh",
|
"format": "\uf17c", /* */
|
||||||
"tooltip-format": "Toggle night-light on or off",
|
"tooltip": false,
|
||||||
"format": "\uf0eb ",
|
"on-click": "dmenu_run"
|
||||||
"tooltip": true,
|
|
||||||
"tooltip-format": "Toggle night-light on or off",
|
|
||||||
},
|
},
|
||||||
|
|
||||||
"custom/scratchpad-indicator": {
|
"custom/scratchpad-indicator": {
|
||||||
"interval": 3,
|
"interval": 3,
|
||||||
"return-type": "json",
|
"return-type": "json",
|
||||||
"exec": "swaymsg -t get_tree | jq --unbuffered --compact-output '(recurse(.nodes[]) | select(.name == \"__i3_scratch\") | .focus) as $scratch_ids | [.. | (.nodes? + .floating_nodes?) // empty | .[] | select(.id |IN($scratch_ids[]))] as $scratch_nodes | if ($scratch_nodes|length) > 0 then { text: \"\\($scratch_nodes | length)\", tooltip: $scratch_nodes | map(\"\\(.app_id // .window_properties.class) (\\(.id)): \\(.name)\") | join(\"\\n\") } else empty end'",
|
"exec": "swaymsg -t get_tree | jq --unbuffered --compact-output '(recurse(.nodes[]) | select(.name == \"__i3_scratch\") | .focus) as $scratch_ids | [.. | (.nodes? + .floating_nodes?) // empty | .[] | select(.id |IN($scratch_ids[]))] as $scratch_nodes | if ($scratch_nodes|length) > 0 then { text: \"\\($scratch_nodes | length)\", tooltip: $scratch_nodes | map(\"\\(.app_id // .window_properties.class) (\\(.id)): \\(.name)\") | join(\"\\n\") } else empty end'",
|
||||||
"format": "{} \uf2d2",
|
"format": "\uf2d2 {}",
|
||||||
"on-click": "exec swaymsg 'scratchpad show'",
|
"on-click": "exec swaymsg 'scratchpad show'",
|
||||||
"on-click-right": "exec swaymsg 'move scratchpad'"
|
"on-click-right": "exec swaymsg 'move scratchpad'"
|
||||||
},
|
},
|
||||||
|
|
||||||
"custom/system-lock": {
|
"custom/system-lock": {
|
||||||
"format": "\uf09c",
|
"format": "\uf09c", /* */
|
||||||
"tooltip": true,
|
"tooltip": true,
|
||||||
"tooltip-format": "Lock device",
|
"tooltip-format": "Lock device",
|
||||||
"on-click": "swaylock -f"
|
"on-click": "swaylock -f"
|
||||||
},
|
},
|
||||||
|
|
||||||
"custom/system-sleep": {
|
"custom/system-sleep": {
|
||||||
"format": "\uf186",
|
"format": "\uf186", /* */
|
||||||
"tooltip": true,
|
"tooltip": true,
|
||||||
"tooltip-format": "Put device to sleep",
|
"tooltip-format": "Put device to sleep",
|
||||||
"on-click": "swaylock -f; systemctl suspend"
|
"on-click": "swaylock -f; systemctl suspend"
|
||||||
},
|
},
|
||||||
|
|
||||||
"custom/system-hibernate": {
|
"custom/system-hibernate": {
|
||||||
"format": "\uf2dc",
|
"format": "\uf2dc", /* */
|
||||||
"tooltip": true,
|
"tooltip": true,
|
||||||
"tooltip-format": "Hibernate device",
|
"tooltip-format": "Hibernate device",
|
||||||
"on-click": "swaylock -f; systemctl hibernate"
|
"on-click": "swaylock -f; systemctl hibernate"
|
||||||
},
|
},
|
||||||
|
|
||||||
"custom/system-reboot": {
|
"custom/system-reboot": {
|
||||||
"format": "\uf0e2",
|
"format": "\uf0e2", /* */
|
||||||
"tooltip": true,
|
"tooltip": true,
|
||||||
"tooltip-format": "Reboot device",
|
"tooltip-format": "Reboot device",
|
||||||
"on-click": "systemctl reboot"
|
"on-click": "systemctl reboot"
|
||||||
},
|
},
|
||||||
|
|
||||||
"custom/system-shutdown": {
|
"custom/system-shutdown": {
|
||||||
"format": "\uf011",
|
"format": "\uf011", /* */
|
||||||
"tooltip": true,
|
"tooltip": true,
|
||||||
"tooltip-format": "Shutdown device",
|
"tooltip-format": "Shutdown device",
|
||||||
"on-click": "systemctl poweroff -i"
|
"on-click": "systemctl poweroff -i"
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"custom/toggle-light-dark": {
|
||||||
|
"exec": "sleep 1 && bash ~/projects/sisyphus/scripts/toggle-light-dark.sh -g",
|
||||||
|
"return-type": "json",
|
||||||
|
"on-click": "bash ~/projects/sisyphus/scripts/toggle-light-dark.sh",
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"default": "\uf185",
|
||||||
|
"prefer-dark": "\uf005"
|
||||||
|
},
|
||||||
|
"tooltip": true
|
||||||
|
},
|
||||||
|
|
||||||
"custom/toggle-notifications": {
|
"custom/toggle-notifications": {
|
||||||
"on-click": "bash ${SCRIPT_DIR}/do-not-disturb.sh",
|
"exec": "sleep 6 && bash ~/projects/sisyphus/scripts/toggle-notifications.sh -g",
|
||||||
"tooltip-format": "Toggle notifications",
|
"return-type": "json",
|
||||||
"format": "\uf1f6 ",
|
"on-click": "bash ~/projects/sisyphus/scripts/toggle-notifications.sh",
|
||||||
|
"format": "NOTIS {icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"normal": "NRML",
|
||||||
|
"paused": "PAISED"
|
||||||
|
},
|
||||||
"tooltip": true
|
"tooltip": true
|
||||||
},
|
},
|
||||||
|
|
||||||
"cpu": {
|
"custom/toggle-tailscale": {
|
||||||
"format": "{usage}% \uf2db",
|
"exec": "sleep 2 && bash ~/projects/sisyphus/scripts/toggle-tailscale.sh -g",
|
||||||
"on-click": "foot -e htop",
|
"return-type": "json",
|
||||||
|
"on-click": "bash ~/projects/sisyphus/scripts/toggle-tailscale.sh",
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"disconnected": "\ue50b",
|
||||||
|
"connected": "\ue509",
|
||||||
|
},
|
||||||
"tooltip": true
|
"tooltip": true
|
||||||
},
|
},
|
||||||
|
|
||||||
"group/hardware": {
|
"group/control-center": {
|
||||||
"orientation": "inherit",
|
"orientation": "inherit",
|
||||||
"modules": [
|
"modules": [
|
||||||
"power-profiles-daemon",
|
"custom/control-center",
|
||||||
"memory",
|
"group/language",
|
||||||
"cpu",
|
/* "hyprland/language", "sway/language", */
|
||||||
"temperature",
|
"custom/toggle-notifications",
|
||||||
|
"custom/toggle-light-dark",
|
||||||
|
"bluetooth"
|
||||||
|
],
|
||||||
|
"drawer": {
|
||||||
|
"transition-duration": 500,
|
||||||
|
"transition-left-to-right": false,
|
||||||
|
"children-class": "drawer-child"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"group/language": {
|
||||||
|
"orientation": "inherit",
|
||||||
|
"modules": [
|
||||||
|
"hyprland/language",
|
||||||
|
"sway/language"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"group/mode": {
|
||||||
|
"orientation": "inherit",
|
||||||
|
"modules": [
|
||||||
|
"hyprland/submap",
|
||||||
|
"sway/mode"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"group/network": {
|
||||||
|
"orientation": "inherit",
|
||||||
|
"modules": [
|
||||||
|
/* Preview */
|
||||||
|
"network",
|
||||||
|
/* Most-left */
|
||||||
|
"custom/toggle-tailscale"
|
||||||
|
/* Most-right */
|
||||||
|
],
|
||||||
|
"drawer": {
|
||||||
|
"transition-duration": 500,
|
||||||
|
"transition-left-to-right": false,
|
||||||
|
"children-class": "drawer-child"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"group/power": {
|
||||||
|
"orientation": "inherit",
|
||||||
|
"modules": [
|
||||||
|
/* Preview */
|
||||||
|
"battery",
|
||||||
|
/* Most-left */
|
||||||
"custom/system-shutdown",
|
"custom/system-shutdown",
|
||||||
"custom/system-reboot",
|
"custom/system-reboot",
|
||||||
"custom/system-hibernate",
|
"custom/system-hibernate",
|
||||||
"custom/system-sleep",
|
"custom/system-sleep",
|
||||||
"custom/system-lock",
|
"custom/system-lock",
|
||||||
|
"power-profiles-daemon",
|
||||||
|
"idle_inhibitor"
|
||||||
|
/* Most-right */
|
||||||
],
|
],
|
||||||
"drawer": {
|
"drawer": {
|
||||||
"transition-duration": 500,
|
"transition-duration": 500,
|
||||||
"transition-left-to-right": false,
|
"transition-left-to-right": false,
|
||||||
"children-class": "drawer-child",
|
"children-class": "drawer-child"
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"group/system": {
|
"group/workspaces": {
|
||||||
"orientation": "inherit",
|
"orientation": "inherit",
|
||||||
"modules": [
|
"modules": [
|
||||||
"idle_inhibitor",
|
"hyprland/workspaces",
|
||||||
"custom/light-dark-toggle",
|
"sway/workspaces"
|
||||||
"custom/night-light-toggle",
|
]
|
||||||
"custom/toggle-notifications",
|
|
||||||
],
|
|
||||||
"drawer": {
|
|
||||||
"transition-duration": 500,
|
|
||||||
"tansition-left-to-right": true,
|
|
||||||
"children-class": "drawer-child",
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"hyprland/language": {
|
||||||
|
"format": "\uf11c",
|
||||||
|
"on-click": "hyprctl switchxkblayout at-translated-set-2-keyboard next && notify-send \"$(hyprctl devices -j | jq -r '.keyboards[] | select(.name == \"at-translated-set-2-keyboard\") | .active_keymap')\" --app-name 'waybar'",
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format": "Switch keyboard layouts",
|
||||||
|
"keyboard-name": "at-translated-set-2-keyboard"
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
"all-outputs": false,
|
||||||
|
"disable-scroll": true,
|
||||||
|
"format": "{icon}{name}",
|
||||||
|
"format-icons": {
|
||||||
|
"default": "",
|
||||||
|
"urgent": "\uf071 " /* */
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"idle_inhibitor": {
|
"idle_inhibitor": {
|
||||||
"format": "{icon}",
|
"format": "{icon}",
|
||||||
"format-icons": {
|
"format-icons": {
|
||||||
"activated": "\uf06e",
|
"activated": "\uf06e", /* */
|
||||||
"deactivated": "\uf070"
|
"deactivated": "\uf070" /* */
|
||||||
},
|
},
|
||||||
"tooltip": false
|
"tooltip": false
|
||||||
},
|
},
|
||||||
|
|
||||||
"keyboard-state": {
|
"keyboard-state#capslock": {
|
||||||
|
"capslock": true,
|
||||||
"format": {
|
"format": {
|
||||||
"capslock": "{icon}",
|
"capslock": "{icon}"
|
||||||
},
|
},
|
||||||
"format-icons": {
|
"format-icons": {
|
||||||
"locked": "\uf023",
|
"locked": "\uf11c", /* */
|
||||||
"unlocked": ""
|
"unlocked": ""
|
||||||
},
|
}
|
||||||
"numlock": false,
|
|
||||||
"capslock": true,
|
|
||||||
"scrollock": false,
|
|
||||||
},
|
},
|
||||||
|
|
||||||
"memory": {
|
"keyboard-state#numlock": {
|
||||||
"format": "{}% \uf1c0",
|
"numlock": true,
|
||||||
"on-click": "kitty -e zenith"
|
"format": {
|
||||||
|
"numlock": "{icon}"
|
||||||
|
},
|
||||||
|
"format-icons": {
|
||||||
|
"locked": "\uf1ec", /* */
|
||||||
|
"unlocked": ""
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"mpris": {
|
"mpris": {
|
||||||
// "ignored-players": ["firefox"]
|
|
||||||
"format": "{player_icon} {dynamic}",
|
"format": "{player_icon} {dynamic}",
|
||||||
"format-paused": "{status_icon} <i>{dynamic}</i>",
|
"format-paused": "{status_icon} <i>{dynamic}</i>",
|
||||||
"tooltip-format": "{player} ({status}) {title} - {artist} - {album}",
|
"tooltip-format": "{player} ({status}) {title} - {artist} - {album}",
|
||||||
"player-icons": {
|
"player-icons": {
|
||||||
"default": "\uf51f",
|
"default": "\uf8d9", /* */
|
||||||
"spotify": "\uf1bc",
|
"mpv": "\uf144", /* */
|
||||||
"mpv": "🎵"
|
"spotify": "\uf1bc" /* */
|
||||||
},
|
},
|
||||||
"status-icons": {
|
"status-icons": {
|
||||||
"paused": "⏸"
|
"paused": "\uf04c" /* */
|
||||||
},
|
},
|
||||||
"dynamic-order": [
|
"dynamic-order": [
|
||||||
"title",
|
"title",
|
||||||
"artist"
|
"artist"
|
||||||
],
|
],
|
||||||
"dynamic-len": 40,
|
"dynamic-len": 40
|
||||||
},
|
},
|
||||||
|
|
||||||
"network": {
|
"network": {
|
||||||
"format-disconnected": "\uf127",
|
"format-disconnected": "\uf127", /* */
|
||||||
"format-ethernet": "\uf6ff {ifname}: {ipadds}/{cidr}",
|
"format-ethernet": "\uf6ff", /* */
|
||||||
"format-wifi": "\uf1eb",
|
"format-linked": "\uf0c1", /* */
|
||||||
|
"format-wifi": "{icon}",
|
||||||
"interval": 5,
|
"interval": 5,
|
||||||
"on-click-right": "kitty -e nmtui",
|
"tooltip": true,
|
||||||
"tooltip-format": "{ifname}: {ipaddr}",
|
"tooltip-format": "{ifname}: {ipaddr}",
|
||||||
"tooltip-format-disconnected": "Disconnected",
|
"tooltip-format-disconnected": "Disconnected",
|
||||||
"tooltip-format-wifi": "{essid} ({signalStrength}%)\n{ifname}: {ipaddr}"
|
"tooltip-format-wifi": "{essid} ({signalStrength}%)\n{ifname}: {ipaddr}",
|
||||||
|
"format-icons": [
|
||||||
|
"\uf05e", /* */
|
||||||
|
"\uf1eb", /* */
|
||||||
|
"\uf1eb" /* */
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"power-profiles-daemon": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"default": "\uf110", /* */
|
||||||
|
"performance": "\uf135", /* */
|
||||||
|
"balanced": "\uf24e", /* */
|
||||||
|
"power-saver": "\uf06c" /* */
|
||||||
|
},
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format": "Profile: {profile}\nDriver: {driver}"
|
||||||
|
},
|
||||||
|
|
||||||
|
"privacy": {
|
||||||
|
"transition-duration": 250,
|
||||||
|
"icon-size": 16,
|
||||||
|
"modules": [
|
||||||
|
{
|
||||||
|
"type": "screenshare",
|
||||||
|
"tooltip": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "audio-in",
|
||||||
|
"tooltip": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"pulseaudio": {
|
||||||
|
"format": "{volume}% {icon}",
|
||||||
|
"format-headset": "{volume}% \uf58f", /* */
|
||||||
|
"format-muted": "\uf6a9", /* */
|
||||||
|
"format-icons": [
|
||||||
|
"\uf026", /* */
|
||||||
|
"\uf027", /* */
|
||||||
|
"\uf028" /* */
|
||||||
|
],
|
||||||
|
"scroll-step": 2.0,
|
||||||
|
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||||
|
},
|
||||||
|
|
||||||
|
"sway/language": {
|
||||||
|
"format": "{short}",
|
||||||
|
"on-click": "swaymsg input type:keyboard xkb_switch_layout next",
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format": "Switch keyboard layouts"
|
||||||
},
|
},
|
||||||
|
|
||||||
"sway/window": {
|
"sway/window": {
|
||||||
"max-length": 85
|
"format": "{title}",
|
||||||
|
"max-length": 20,
|
||||||
|
"tooltip": true,
|
||||||
|
"all-outputs": true,
|
||||||
|
"icon": false,
|
||||||
|
"icon-size": 18,
|
||||||
|
"rewrite": {
|
||||||
|
".* - (.*)": "$1",
|
||||||
|
".* — (.*)": "$1"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"sway/workspaces": {
|
"sway/workspaces": {
|
||||||
|
@ -221,72 +386,14 @@
|
||||||
"disable-scroll": true,
|
"disable-scroll": true,
|
||||||
"format": "{icon}{name}",
|
"format": "{icon}{name}",
|
||||||
"format-icons": {
|
"format-icons": {
|
||||||
"default": "", // Prevent showing workspace name literal.
|
"default": "",
|
||||||
"urgent": "\uf071 "
|
"urgent": "\uf071 " /* */
|
||||||
},
|
|
||||||
// "persistent_workspaces": {
|
|
||||||
// "0:¯\\_(ツ)_/¯": []
|
|
||||||
// }
|
|
||||||
},
|
|
||||||
|
|
||||||
"power-profiles-daemon": {
|
|
||||||
"format": "{icon}",
|
|
||||||
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
|
|
||||||
"tooltip": true,
|
|
||||||
"format-icons": {
|
|
||||||
"default": "",
|
|
||||||
"performance": "",
|
|
||||||
"balanced": "",
|
|
||||||
"power-saver": ""
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"privacy": {
|
|
||||||
"icon-spacing": 4,
|
|
||||||
"icon-size": 18,
|
|
||||||
"transition-duration": 250,
|
|
||||||
"modules": [
|
|
||||||
{
|
|
||||||
"type": "screenshare",
|
|
||||||
"tooltip": true,
|
|
||||||
"tooltip-icon-size": 18,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "audio-in",
|
|
||||||
"tooltip": true,
|
|
||||||
"tooltip-icon-size": 18,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
|
|
||||||
"pulseaudio": {
|
|
||||||
"format": "{volume}% {icon}{format_source}",
|
|
||||||
"format-muted": "\uf6a9{format_source}",
|
|
||||||
"format-bluetooth": "{volume}% {icon}\uf294{format_source}",
|
|
||||||
"format-bluetooth-muted": "\uf6a9 {icon}\uf294{format_source}",
|
|
||||||
"format-source": " {volume}% \uf130",
|
|
||||||
"format-source-muted": "",
|
|
||||||
"format-icons": {
|
|
||||||
"headphone": "\uf58f",
|
|
||||||
"hands-free": "\uf590",
|
|
||||||
"headset": "\uf590",
|
|
||||||
"phone": "\uf3ce",
|
|
||||||
"portable": "\uf3ce",
|
|
||||||
"car": "\uf1b9",
|
|
||||||
"default": ["\uf026", "\uf027", "\uf028 "]
|
|
||||||
},
|
|
||||||
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle",
|
|
||||||
"on-click-right": "pavucontrol",
|
|
||||||
"scroll-step": 2
|
|
||||||
},
|
|
||||||
|
|
||||||
"temperature": {
|
|
||||||
"critical-threshold": 70,
|
|
||||||
"format": "{temperatureC}°C {icon}",
|
|
||||||
"format-icons": ["\uf2cb", "\uf2c9", "\uf2c7"]
|
|
||||||
},
|
|
||||||
|
|
||||||
"tray": {
|
"tray": {
|
||||||
|
"icon-size": 16,
|
||||||
|
"show-passive-items": true,
|
||||||
"spacing": 10
|
"spacing": 10
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
14
stow/waybar/.config/waybar/style-dark.css
Normal file
14
stow/waybar/.config/waybar/style-dark.css
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
@import 'style.css';
|
||||||
|
|
||||||
|
* {
|
||||||
|
color: #C2C2C2;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background-color: #171717;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar button.focused {
|
||||||
|
background-color: #C2C2C2;
|
||||||
|
}
|
||||||
|
|
14
stow/waybar/.config/waybar/style-light.css
Normal file
14
stow/waybar/.config/waybar/style-light.css
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
@import 'style.css';
|
||||||
|
|
||||||
|
* {
|
||||||
|
color: #171717;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background-color: #C2C2C2;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar button.focused {
|
||||||
|
background-color: #171717;
|
||||||
|
}
|
||||||
|
|
|
@ -1,165 +1,119 @@
|
||||||
/*
|
/* * * * * * * * * * * * * * * *
|
||||||
* ~/.config/waybar/style.css
|
* *
|
||||||
*
|
* ~/.config/waybar/style.css *
|
||||||
* `otf-font-awesome` is required to be installed for icons.
|
* *
|
||||||
*
|
* * * * * * * * * * * * * * * */
|
||||||
* Pick your stylesheet:
|
|
||||||
* - sharp.css
|
|
||||||
* - transparent.css
|
|
||||||
* - round.css
|
|
||||||
*/
|
|
||||||
|
|
||||||
@define-color transparent-black rgba(23, 23, 23, 0.9);
|
@define-color background #C2C2C2;
|
||||||
@define-color white #ecf0f1;
|
@define-color foreground #171717;
|
||||||
@define-color warning-red #eb4d4b;
|
|
||||||
@define-color accent #00897b;
|
/* Pantone / PMS 18-1559 TCX / Red Alert */
|
||||||
|
@define-color warning rgb(208, 52, 44);
|
||||||
|
/* Safety orange */
|
||||||
|
@define-color safety rgb(255, 103, 0);
|
||||||
|
|
||||||
|
* {
|
||||||
|
padding: 0 4px;
|
||||||
|
}
|
||||||
|
|
||||||
window#waybar {
|
window#waybar {
|
||||||
|
/* background: linear-gradient(90deg, #CECECE 0%, #D1D1D1 10%, #C9C9C9 50%, #BBBBBB 90%, #BABABA 100%); */
|
||||||
|
|
||||||
font-family: letter, "Font Awesome 6 Free", font-awesome, monospace;
|
font-family: letter, "Font Awesome 6 Free", font-awesome, monospace;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
-webkit-font-smoothing: antialiased;
|
font-weight: 600;
|
||||||
transition-property: background-color;
|
|
||||||
transition-duration: .5s;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#window, #workspaces {
|
.modules-right,
|
||||||
margin: 0 5px;
|
.modules-right > widget:last-child {
|
||||||
}
|
padding-right: 0;
|
||||||
|
|
||||||
#workspaces button {
|
|
||||||
border: none;
|
|
||||||
border-radius: 0;
|
|
||||||
min-width: 30px;
|
|
||||||
padding: 0 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.focused {
|
|
||||||
background-color: transparent;
|
|
||||||
color: @white;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button:hover {
|
|
||||||
background-color: transparent;
|
|
||||||
color: @transparent-black;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.urgent {
|
|
||||||
color: @white;
|
|
||||||
background-color: @warning-red;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* All modules individually. */
|
|
||||||
#backlight,
|
|
||||||
#battery,
|
|
||||||
#bluetooth,
|
|
||||||
#clock,
|
|
||||||
#cpu,
|
|
||||||
#custom-browser,
|
|
||||||
#custom-light-dark-toggle,
|
|
||||||
#custom-night-light-toggle,
|
|
||||||
#custom-system-lock, #custom-system-sleep, #custom-system-hibernate, #custom-system-reboot, #custom-system-shutdown,
|
|
||||||
#custom-toggle-notifications,
|
|
||||||
#disk,
|
|
||||||
#group-hardware,
|
|
||||||
#group-system,
|
|
||||||
#idle_inhibitor,
|
|
||||||
#keyboard-state,
|
|
||||||
#memory,
|
|
||||||
#mode,
|
|
||||||
#mpd,
|
|
||||||
#mpris,
|
|
||||||
#network,
|
|
||||||
#power-profiles-daemon,
|
|
||||||
#privacy-item.audio-in, #privacy-item.audio-out, #privacy-item.screenshare,
|
|
||||||
#pulseaudio,
|
|
||||||
#temperature,
|
|
||||||
#tray {
|
|
||||||
padding: 0 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* If workspaces is the leftmost module, omit left margin */
|
|
||||||
.modules-left > widget:first-child > #workspaces {
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* If workspaces is the rightmost module, omit right margin */
|
|
||||||
.modules-right > widget:last-child > #workspaces {
|
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes blink {
|
#battery.charging {
|
||||||
to {
|
|
||||||
background-color: #ffffff;
|
|
||||||
color: #000000;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
label:focus {
|
|
||||||
background-color: #000000;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Module specific colours */
|
|
||||||
|
|
||||||
#battery.charging, #battery.plugged {
|
|
||||||
color: #ffffff;
|
|
||||||
background-color: #26A65B;
|
background-color: #26A65B;
|
||||||
|
color: #FFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
#battery.critical:not(.charging) {
|
#battery.critical:not(.charging) {
|
||||||
background-color: #f53c3c;
|
background-color: @warning;
|
||||||
color: #ffffff;
|
color: #FFFFFF;
|
||||||
animation-name: blink;
|
animation-name: blink;
|
||||||
animation-duration: 0.5s;
|
animation-duration: 0.5s;
|
||||||
animation-timing-function: linear;
|
animation-timing-function: steps(12);
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.plugged {
|
||||||
|
animation-name: blink;
|
||||||
|
animation-duration: 1.0s;
|
||||||
|
animation-timing-function: steps(12);
|
||||||
animation-iteration-count: infinite;
|
animation-iteration-count: infinite;
|
||||||
animation-direction: alternate;
|
animation-direction: alternate;
|
||||||
}
|
}
|
||||||
|
|
||||||
#bluetooth.disabled,
|
#bluetooth.disabled,
|
||||||
#bluetooth.off,
|
#bluetooth.off {
|
||||||
#network.disconnected,
|
|
||||||
#pulseaudio.muted {
|
|
||||||
opacity: 0.6;
|
opacity: 0.6;
|
||||||
}
|
}
|
||||||
|
|
||||||
#mpris {
|
#custom-toggle-tailscale.disconnected {
|
||||||
color: #2a5c45;
|
opacity: 0.6;
|
||||||
min-width: 100px;
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#mpris.Feishin {
|
||||||
|
background: linear-gradient(45deg, rgba(170,92,195,1) 100%, rgba(0,164,220,1) 0%);
|
||||||
}
|
}
|
||||||
|
|
||||||
#mpris.spotify {
|
#mpris.spotify {
|
||||||
background-color: #66cc99;
|
background-color: #66cc99;
|
||||||
|
color: #2a5c45;
|
||||||
}
|
}
|
||||||
|
|
||||||
#mpris.vlc {
|
#mpris.vlc {
|
||||||
background-color: #ffa000;
|
background-color: #ffa000;
|
||||||
}
|
}
|
||||||
|
|
||||||
#temperature.critical {
|
#network.disconnected {
|
||||||
background-color: #eb4d4b;
|
opacity: 0.6;
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom_light-dark-toggle.activated,
|
#privacy,
|
||||||
#idle_inhibitor.activated {
|
#privacy-item,
|
||||||
background-color: #ecf0f1;
|
#privacy-item.screenshare,
|
||||||
color: #2d3436;
|
#privacy-item.audio-in {
|
||||||
|
background-color: @safety;
|
||||||
|
}
|
||||||
|
|
||||||
|
#privacy-item.screenshare {
|
||||||
|
background-color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio.muted {
|
||||||
|
opacity: 0.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
#systemd-failed-units.degraded {
|
||||||
|
background-color: @warning;
|
||||||
|
}
|
||||||
|
|
||||||
|
#temperature.critical {
|
||||||
|
background-color: @warning;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray > .needs-attention {
|
||||||
|
-gtk-icon-effect: highlight;
|
||||||
|
background-color: @warning;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tray > .passive {
|
#tray > .passive {
|
||||||
-gtk-icon-effect: dim;
|
-gtk-icon-effect: dim;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tray > .needs-attention {
|
#workspaces button.urgent {
|
||||||
-gtk-icon-effect: highlight;
|
background-color: @warning;
|
||||||
background-color: #eb4d4b;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
#privacy-item.audio-in,
|
|
||||||
#privacy-item.audio-out,
|
|
||||||
#privacy-item.screenshare {
|
|
||||||
background-color: #ffaa01;
|
|
||||||
color: #2d3436;
|
|
||||||
}
|
|
||||||
|
|
||||||
@import "sharp.css";
|
|
||||||
|
|
||||||
|
|
|
@ -54,8 +54,12 @@ alias free='free -m'
|
||||||
alias gs='git status'
|
alias gs='git status'
|
||||||
alias hgrep='history | grep'
|
alias hgrep='history | grep'
|
||||||
alias ll='ls -la'
|
alias ll='ls -la'
|
||||||
|
alias mkdir='mkdir -pv'
|
||||||
alias more='less'
|
alias more='less'
|
||||||
|
alias mv='mv -i'
|
||||||
alias np='nano -w PKGBUILD'
|
alias np='nano -w PKGBUILD'
|
||||||
|
alias rm='rm -I --preserve-root'
|
||||||
|
alias zip='zip -r'
|
||||||
alias update='pushd ~/projects/sisyphus/nixos
|
alias update='pushd ~/projects/sisyphus/nixos
|
||||||
nix flake update
|
nix flake update
|
||||||
sudo nixos-rebuild switch --flake .# --show-trace
|
sudo nixos-rebuild switch --flake .# --show-trace
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue