Compare commits
No commits in common. "dev" and "merged" have entirely different histories.
97 changed files with 1088 additions and 13881 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -1,3 +1 @@
|
||||||
result
|
result
|
||||||
|
|
||||||
.idea
|
|
||||||
|
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 112 KiB |
225
colors.sh
225
colors.sh
|
|
@ -1,225 +0,0 @@
|
||||||
# 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"
|
|
||||||
|
|
||||||
|
|
@ -1,10 +1,13 @@
|
||||||
keys:
|
keys:
|
||||||
- &Tibo-NixFatDesk age1fva6s64s884z0q2w7de024sp69ucvqu0pg9shrhhqsn3ewlpjfpsh6md7y
|
- &tdpeuter age1fva6s64s884z0q2w7de024sp69ucvqu0pg9shrhhqsn3ewlpjfpsh6md7y
|
||||||
- &Tibo-NixTop age1qzutny0mqpcccqw6myyfntu6wcskruu9ghzvt6r4te7afkqwnguq05ex37
|
|
||||||
|
- &server_H4G0 age1d4gvqz3anf082ja6xt03hnkzazfum80um9t45m4rerl4n3va2yuqgnsg03
|
||||||
|
|
||||||
creation_rules:
|
creation_rules:
|
||||||
- path_regex: secrets/[^/]+\.(yaml|json|env|ini)$
|
- path_regex: secrets/[^/]+\.(yaml|json|env|ini)$
|
||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
- *Tibo-NixFatDesk
|
- *tdpeuter
|
||||||
- *Tibo-NixTop
|
|
||||||
|
- *server_H4G0
|
||||||
|
|
||||||
|
|
|
||||||
214
nixos/flake.lock
generated
214
nixos/flake.lock
generated
|
|
@ -1,15 +1,36 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"flake-utils": {
|
"devshell": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731533236,
|
"lastModified": 1698410321,
|
||||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
"narHash": "sha256-MphuSlgpmKwtJncGMohryHiK55J1n6WzVQ/OAfmfoMc=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "devshell",
|
||||||
|
"rev": "1aed986e3c81a4f6698e85a7452cbfcc4b31a36e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "devshell",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1694529238,
|
||||||
|
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -25,63 +46,58 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758463745,
|
"lastModified": 1699748081,
|
||||||
"narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=",
|
"narHash": "sha256-MOmMapBydd7MTjhX4eeQZzKlCABWw8W6iSHSG4OeFKE=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3",
|
"rev": "04bac349d585c9df38d78e0285b780a140dc74a4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "release-25.05",
|
"ref": "release-23.05",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nix-github-actions": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"openconnect-sso",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1720066371,
|
|
||||||
"narHash": "sha256-uPlLYH2S0ACj0IcgaK9Lsf4spmJoGejR9DotXiXSBZQ=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nix-github-actions",
|
|
||||||
"rev": "622f829f5fe69310a866c8a6cd07e747c44ef820",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nix-github-actions",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760862643,
|
"lastModified": 1699596684,
|
||||||
"narHash": "sha256-PXwG0TM7Ek87DNx4LbGWuD93PbFeKAJs4FfALtp7Wo0=",
|
"narHash": "sha256-XSXP8zjBZJBVvpNb2WmY0eW8O2ce+sVyj1T0/iBRIvg=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "33c6dca0c0cb31d6addcd34e90a63ad61826b28c",
|
"rev": "da4024d0ead5d7820f6bd15147d3fe2a0c0cec73",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"id": "nixpkgs",
|
"id": "nixpkgs",
|
||||||
"ref": "nixos-25.05",
|
"ref": "nixos-23.05",
|
||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-stable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1699756042,
|
||||||
|
"narHash": "sha256-bHHjQQBsEPOxLL+klYU2lYshDnnWY12SewzQ7n5ab2M=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "9502d0245983bb233da8083b55d60d96fd3c29ff",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "release-23.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760878510,
|
"lastModified": 1699781429,
|
||||||
"narHash": "sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs=",
|
"narHash": "sha256-UYefjidASiLORAjIvVsUHG6WBtRhM67kTjEY4XfZOFs=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "5e2a59a5b1a82f89f2c7e598302a9cacebb72a67",
|
"rev": "e44462d6021bfe23dfb24b775cc7c390844f773d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -90,95 +106,30 @@
|
||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"openconnect-sso": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": [
|
|
||||||
"utils"
|
|
||||||
],
|
|
||||||
"nix-github-actions": "nix-github-actions",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"poetry2nix": "poetry2nix",
|
|
||||||
"systems": "systems_2",
|
|
||||||
"treefmt-nix": "treefmt-nix"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1758594056,
|
|
||||||
"narHash": "sha256-6XyKDRWqBngw1g73e789iyIaw/0VF04ELk/ATtlkTVU=",
|
|
||||||
"owner": "ThinkChaos",
|
|
||||||
"repo": "openconnect-sso",
|
|
||||||
"rev": "2041471efd331d0591d34e122aefb02690fb233a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "ThinkChaos",
|
|
||||||
"ref": "fix/nix-flake",
|
|
||||||
"repo": "openconnect-sso",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"poetry2nix": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": [
|
|
||||||
"openconnect-sso",
|
|
||||||
"flake-utils"
|
|
||||||
],
|
|
||||||
"nix-github-actions": [
|
|
||||||
"openconnect-sso",
|
|
||||||
"nix-github-actions"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"openconnect-sso",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"openconnect-sso",
|
|
||||||
"systems"
|
|
||||||
],
|
|
||||||
"treefmt-nix": [
|
|
||||||
"openconnect-sso",
|
|
||||||
"treefmt-nix"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1721039874,
|
|
||||||
"narHash": "sha256-XANsG9GYHip8pxZpbqKf/YGv8tIa0xTh289Y+WNBNfw=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "poetry2nix",
|
|
||||||
"rev": "d11c01e58587e5f21037ed6477465a7f26a32e27",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "poetry2nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"devshell": "devshell",
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"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": 1760998189,
|
"lastModified": 1699951338,
|
||||||
"narHash": "sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY=",
|
"narHash": "sha256-1GeczM7XfgHcYGYiYNcdwSFu3E62vmh4d7mffWZvyzE=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "5a7d18b5c55642df5c432aadb757140edfeb70b3",
|
"rev": "0e3a94167dcd10a47b89141f35b2ff9e04b34c46",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -217,27 +168,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"treefmt-nix": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"openconnect-sso",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1721769617,
|
|
||||||
"narHash": "sha256-6Pqa0bi5nV74IZcENKYRToRNM5obo1EQ+3ihtunJ014=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"rev": "8db8970be1fb8be9c845af7ebec53b699fe7e009",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"utils": {
|
"utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": [
|
"flake-utils": [
|
||||||
|
|
@ -245,11 +175,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1738591040,
|
"lastModified": 1696331477,
|
||||||
"narHash": "sha256-4WNeriUToshQ/L5J+dTSWC5OJIwT39SEP7V7oylndi8=",
|
"narHash": "sha256-YkbRa/1wQWdWkVJ01JvV+75KIdM37UErqKgTf0L54Fk=",
|
||||||
"owner": "gytis-ivaskevicius",
|
"owner": "gytis-ivaskevicius",
|
||||||
"repo": "flake-utils-plus",
|
"repo": "flake-utils-plus",
|
||||||
"rev": "afcb15b845e74ac5e998358709b2b5fe42a948d1",
|
"rev": "bfc53579db89de750b25b0c5e7af299e0c06d7d3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -257,26 +187,6 @@
|
||||||
"repo": "flake-utils-plus",
|
"repo": "flake-utils-plus",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"zen-browser": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1761105987,
|
|
||||||
"narHash": "sha256-d01CGcdNlsqIn4ncGCWHM0Velnii/Ggef1iybQvEOfc=",
|
|
||||||
"owner": "youwen5",
|
|
||||||
"repo": "zen-browser-flake",
|
|
||||||
"rev": "e7d9fefd8665be5d4c77466140f21a15f6d29e93",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "youwen5",
|
|
||||||
"repo": "zen-browser-flake",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|
|
||||||
|
|
@ -2,51 +2,43 @@
|
||||||
description = "System configuration of my machines using flakes";
|
description = "System configuration of my machines using flakes";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "nixpkgs/nixos-25.05";
|
nixpkgs.url = "nixpkgs/nixos-23.05";
|
||||||
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
|
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
devshell = {
|
||||||
home-manager = {
|
url = "github:numtide/devshell";
|
||||||
url = "github:nix-community/home-manager/release-25.05";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
openconnect-sso = {
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
url = "github:ThinkChaos/openconnect-sso/fix/nix-flake";
|
home-manager = {
|
||||||
inputs = {
|
url = "github:nix-community/home-manager/release-23.05";
|
||||||
flake-utils.follows = "utils";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
sops-nix = {
|
sops-nix = {
|
||||||
url = "github:Mic92/sops-nix";
|
url = "github:Mic92/sops-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
utils = {
|
utils = {
|
||||||
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,
|
||||||
flake-utils, home-manager, openconnect-sso, sops-nix, utils, zen-browser,
|
devshell, flake-utils, home-manager, sops-nix, utils,
|
||||||
... }:
|
... }:
|
||||||
let
|
let
|
||||||
system = utils.lib.system.x86_64-linux;
|
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"
|
||||||
"Oracle_VirtualBox_Extension_Pack"
|
"obsidian"
|
||||||
|
"Oracle_VM_VirtualBox_Extension_Pack"
|
||||||
"spotify"
|
"spotify"
|
||||||
"steam" "steam-unwrapped" "steam-run"
|
"steam" "steam-original" "steam-run"
|
||||||
"vista-fonts"
|
"vista-fonts"
|
||||||
"intel-ocl"
|
|
||||||
"libfprint-2-tod1-broadcom"
|
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
utils.lib.mkFlake {
|
utils.lib.mkFlake {
|
||||||
|
|
@ -58,6 +50,7 @@
|
||||||
(import ./overlays/cmdtime)
|
(import ./overlays/cmdtime)
|
||||||
(import ./overlays/icosystem)
|
(import ./overlays/icosystem)
|
||||||
(import ./overlays/letter)
|
(import ./overlays/letter)
|
||||||
|
(import ./overlays/openconnect-sso)
|
||||||
(import ./overlays/spotify)
|
(import ./overlays/spotify)
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -72,11 +65,10 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
|
home-manager.nixosModule
|
||||||
|
sops-nix.nixosModules.sops
|
||||||
./modules
|
./modules
|
||||||
./users
|
./users
|
||||||
|
|
||||||
home-manager.nixosModules.home-manager
|
|
||||||
sops-nix.nixosModules.sops
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -84,7 +76,6 @@
|
||||||
Tibo-NixDesk.modules = [ ./hosts/Tibo-NixDesk ];
|
Tibo-NixDesk.modules = [ ./hosts/Tibo-NixDesk ];
|
||||||
Tibo-NixFat.modules = [ ./hosts/Tibo-NixFat ];
|
Tibo-NixFat.modules = [ ./hosts/Tibo-NixFat ];
|
||||||
Tibo-NixTest.modules = [ ./hosts/Tibo-NixTest ];
|
Tibo-NixTest.modules = [ ./hosts/Tibo-NixTest ];
|
||||||
Tibo-NixTop.modules = [ ./hosts/Tibo-NixTop ];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,21 +6,12 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
sisyphus = {
|
sisyphus = {
|
||||||
desktop.sway.enable = true;
|
hardware.nvidia = {
|
||||||
|
enable = true;
|
||||||
hardware = {
|
model = "RTX 2060";
|
||||||
nvidia = {
|
|
||||||
enable = true;
|
|
||||||
model = "RTX 2060";
|
|
||||||
gui-settings = true;
|
|
||||||
};
|
|
||||||
yubikey.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
networking = {
|
networking.openconnect-sso.enable = true;
|
||||||
networkmanager.enable = true;
|
|
||||||
openconnect-sso.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
flakes.enable = true;
|
flakes.enable = true;
|
||||||
|
|
@ -42,13 +33,12 @@
|
||||||
|
|
||||||
users.tdpeuter.enable = true;
|
users.tdpeuter.enable = true;
|
||||||
|
|
||||||
virtualisation = {
|
virtualisation.virtualbox.enable = true;
|
||||||
docker.enable = true;
|
|
||||||
virtualbox.enable = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
|
kernelPackages = pkgs.linuxPackages_hardened;
|
||||||
|
|
||||||
loader = {
|
loader = {
|
||||||
systemd-boot.enable = true;
|
systemd-boot.enable = true;
|
||||||
efi = {
|
efi = {
|
||||||
|
|
@ -66,21 +56,17 @@
|
||||||
zenith-nvidia
|
zenith-nvidia
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs.zsh.enable = true;
|
||||||
steam.enable = true;
|
|
||||||
zsh.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
|
|
||||||
networking.hostName = "Tibo-NixDesk";
|
networking = {
|
||||||
|
hostName = "Tibo-NixDesk";
|
||||||
services.xserver.xkb = {
|
networkmanager.enable = true;
|
||||||
layout = "us";
|
# wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
variant = "altgr-intl";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
system.stateVersion = "24.05";
|
system.stateVersion = "23.05";
|
||||||
|
|
||||||
time.timeZone = "Europe/Brussels";
|
time.timeZone = "Europe/Brussels";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -50,16 +50,6 @@
|
||||||
"bind"
|
"bind"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
"/mnt/Games" = {
|
|
||||||
device = "/dev/disk/by-label/Games";
|
|
||||||
fsType = "ntfs";
|
|
||||||
options = [
|
|
||||||
"uid=tdpeuter"
|
|
||||||
"gid=users"
|
|
||||||
"defaults"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices = [
|
||||||
|
|
|
||||||
|
|
@ -6,24 +6,12 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
sisyphus = {
|
sisyphus = {
|
||||||
desktop = {
|
hardware.nvidia = {
|
||||||
sway.enable = true;
|
enable = true;
|
||||||
hyprland.enable = true;
|
model = "Quadro T2000";
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware = {
|
networking.openconnect-sso.enable = true;
|
||||||
eid.enable = true;
|
|
||||||
nvidia = {
|
|
||||||
enable = true;
|
|
||||||
model = "Quadro T2000";
|
|
||||||
};
|
|
||||||
yubikey.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
networking = {
|
|
||||||
networkmanager.enable = true;
|
|
||||||
openconnect-sso.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
flakes.enable = true;
|
flakes.enable = true;
|
||||||
|
|
@ -44,10 +32,7 @@
|
||||||
|
|
||||||
users.tdpeuter.enable = true;
|
users.tdpeuter.enable = true;
|
||||||
|
|
||||||
virtualisation = {
|
virtualisation.virtualbox.enable = true;
|
||||||
docker.enable = true;
|
|
||||||
virtualbox.enable = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
|
|
@ -63,6 +48,8 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
kernelPackages = pkgs.linuxPackages_hardened;
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.]
|
# Use the systemd-boot EFI boot loader.]
|
||||||
loader = {
|
loader = {
|
||||||
systemd-boot.enable = true;
|
systemd-boot.enable = true;
|
||||||
|
|
@ -82,6 +69,7 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
|
steam.enable = true;
|
||||||
zsh.enable = true;
|
zsh.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -90,44 +78,33 @@
|
||||||
powerOnBoot = false;
|
powerOnBoot = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
networking = {
|
networking.hostName = "Tibo-NixFat";
|
||||||
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 = {
|
|
||||||
# Keyboard layout
|
|
||||||
layout = "us";
|
|
||||||
variant = "altgr-intl";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Touchpad
|
# Touchpad
|
||||||
libinput.enable = true;
|
xserver.libinput.enable = true;
|
||||||
|
|
||||||
thermald.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
system.stateVersion = "24.05";
|
system.stateVersion = "23.05";
|
||||||
|
|
||||||
systemd.coredump.enable = false;
|
|
||||||
|
|
||||||
time.timeZone = "Europe/Brussels";
|
time.timeZone = "Europe/Brussels";
|
||||||
|
|
||||||
# --- Barrier ---
|
# --- Barrier ---
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
networkmanager.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
i18n.defaultLocale = "en_GB.UTF-8";
|
i18n.defaultLocale = "en_GB.UTF-8";
|
||||||
console = {
|
console = {
|
||||||
|
# font = "Lat2-Terminus16";
|
||||||
useXkbConfig = true; # use xkbOptions in tty.
|
useXkbConfig = true; # use xkbOptions in tty.
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,32 +8,21 @@
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot = {
|
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
||||||
initrd = {
|
boot.initrd.kernelModules = [ ];
|
||||||
availableKernelModules = [
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
"xhci_pci"
|
boot.extraModulePackages = [ ];
|
||||||
"nvme"
|
|
||||||
"usb_storage"
|
fileSystems."/" = {
|
||||||
"sd_mod"
|
device = "/dev/disk/by-label/NIX-ROOT";
|
||||||
"rtsx_pci_sdmmc"
|
fsType = "ext4";
|
||||||
];
|
|
||||||
kernelModules = [ ];
|
|
||||||
luks.devices."luks-c21cb4a4-f618-43af-bc0c-e8be74fe3b81".device = "/dev/disk/by-uuid/c21cb4a4-f618-43af-bc0c-e8be74fe3b81";
|
|
||||||
};
|
|
||||||
kernelModules = [ "kvm-intel" ];
|
|
||||||
extraModulePackages = [ ];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems = {
|
boot.initrd.luks.devices."luks-c21cb4a4-f618-43af-bc0c-e8be74fe3b81".device = "/dev/disk/by-uuid/c21cb4a4-f618-43af-bc0c-e8be74fe3b81";
|
||||||
"/" = {
|
|
||||||
device = "/dev/disk/by-label/NIX-ROOT";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
"/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 = [
|
||||||
|
|
@ -49,9 +38,5 @@
|
||||||
# networking.interfaces.wlp111s0.useDHCP = lib.mkDefault true;
|
# networking.interfaces.wlp111s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||||
nixpkgs.config.allowUnfree = true;
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
hardware = {
|
|
||||||
enableAllFirmware = true;
|
|
||||||
cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,203 +0,0 @@
|
||||||
# Edit this configuration file to define what should be installed on
|
|
||||||
# your system. Help is available in the configuration.nix(5) man page, on
|
|
||||||
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
|
||||||
|
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
# Include the results of the hardware scan.
|
|
||||||
./hardware-configuration.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
sisyphus = {
|
|
||||||
desktop.hyprland.enable = true;
|
|
||||||
|
|
||||||
hardware = {
|
|
||||||
eid.enable = true;
|
|
||||||
fingerprint-scanner.enable = true;
|
|
||||||
nvidia = {
|
|
||||||
enable = true;
|
|
||||||
model = "Quadro T2000";
|
|
||||||
};
|
|
||||||
yubikey.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
networking = {
|
|
||||||
networkmanager.enable = true;
|
|
||||||
openconnect-sso.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
nix = {
|
|
||||||
flakes.enable = true;
|
|
||||||
gc.onFull.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
direnv.enable = true;
|
|
||||||
home-manager.enable = true;
|
|
||||||
sops.enable = true;
|
|
||||||
ssh.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
services = {
|
|
||||||
pipewire.enable = true;
|
|
||||||
tailscale.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
users.tdpeuter.enable = true;
|
|
||||||
|
|
||||||
virtualisation = {
|
|
||||||
docker.enable = true;
|
|
||||||
virtualbox.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
boot = {
|
|
||||||
initrd = {
|
|
||||||
# Use EFI and YubiKey
|
|
||||||
kernelModules = [ "vfat" "nls_cp437" "nls_iso8859-1" "usbhid" ];
|
|
||||||
|
|
||||||
luks = {
|
|
||||||
# Enable YubiKey PBA
|
|
||||||
yubikeySupport = true;
|
|
||||||
devices."encrypted".yubikey = {
|
|
||||||
slot = 2;
|
|
||||||
twoFactor = false;
|
|
||||||
gracePeriod = 10;
|
|
||||||
keyLength = 64;
|
|
||||||
saltLength = 16;
|
|
||||||
storage.device = "/dev/nvme0n1p1";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
loader = {
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
|
||||||
systemd-boot = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
editor = false;
|
|
||||||
memtest86.enable = true;
|
|
||||||
};
|
|
||||||
efi.canTouchEfiVariables = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Use latest kernel.
|
|
||||||
kernelPackages = pkgs.linuxPackages_latest;
|
|
||||||
|
|
||||||
plymouth.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware.bluetooth = {
|
|
||||||
enable = true;
|
|
||||||
powerOnBoot = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.zsh.enable = true;
|
|
||||||
|
|
||||||
services = {
|
|
||||||
auto-cpufreq = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
battery = {
|
|
||||||
governor = "powersave";
|
|
||||||
turbo = "never";
|
|
||||||
};
|
|
||||||
charger = {
|
|
||||||
governor = "performance";
|
|
||||||
turbo = "auto";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
logind = {
|
|
||||||
# Handle the laptop lid switch as follows:
|
|
||||||
lidSwitch = "hybrid-sleep";
|
|
||||||
lidSwitchExternalPower = "lock";
|
|
||||||
lidSwitchDocked = "ignore";
|
|
||||||
|
|
||||||
# Handle the power key
|
|
||||||
powerKey = "suspend";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
power-profiles-daemon.enable = false;
|
|
||||||
|
|
||||||
smartd.enable = true;
|
|
||||||
|
|
||||||
thermald.enable = true;
|
|
||||||
|
|
||||||
xserver = {
|
|
||||||
# Keyboard layout
|
|
||||||
xkb = {
|
|
||||||
layout = "us";
|
|
||||||
variant = "altgr-intl";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Touchpad
|
|
||||||
libinput.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
networking = {
|
|
||||||
hostName = "Tibo-NixTop"; # Define your hostname.
|
|
||||||
};
|
|
||||||
|
|
||||||
# Set your time zone.
|
|
||||||
time.timeZone = "Europe/Brussels";
|
|
||||||
|
|
||||||
# Select internationalisation properties.
|
|
||||||
i18n = {
|
|
||||||
defaultLocale = "en_GB.UTF-8"; # LANG
|
|
||||||
extraLocaleSettings.LC_TIME = "nl_BE.UTF-8";
|
|
||||||
};
|
|
||||||
|
|
||||||
console = {
|
|
||||||
# font = "Lat2-Terminus16";
|
|
||||||
# keyMap = "us";
|
|
||||||
useXkbConfig = true; # use xkb.options in tty.
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
|
||||||
# services.printing.enable = true;
|
|
||||||
|
|
||||||
# Enable touchpad support (enabled default in most desktopManager).
|
|
||||||
# services.libinput.enable = true;
|
|
||||||
|
|
||||||
# List packages installed in system profile.
|
|
||||||
# You can use https://search.nixos.org/ to find more packages (and options).
|
|
||||||
environment = {
|
|
||||||
# Enabled to allow installed binaries in ~/.local/bin
|
|
||||||
localBinInPath = true;
|
|
||||||
|
|
||||||
systemPackages = with pkgs; [
|
|
||||||
git
|
|
||||||
vim-full # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
|
||||||
w3m
|
|
||||||
wget
|
|
||||||
zenith-nvidia
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
# This option defines the first version of NixOS you have installed on this particular machine,
|
|
||||||
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
|
|
||||||
#
|
|
||||||
# Most users should NEVER change this value after the initial install, for any reason,
|
|
||||||
# even if you've upgraded your system to a new NixOS release.
|
|
||||||
#
|
|
||||||
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
|
|
||||||
# so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
|
|
||||||
# to actually do that.
|
|
||||||
#
|
|
||||||
# This value being lower than the current NixOS release does NOT mean your system is
|
|
||||||
# out of date, out of support, or vulnerable.
|
|
||||||
#
|
|
||||||
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
|
|
||||||
# and migrated your data accordingly.
|
|
||||||
#
|
|
||||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
|
||||||
system.stateVersion = "25.05"; # Did you read the comment?
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
|
||||||
# and may be overwritten by future invocations. Please make changes
|
|
||||||
# to /etc/nixos/configuration.nix instead.
|
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports =
|
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usbhid" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
|
||||||
boot.kernelModules = [ ];
|
|
||||||
boot.extraModulePackages = [ ];
|
|
||||||
|
|
||||||
fileSystems."/" =
|
|
||||||
{ device = "/dev/disk/by-uuid/e759b10f-7949-4094-9272-d91340dcc5b6";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
boot.initrd.luks.devices."encrypted".device = "/dev/disk/by-uuid/2b6586fa-8823-4add-94f3-132aab17b7b8";
|
|
||||||
|
|
||||||
fileSystems."/boot" =
|
|
||||||
{ device = "/dev/disk/by-uuid/12CE-A600";
|
|
||||||
fsType = "vfat";
|
|
||||||
options = [ "fmask=0022" "dmask=0022" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [ ];
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
|
||||||
# still possible to use this option, but it's recommended to use it in conjunction
|
|
||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
|
||||||
networking.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.eno2.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
|
||||||
|
|
@ -1,10 +1,7 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./gnome
|
./gnome
|
||||||
./hyprland
|
|
||||||
./plasma
|
./plasma
|
||||||
./sway
|
./sway
|
||||||
|
|
||||||
./waybar
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,30 +6,52 @@ in {
|
||||||
options.sisyphus.desktop.gnome.enable = lib.mkEnableOption "GNOME";
|
options.sisyphus.desktop.gnome.enable = lib.mkEnableOption "GNOME";
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
services = {
|
services.xserver = {
|
||||||
gnome = {
|
enable = true;
|
||||||
core-apps.enable = false;
|
layout = "us";
|
||||||
core-developer-tools.enable = false;
|
xkbVariant = "altgr-intl";
|
||||||
core-shell.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
xserver = {
|
excludePackages = with pkgs; [
|
||||||
enable = true;
|
xterm
|
||||||
|
];
|
||||||
|
|
||||||
excludePackages = with pkgs; [
|
displayManager.gdm.enable = true;
|
||||||
xterm
|
desktopManager.gnome.enable = true;
|
||||||
];
|
|
||||||
|
|
||||||
displayManager.gdm.enable = true;
|
|
||||||
desktopManager.gnome.enable = true;
|
|
||||||
|
|
||||||
videoDrivers = [ "nvidia" ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Start a new instance of application instead of going to that window.
|
# Start a new instance of application instead of going to that window.
|
||||||
environment.systemPackages = with pkgs.gnomeExtensions; [
|
environment.systemPackages = with pkgs.gnomeExtensions; [
|
||||||
launch-new-instance
|
launch-new-instance
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Do not use these packages
|
||||||
|
environment.gnome.excludePackages = (with pkgs; [
|
||||||
|
baobab
|
||||||
|
epiphany # Web browser
|
||||||
|
evince # Document viewer
|
||||||
|
gnome-connections # Remote desktop client
|
||||||
|
gnome-console
|
||||||
|
gnome-photos
|
||||||
|
gnome-text-editor
|
||||||
|
gnome-tour
|
||||||
|
]) ++ (with pkgs.gnome; [
|
||||||
|
eog # Image viewer
|
||||||
|
file-roller # Archive manager
|
||||||
|
geary # Mail client
|
||||||
|
gedit
|
||||||
|
gnome-calculator
|
||||||
|
gnome-calendar
|
||||||
|
gnome-characters
|
||||||
|
gnome-clocks
|
||||||
|
gnome-contacts
|
||||||
|
gnome-disk-utility
|
||||||
|
gnome-maps
|
||||||
|
gnome-music
|
||||||
|
gnome-system-monitor
|
||||||
|
gnome-weather
|
||||||
|
simple-scan
|
||||||
|
totem # Movie player
|
||||||
|
yelp # Help viewer
|
||||||
|
]);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.sisyphus.desktop.hyprland;
|
|
||||||
in {
|
|
||||||
options.sisyphus.desktop.hyprland.enable = lib.mkEnableOption "Hyprland";
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
environment = {
|
|
||||||
sessionVariables = {
|
|
||||||
# Hint Electron apps to use wayland
|
|
||||||
NIXOS_OZONE_WL = "1";
|
|
||||||
|
|
||||||
ASSETS_DIR = ../../../../assets;
|
|
||||||
SCRIPT_DIR = ../../../../scripts;
|
|
||||||
};
|
|
||||||
|
|
||||||
systemPackages = with pkgs; [
|
|
||||||
brightnessctl
|
|
||||||
dunst
|
|
||||||
libnotify
|
|
||||||
swaybg
|
|
||||||
waycorner
|
|
||||||
playerctl
|
|
||||||
wlsunset
|
|
||||||
wl-clipboard # Copying to system clipboard in vim
|
|
||||||
wl-mirror # Mirror an output
|
|
||||||
wdisplays # Tool to configure displays
|
|
||||||
|
|
||||||
hyprlandPlugins.hy3 # i3/sway layout plugin
|
|
||||||
|
|
||||||
swaylock
|
|
||||||
|
|
||||||
glib
|
|
||||||
|
|
||||||
libva
|
|
||||||
|
|
||||||
dmenu
|
|
||||||
jq
|
|
||||||
j4-dmenu-desktop
|
|
||||||
rofi
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
xwayland.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
security.polkit.enable = true;
|
|
||||||
|
|
||||||
services = {
|
|
||||||
dbus.enable = true;
|
|
||||||
displayManager.ly.enable = true;
|
|
||||||
gnome.gnome-keyring.enable = true;
|
|
||||||
xserver.videoDrivers = [ "nvidia" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
sisyphus.desktop.waybar.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -8,41 +8,36 @@ 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 = {
|
services.xserver = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
displayManager = {
|
displayManager = {
|
||||||
defaultSession = "plasma";
|
defaultSession = "plasmawayland";
|
||||||
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.plasma6.enable = true;
|
desktopManager.plasma5 = {
|
||||||
|
|
||||||
# Use gnome keyring instead of KDE Wallet.
|
|
||||||
gnome.gnome-keyring.enable = true;
|
|
||||||
|
|
||||||
xserver = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
excludePackages = with pkgs; [
|
useQtScaling = true;
|
||||||
xterm
|
|
||||||
];
|
|
||||||
videoDrivers = [ "nvidia" ];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
excludePackages = with pkgs; [
|
||||||
|
xterm
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.plasma6.excludePackages = with pkgs.kdePackages; [
|
environment.plasma5.excludePackages = with pkgs.libsForQt5; [
|
||||||
elisa
|
elisa
|
||||||
gwenview
|
okular
|
||||||
kate
|
|
||||||
khelpcenter
|
khelpcenter
|
||||||
konsole
|
konsole
|
||||||
kwalletmanager
|
|
||||||
okular
|
|
||||||
plasma-systemmonitor
|
|
||||||
print-manager
|
print-manager
|
||||||
|
plasma-systemmonitor
|
||||||
|
gwenview
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -38,26 +38,6 @@ let
|
||||||
export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS
|
export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS
|
||||||
gnome_schema=org.gnome.desktop.interface
|
gnome_schema=org.gnome.desktop.interface
|
||||||
# gsettings set $gnome_schema gtk-theme 'Dracula'
|
# gsettings set $gnome_schema gtk-theme 'Dracula'
|
||||||
|
|
||||||
# https://github.com/crispyricepc/sway-nvidia/blob/2101a18698151a61266740f1297158119bf660ac/wlroots-env-nvidia.sh
|
|
||||||
# Hardware cursors not yet working on wlroots
|
|
||||||
export WLR_NO_HARDWARE_CURSORS=1
|
|
||||||
# Set wlroots renderer to Vulkan to avoid flickering
|
|
||||||
export WLR_RENDERER=vulkan
|
|
||||||
# General wayland environment variables
|
|
||||||
export XDG_SESSION_TYPE=wayland
|
|
||||||
export QT_QPA_PLATFORM=wayland
|
|
||||||
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
|
|
||||||
# Firefox wayland environment variable
|
|
||||||
export MOZ_ENABLE_WAYLAND=1
|
|
||||||
export MOZ_USE_XINPUT2=1
|
|
||||||
# OpenGL Variables
|
|
||||||
export GBM_BACKEND=nvidia-drm
|
|
||||||
export __GL_GSYNC_ALLOWED=0
|
|
||||||
export __GL_VRR_ALLOWED=0
|
|
||||||
export __GLX_VENDOR_LIBRARY_NAME=nvidia
|
|
||||||
# Xwayland compatibility
|
|
||||||
export XWAYLAND_NO_GLAMOR=1
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
|
|
@ -65,28 +45,24 @@ 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 # Copying to system clipboard in vim
|
wl-clipboard
|
||||||
wl-mirror # Mirror an output
|
|
||||||
wdisplays # Tool to configure displays
|
wdisplays # Tool to configure displays
|
||||||
|
|
||||||
# Desktop Environment related
|
|
||||||
brightnessctl
|
brightnessctl
|
||||||
dunst
|
dunst
|
||||||
libnotify
|
libnotify
|
||||||
playerctl
|
playerctl
|
||||||
swaybg
|
swaybg
|
||||||
swaylock-effects
|
swaylock-effects
|
||||||
|
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
|
||||||
|
|
@ -95,53 +71,58 @@ in {
|
||||||
]);
|
]);
|
||||||
|
|
||||||
environment.sessionVariables = {
|
environment.sessionVariables = {
|
||||||
ASSETS_DIR = ../../../../assets;
|
|
||||||
SCRIPT_DIR = ../../../../scripts;
|
SCRIPT_DIR = ../../../../scripts;
|
||||||
};
|
};
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
fonts.fonts = with pkgs; [
|
||||||
dejavu_fonts
|
dejavu_fonts
|
||||||
font-awesome
|
font-awesome
|
||||||
noto-fonts
|
noto-fonts
|
||||||
noto-fonts-cjk-sans
|
noto-fonts-cjk
|
||||||
noto-fonts-cjk-serif
|
|
||||||
noto-fonts-emoji
|
noto-fonts-emoji
|
||||||
|
source-han-sans
|
||||||
|
source-han-sans-japanese
|
||||||
|
source-han-serif-japanese
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware.graphics.enable = true;
|
security.polkit.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;
|
||||||
power-profiles-daemon.enable = true;
|
|
||||||
xserver.videoDrivers = [ "nouveau" ];
|
|
||||||
# xserver.videoDrivers = [ "nvidia" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
|
pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
power-profiles-daemon.enable = true;
|
||||||
|
|
||||||
|
xserver.displayManager.session = [{
|
||||||
|
manage = "window";
|
||||||
|
name = "Sway";
|
||||||
|
start = ''
|
||||||
|
${pkgs.sway}/bin/sway --unsupported-gpu &
|
||||||
|
waitPID=$!
|
||||||
|
'';
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wlr.enable = true;
|
wlr.enable = true;
|
||||||
extraPortals = with pkgs; [
|
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||||
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;
|
||||||
};
|
};
|
||||||
|
|
||||||
sisyphus = {
|
sisyphus.users.wantedGroups = [
|
||||||
desktop.waybar.enable = true;
|
config.users.groups.video.name # Brightnessctl
|
||||||
|
];
|
||||||
users.wantedGroups = [
|
|
||||||
config.users.groups.video.name # Brightnessctl
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.sisyphus.desktop.waybar;
|
|
||||||
in {
|
|
||||||
options.sisyphus.desktop.waybar.enable = lib.mkEnableOption "Waybar";
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
libnotify
|
|
||||||
playerctl
|
|
||||||
jq
|
|
||||||
j4-dmenu-desktop
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.waybar.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +1,5 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./eid
|
|
||||||
./fingerprint-scanner
|
|
||||||
./nvidia
|
./nvidia
|
||||||
./yubikey
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.sisyphus.hardware.eid;
|
|
||||||
in {
|
|
||||||
options.sisyphus.hardware.eid.enable = lib.mkEnableOption "Electronic identity card (eID)";
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
services.pcscd = {
|
|
||||||
enable = true;
|
|
||||||
plugins = [ pkgs.ccid ];
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
eid-mw
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.sisyphus.hardware.fingerprint-scanner;
|
|
||||||
in {
|
|
||||||
options.sisyphus.hardware.fingerprint-scanner.enable = lib.mkEnableOption "Fingerprint scanner support";
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
# Enable driver
|
|
||||||
services.fprintd = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
# Enable Touch OEM Drivers library support
|
|
||||||
tod = {
|
|
||||||
enable = true;
|
|
||||||
# Dell drivers
|
|
||||||
driver = pkgs.libfprint-2-tod1-broadcom;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Start driver at boot
|
|
||||||
systemd.services.fprintd = {
|
|
||||||
wantedBy = [
|
|
||||||
"multi-user.target"
|
|
||||||
];
|
|
||||||
serviceConfig.Type = "simple";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -3,7 +3,6 @@
|
||||||
let
|
let
|
||||||
cfg = config.sisyphus.hardware.nvidia;
|
cfg = config.sisyphus.hardware.nvidia;
|
||||||
|
|
||||||
# The graphics cards for which to do offloading
|
|
||||||
do-offloading = builtins.elem cfg.model [ "Quadro T2000" ];
|
do-offloading = builtins.elem cfg.model [ "Quadro T2000" ];
|
||||||
nvidia-offload = pkgs.writeShellScriptBin "nvidia-offload" ''
|
nvidia-offload = pkgs.writeShellScriptBin "nvidia-offload" ''
|
||||||
export __NV_PRIME_RENDER_OFFLOAD=1
|
export __NV_PRIME_RENDER_OFFLOAD=1
|
||||||
|
|
@ -25,34 +24,17 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
boot = {
|
services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
extraModprobeConfig = ''
|
|
||||||
options nvidia-drm modeset=1
|
|
||||||
'';
|
|
||||||
kernelParams = [
|
|
||||||
"nvidia_drm.modeset=1"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
graphics = {
|
opengl = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enable32Bit = true;
|
driSupport = true;
|
||||||
extraPackages = with pkgs; [
|
driSupport32Bit = true;
|
||||||
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 = true;
|
||||||
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 = {
|
||||||
|
|
@ -60,9 +42,6 @@ in {
|
||||||
finegrained = do-offloading;
|
finegrained = do-offloading;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Avoid flickering
|
|
||||||
forceFullCompositionPipeline = true;
|
|
||||||
|
|
||||||
prime = lib.mkMerge [
|
prime = lib.mkMerge [
|
||||||
(lib.mkIf do-offloading {
|
(lib.mkIf do-offloading {
|
||||||
offload = {
|
offload = {
|
||||||
|
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.sisyphus.hardware.yubikey;
|
|
||||||
in {
|
|
||||||
options.sisyphus.hardware.yubikey.enable = lib.mkEnableOption "YubiKey support";
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
programs = {
|
|
||||||
gnupg.agent = {
|
|
||||||
enable = true;
|
|
||||||
# TODO Necessary?
|
|
||||||
# enableSSHSupport = true;
|
|
||||||
# pinentryFlavor = "curses";
|
|
||||||
};
|
|
||||||
|
|
||||||
# yubikey-touch-detector.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable smart card reading
|
|
||||||
services.pcscd.enable = true;
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
yubikey-touch-detector
|
|
||||||
];
|
|
||||||
|
|
||||||
# Send a notification if the YubiKey is waiting for touch.
|
|
||||||
systemd.services.yubikey-touch-detector = {
|
|
||||||
enable = true;
|
|
||||||
description = "Detects when your YubiKey is waiting for a touch";
|
|
||||||
path = with pkgs; [
|
|
||||||
gnupg
|
|
||||||
yubikey-touch-detector
|
|
||||||
];
|
|
||||||
wantedBy = [
|
|
||||||
"graphical-session.target"
|
|
||||||
];
|
|
||||||
script = ''exec yubikey-touch-detector --libnotify'';
|
|
||||||
environment.YUBIKEY_TOUCH_DETECTOR_LIBNOTIFY = "true";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./networkmanager
|
|
||||||
./openconnect-sso
|
./openconnect-sso
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.sisyphus.networking.networkmanager;
|
|
||||||
in {
|
|
||||||
options.sisyphus.networking.networkmanager.enable = lib.mkEnableOption "NetworkManager";
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
|
|
||||||
# Prevent slow boot times
|
|
||||||
systemd.services.NetworkManager-wait-online.enable = false;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, inputs, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.sisyphus.networking.openconnect-sso;
|
cfg = config.sisyphus.networking.openconnect-sso;
|
||||||
|
|
@ -6,8 +6,15 @@ in {
|
||||||
options.sisyphus.networking.openconnect-sso.enable = lib.mkEnableOption "OpenConnect SSO";
|
options.sisyphus.networking.openconnect-sso.enable = lib.mkEnableOption "OpenConnect SSO";
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
|
nixpkgs = {
|
||||||
|
config.permittedInsecurePackages = [
|
||||||
|
"python3.10-requests-2.28.2"
|
||||||
|
"python3.10-cryptography-40.0.1"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
inputs.openconnect-sso.packages.${config.nixpkgs.localSystem.system}.default
|
openconnect-sso
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,6 @@ in {
|
||||||
extraOptions = ''
|
extraOptions = ''
|
||||||
experimental-features = nix-command flakes
|
experimental-features = nix-command flakes
|
||||||
'';
|
'';
|
||||||
package = pkgs.nixVersions.stable;
|
package = pkgs.nixFlakes;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,22 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.sisyphus.programs.direnv;
|
cfg = sisyphus.programs.direnv;
|
||||||
in {
|
in {
|
||||||
options.sisyphus.programs.direnv.enable = lib.mkEnableOption "direnv";
|
options.sisyphus.programs.direnv.enable = lib.mkEnableOption "direnv";
|
||||||
|
|
||||||
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, https://github.com/nix-community/nix-direnv
|
nix-direnv.enable = true; # Use nix-specific direnv.
|
||||||
|
persistDerivations = true; # Sets the extraOptions listed below.
|
||||||
};
|
};
|
||||||
|
|
||||||
# This is also done by setting programs.direnv.persistDerivations.
|
# This is also done by setting programs.direnv.persistDerivations.
|
||||||
# Keep derivations so shells don't break.
|
# Keep derivations so shells don't break.
|
||||||
nix.extraOptions = ''
|
nix.extraOption = ''
|
||||||
keep-outputs = true
|
keep-outputs = true
|
||||||
keep-derivations = true
|
keep-derivations = true
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
};
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,8 @@ in {
|
||||||
# Add secrets.yml to the Nix Store.
|
# Add secrets.yml to the Nix Store.
|
||||||
defaultSopsFile = ../../../secrets/secrets.yaml;
|
defaultSopsFile = ../../../secrets/secrets.yaml;
|
||||||
age = {
|
age = {
|
||||||
# Don't derive age keys from SSH keys.
|
# Automatically import SSH keys as age keys.
|
||||||
sshKeyPaths = [ ];
|
sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||||
# Use an age key that is expected to already be in the filesystem.
|
# Use an age key that is expected to already be in the filesystem.
|
||||||
# You will need to place this file manually.
|
# You will need to place this file manually.
|
||||||
keyFile = "/var/lib/sops-nix/key.txt";
|
keyFile = "/var/lib/sops-nix/key.txt";
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,9 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./monero
|
|
||||||
./openrgb
|
./openrgb
|
||||||
./openssh
|
./openssh
|
||||||
./pipewire
|
./pipewire
|
||||||
./printing
|
./printing
|
||||||
./remEYEnder
|
|
||||||
./tailscale
|
./tailscale
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.sisyphus.services.monero;
|
|
||||||
in {
|
|
||||||
options.sisyphus.services.monero.enable = lib.mkEnableOption "Monero";
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
monero-cli
|
|
||||||
];
|
|
||||||
|
|
||||||
services = {
|
|
||||||
# Choose to run a node or not.
|
|
||||||
monero.enable = true;
|
|
||||||
|
|
||||||
xmrig = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
autosave = true;
|
|
||||||
background = true;
|
|
||||||
pause-on-battery = true;
|
|
||||||
pause-on-active = 60;
|
|
||||||
donate-level = 5;
|
|
||||||
cpu = true;
|
|
||||||
opencl = false;
|
|
||||||
cuda = true;
|
|
||||||
pools = [
|
|
||||||
{
|
|
||||||
url = "monerohash.com:9999";
|
|
||||||
# url = "127.0.0.1:18081"; # Local node
|
|
||||||
user = "44FjmmLn1k1GC1AFTLSdWDZ17CHB2h3eRCnfkfTQBucHaKX1AGS5oLERR1FEaHxPQcUNwrbEfsgbY4Y6bYJm6ZrdCYGwg7b";
|
|
||||||
keepalive = true;
|
|
||||||
tls = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -6,6 +6,8 @@ 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;
|
||||||
|
|
@ -18,24 +20,6 @@ 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;
|
||||||
nssmdns4 = true;
|
nssmdns = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -1,35 +0,0 @@
|
||||||
{ 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.
|
Before Width: | Height: | Size: 97 KiB |
|
|
@ -1,7 +1,5 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./docker
|
|
||||||
./qemu
|
|
||||||
./virtualbox
|
./virtualbox
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.sisyphus.virtualisation.docker;
|
|
||||||
in {
|
|
||||||
options.sisyphus.virtualisation.docker.enable = lib.mkEnableOption "Docker";
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
virtualisation.docker = {
|
|
||||||
enable = true;
|
|
||||||
# Because these are made for development purposes and not for servers
|
|
||||||
enableOnBoot = false;
|
|
||||||
|
|
||||||
daemon.settings.features.cdi = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Updated version of deprecated enableNvidia.
|
|
||||||
hardware.nvidia-container-toolkit.enable = true;
|
|
||||||
|
|
||||||
sisyphus.users.wantedGroups = [
|
|
||||||
"docker"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.sisyphus.virtualisation.qemu;
|
|
||||||
in {
|
|
||||||
options.sisyphus.virtualisation.qemu.enable = lib.mkEnableOption "QEMU";
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
qemu
|
|
||||||
];
|
|
||||||
|
|
||||||
virtualisation.libvirtd.qemu.runAsRoot = false;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,25 +1,34 @@
|
||||||
{ config, lib, pkgs-unstable, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
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";
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
virtualisation.virtualbox.host = {
|
virtualisation.virtualbox = {
|
||||||
enable = true;
|
host = {
|
||||||
enableExtensionPack = true;
|
enable = true;
|
||||||
enableHardening = true;
|
enableExtensionPack = true;
|
||||||
package = pkgs-unstable.virtualbox;
|
package = virtualbox-override;
|
||||||
|
};
|
||||||
|
guest = {
|
||||||
|
enable = true;
|
||||||
|
x11 = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
# https://www.virtualbox.org/ticket/22248#comment:1
|
|
||||||
# and
|
|
||||||
# https://github.com/NixOS/nixpkgs/pull/444438
|
|
||||||
boot.kernelParams = [ "kvm.enable_virt_at_load=0" ];
|
|
||||||
|
|
||||||
# Define the group
|
|
||||||
users.groups.vboxusers = {};
|
users.groups.vboxusers = {};
|
||||||
|
|
||||||
sisyphus.users.wantedGroups = [
|
sisyphus.users.wantedGroups = [
|
||||||
|
|
|
||||||
4
nixos/overlays/openconnect-sso/default.nix
Normal file
4
nixos/overlays/openconnect-sso/default.nix
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
import "${builtins.fetchTarball {
|
||||||
|
url = "https://github.com/vlaci/openconnect-sso/archive/master.tar.gz";
|
||||||
|
sha256 = "08cqd40p9vld1liyl6qrsdrilzc709scyfghfzmmja3m1m7nym94";
|
||||||
|
}}/overlay.nix"
|
||||||
|
|
@ -9,7 +9,7 @@ final: prev: {
|
||||||
sha256 = "sha256-UzpHAHpQx2MlmBNKm2turjeVmgp5zXKWm3nZbEo0mYE=";
|
sha256 = "sha256-UzpHAHpQx2MlmBNKm2turjeVmgp5zXKWm3nZbEo0mYE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-oGpe+kBf6kBboyx/YfbQBt1vvjtXd1n2pOH6FNcbF8M=";
|
cargoHash = "sha256-oHfk68mAIcmOenW7jn71Xpt8hWVDtxyInWhVN2rH+kk=";
|
||||||
|
|
||||||
buildInputs = with final; [
|
buildInputs = with final; [
|
||||||
cargo
|
cargo
|
||||||
|
|
|
||||||
22
nixos/secrets/GitHub.yaml
Normal file
22
nixos/secrets/GitHub.yaml
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
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]
|
||||||
|
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-09-11T10:23:48Z"
|
||||||
|
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]
|
||||||
|
pgp: []
|
||||||
|
unencrypted_suffix: _unencrypted
|
||||||
|
version: 3.7.3
|
||||||
|
|
@ -1,41 +0,0 @@
|
||||||
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]
|
|
||||||
HTPC:
|
|
||||||
ssh: ENC[AES256_GCM,data:svt6jhMXVCydmlcoa052TtFoIwQiAzNJRn9GPZDBuOGSnB83kUpuy/oqPOIa2ipco0L/5F/mQWn7OHUFtyhWWMerzY8niPldUDKH4jgsvRhRIatGOFiDyL8oA+f1O9lmhyFx35uxGa+Q6tn6rtXVKRVWQFe8kYBvGYjugKixsOMugoqLIxY8wUlMTzm6uDd7a72s/0hgQZGKp0eHWBHEdSJGPdv8svVDZ1PBMrlZa5ZpuiUmmvZvyCEnRtImUZALG4nKMvJjunxKr/4MJhWuffQ60jLYzInoGggiJlwBm+E+m43FwIFndY+LJ+ykO5RAbHhSwgXsCS5WXBrvDGuOTNAlIp6yTgSK1DCzSjzOJOc93rVSPhPdkaOoKgxhz1k95qCEhYUf9vyBgyIaOntWEArV+OZmHje6awbk4fpyIzRe7ggHlhKILYoGYzeejxbMGB9nH15RlUiTF7QnAWxWNSwcET6dSn2MtpC3yegnYl4u3eJ7YkHHYYQtwCQ9vCnt0i/sfuJmbrSFBXnVKMWB2w1Att145gDdlDok,iv:4bkSYvgmG6j/AwVnfGsLjdqtyP/gpWRvOKZCQxP0sMs=,tag:LyjE7dTt0+IDuSlbVLgCMg==,type:str]
|
|
||||||
Hugo:
|
|
||||||
ssh: ENC[AES256_GCM,data:y233CFIH7/n4EGEd2D7MuoprcMV9A8DaiV9JYZ6sr5j+hZnGr8sIAm9/55Bi2cD74sBZcE+tjOz+V2aJ2llKgcdS84ZmXMPh6KQ2QYRYuGdBLeztl8foKdimToblBapebTVO7Rc2mdhg7sZtC/TKSIJnG3R3lRfRdKaxNjaRS51epl7VZKGhLBjZoZqMXOezY7lvNBvF3hFfMh5el5I5Te/yQbbp0a7DkAvA+c1nG9bo9FN0h3VJJTzcuHqvGHI736VosLe8UGirMkX9mBwB8ZV4+2Vp7ZsSHnX5or/MzuYexT0zeLbTNHfj64d2W2/LKDkxNc35Sw7NvxwsVj3k2UHC2jEgus2z0AdMFszEFXh+Eu9wK8yX4ebzUut+OHNPuxvIk+ORxYr3OdVkOhhWHLinu/skNg0u5OdUXo/0p1876+gpcnOVC5UrUflwrtKGQgNk+ovWWjSfcQMh+gI6GYXzksX3YdMEriYZt4Z8lev2od/i7q48cV4W3Lo6TDDttipynxQus6K+J3oBKRirLHylRA5gusqUOVzC,iv:thw9OUnA02qe6aMuLTwy+q/a6isB375/k7JixPEy960=,tag:s95FtFRmPG0Up2oVuQyXsg==,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]
|
|
||||||
NixOS:
|
|
||||||
admin:
|
|
||||||
ssh: ENC[AES256_GCM,data:rAn/H2CtK2dkES2UIJrZbEP/3rqLgJsy5rortmdqoCthQ41IxztiaH1VtdaVDtw5j0qu49RJ59KkmYpOQXC2okAgLeqcb+J9iwrwspfKd+/I186a4gHZ2l+hGpmr3Vbs6K/UoCY67uygZhznBuwKeW4EjYJgGS7zInJFmMvcMV1rP/t4VoW+5oxptQNCrzoRukIG6NiAOcqU1GtvBfL5PxLaTWUEcZMYuo6sY/9VuEWgkZP1bmhBPUIv9D5yJo94KQr0YOaX4lz2pwd+K0cdD8d0Lh8B5YplA1NDCUnBbuDXfH0aSUAm7DCm6Y/E2UECEMRLuwfyEoe/yaHh8iCGveI//FkmiIKNY1SmTkjM2Fdfk6QaVDF8sG2CWdX21H3senfeM6jSow7JLY1LDvC2WxO4YIJEi14Y7zEpIZinWimyAhihPvMLnwd3taOhE59NrTOQKQS3tyFX+5tO3LtBrpn+Tm/B7WO49EkRn1LXN8CWkFnEEGXgxfNRg91C967nHaNpDMssGjfVG20WwYAtMKXzrNyzSEJbZglQ,iv:vY/8yyO0eLzpdho9aPUH9WGQ8Cp5LA+5RckjzDgYMMY=,tag:Jar1qVS/c1rQ8f3qpYqJdA==,type:str]
|
|
||||||
Roxanne:
|
|
||||||
ghost:
|
|
||||||
ssh: ENC[AES256_GCM,data:hkgVUVyCLANeYB4bcCTLB/F6eAbg7J4eN8y+VVzBfkcgnpDmXmghBihreQVT7OIwRrHIH1ok2vuH8vgXb38tuplUD5I8e0Gqy3EqpOGagsO8lss4aIg2lRwZ9WazJknvo4OaGc34jrwcZicesnaxK6g+GX2r2N4caGKMuOZ2i1mLKBwOcEtL6l3REKrGkExd3mYJX1Yqs7sMbGLNpfemDghv646zvxDRwPby49qIPA8OtGR+DBMZTTEviNqamJaFbs7YX+K77J1NHK59u6UfzU6hEjTBEYIjkFDzGATAZAopCsjOHcAA0alejHK4QZZt3e8unVsLICNK08ZCyEzwSXQ/wpUh3ccGcLit2t1LYZT4PqqG8+6ooaQYso67Wral0pdsTsrF0mGNfsZm76MDV9puP5B+IInanHz+2mCHbdmTi6rg9t8Q6mpFqrUbrwxMn2Ns1proBXBCqK/sFjC/bVIyMHUVOh6GYcKaVTv8ecB9ZEjp5dZ4VeStqTMT+xqS7dXBAJzGytLwXT/JaQelIE0w47aBaGy63Pqy,iv:WuAGU+ru8xLp2LXK12x/ueCH0XDxA0zGUt7+HWUdVMo=,tag:UqUMD/jSdTXOkf0kyMqwHA==,type:str]
|
|
||||||
Vaultwarden:
|
|
||||||
ssh: ENC[AES256_GCM,data:LJ7nbIdl1GqcsBtOwqsDtjKMfks13X5hsGkEFxDj0eX1EegEBkoWnzstu34RTgt1O1O+3Y/Amg7cDce2ZyZrTwDmLqinpuJD3CI7pRtQygAH8X9wPQYE6U3D1t4dXuMcDftjS+uY0CJFmq01dLv0GytSZSiNBcqNepTY+fO20yylyUbDGjI3Foyi86ipEtLVeFJqESiHDMHn/Cr+ggpLNMXijpnyoCRstPlm3GY3n6EhPwKhwovLB3AXolUeScnInIpwiikVTkYLNLCbrG8KAAr+DmWK3GTZYToH0wV8HpacPQI+4cHf96+EvAVlYMwGyQztPmXO7/9xUgWCNYow+z8BD6ijMuyZHT9aNkoAPt/y72N/PSf5HqW0QVWr3LmyIG+i9Bxbhqc7mRUIy4wZsODbtoO8/RtAly6mXIg0DZLlbo8kDe3TE3m+P5E/KQJOAvM2QdL+NXPcf2J2JYHW4kzITx447Bc3+F/DRs616MhekIoDybLhY3MT0XvYX1d1wAv/Ip98EGzfptXjnJvKPcJgTBlqNyeKuPOe,iv:oEGJUpoj+N30TgLpSWQqGdqYBdWLUWnSuQ+7TdSgmFc=,tag:AUZ2QnPUxLHaxsHbrmSYZQ==,type:str]
|
|
||||||
sops:
|
|
||||||
age:
|
|
||||||
- recipient: age1fva6s64s884z0q2w7de024sp69ucvqu0pg9shrhhqsn3ewlpjfpsh6md7y
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlL05vZHk2T1B6OHArUXlj
|
|
||||||
bEZWV0dUeVN0M3ZpeHdKcGlKV1RWYmRLM0FjCm9PLzBZTFo3RjhZTEhYMDBSN2Nj
|
|
||||||
aithQ2hpZXVCSngxcVBvQ2hKRzFXUEEKLS0tIE5rL0NHb1llRmlSQXVUeU8rVmNY
|
|
||||||
aEZHdDFEWUdxMzRVVjFhQWZmS04wRkkKrD2CiwdNcbK9s64omQ7xSA29J48HwIHa
|
|
||||||
ickyL/uorYhXmBKhqdvNq/j1Nb88LR9ti55Z7eecJNbyJb4OTtgzXQ==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
- recipient: age1qzutny0mqpcccqw6myyfntu6wcskruu9ghzvt6r4te7afkqwnguq05ex37
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBOWNXQ1BsekdoS3BCdHA4
|
|
||||||
YTJJRHJBTEJ1bmhkWktSamYyRk1TUmovZ2trCnBXbUZQZFBndmU3VzJHVjczZGtY
|
|
||||||
ZkJDY3RzSEhXQVlLL0g1QTYxSC9CZGMKLS0tIGFBZnNlWmZjZFdkdGZvaHA5ZjMw
|
|
||||||
NFRtOFIybnFPWm1idFY0WEVqVGxOK1UKiJDByqKv/i/l9dvOplDyzDORU3ulhSwi
|
|
||||||
6xyEqmyNQpIkiS6TLZZYrBlQMDYqZ2gj1HhdIUssWJCf5Ho8KVDjJQ==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
lastmodified: "2025-10-18T15:55:58Z"
|
|
||||||
mac: ENC[AES256_GCM,data:vdVOTFlDD9jlGJksI5TDxk3stPkLY8lB6LMhV6QGqh9R2vaGuGGh6RZuR6AInq1Rm89innA6M1S2UUM6Jef1EKiPgq41neWMx/i3n7Ixx8FcraO/lgUYKG5yszYdjAlLQvKWqIbvX0bMYNwpF10FO5OyiXWiJrP9Om0Pjvk7dO8=,iv:W9I1nv0fKckNlNjJF0U4HlkyI5VDpvOGiSo0GeOODaY=,tag:RjkSTQYejyf1WO0LilbXYg==,type:str]
|
|
||||||
unencrypted_suffix: _unencrypted
|
|
||||||
version: 3.10.2
|
|
||||||
24
nixos/secrets/Hugo.yaml
Normal file
24
nixos/secrets/Hugo.yaml
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
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
|
||||||
|
|
@ -6,26 +6,22 @@ UGent:
|
||||||
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]
|
||||||
sops:
|
sops:
|
||||||
|
kms: []
|
||||||
|
gcp_kms: []
|
||||||
|
azure_kv: []
|
||||||
|
hc_vault: []
|
||||||
age:
|
age:
|
||||||
- recipient: age1fva6s64s884z0q2w7de024sp69ucvqu0pg9shrhhqsn3ewlpjfpsh6md7y
|
- recipient: age1fva6s64s884z0q2w7de024sp69ucvqu0pg9shrhhqsn3ewlpjfpsh6md7y
|
||||||
enc: |
|
enc: |
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpb0dlWE5PNllnME1jQWE4
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYWWFUdnpERVlkK29TQ09k
|
||||||
cHFzWkR4ZzNaWlR0WDJ4c1hEdlJGN0FISWlZCmNNdVRtL080QzgwQTZtTGpVRkxW
|
SnJMVm5rUEV6S0huSzJ2YjFFQ3pNR0pmZWprClZEVDloeDE2ODNkMVVJTUtqaENz
|
||||||
dkdvYXdQNUlhYWQrYlNDR2JISXdpdkkKLS0tIEpIU20rK3F3WGpBS1g3NmJqYWRX
|
ZzhwTTA4V2xOeW55WGtPZU5FWElQNDAKLS0tIFh5ZWtmZHRBWTAvM3ZwY3pKQ0R6
|
||||||
SWlNbFZ0NTJJZ09Wd3JzK1hscjJoS2MK4GU8ndim80CaOjgvMwVlgIq/1VQIylSZ
|
aDNUbFlhWWVoOWpjVlV1VTVJejlSMjQK6wCeCRdHY5oyTX6/R1U5AOGJyp0exi1A
|
||||||
EJl15zUFaDiDZUCcZE8TkJQ/rbGDSiq7KlWyFe48Q3UC86jfF88qCg==
|
dWPUMfkKBBBkrR+G6ougd8o3FwFf+yfb5RhaTxxqjit6p2RyMjR64w==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
- recipient: age1qzutny0mqpcccqw6myyfntu6wcskruu9ghzvt6r4te7afkqwnguq05ex37
|
lastmodified: "2023-10-10T06:57:11Z"
|
||||||
enc: |
|
mac: ENC[AES256_GCM,data:Tvwv2mqceAxi7ic3+95Y6hBMHjqVoCkYnTkEsXOrhumgXpuuB/QQ0ASEf6gbgkCLXGwnUAXsK41bIIJfFgYSk89fHw6AaXfs6a+zL2Mh5zkhMIE2bm68mFK8+/TX/e8SibbEwNZCKOcPqvaO6nK816KCmh3KKCbT9ObaB6CA/KI=,iv:YPKgYAnQ135JXou7q9jVN7b3SKIDwceKcbqiIjkqnTU=,tag:udPrEVu2F+hWkhNoEyjTYg==,type:str]
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
pgp: []
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYNjkzeHloK3hKUTJaMTdr
|
|
||||||
NUdiZ2JGZitqN1k0WCtEODU4R2MrTmUzR1hrCmNJL0Y4ZEpLN0l6ZmhGWEM5UktG
|
|
||||||
ck1PUnFSSVNCRUd5Sm9kSXNmVW5jZDQKLS0tIHpHWVBVNFNBSlUvZldJVGowUEtZ
|
|
||||||
S05HZ0FiSVlkUjRRV01TbjlpVFlkQWcK7jAqOYd9EDT93xpVgtpKl03EO6oHmGRR
|
|
||||||
iK9j2y7j1YSghPKDBrC5eKy9+IP/EFEBGygcokqT7C6Nscu80YhVbg==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
lastmodified: "2025-10-06T14:01:15Z"
|
|
||||||
mac: ENC[AES256_GCM,data:bWo5DGCt5cK02Lf61yKFDZLLaMmcWyba+03CZ35EnGz7Hoc1sl3qTmgJfNz8EKDeXTIkk33DdnI/kZ2nX7vsZ/QgOhFQWzWRYe1cxqiWyd0wnUlwdoeeFrBP3uOTHXAOVe6q77S3qChzBP3J+5OijztvdOVEOKFmFPSCgyA029Q=,iv:6DSp63IrtYyaFxkaify/JZDXpB76AaGGW/OcPTKBbvk=,tag:sPKddpcx60JFZ4VEGD1tnQ==,type:str]
|
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.10.2
|
version: 3.7.3
|
||||||
|
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
||||||
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]
|
|
||||||
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:
|
|
||||||
age:
|
|
||||||
- recipient: age1fva6s64s884z0q2w7de024sp69ucvqu0pg9shrhhqsn3ewlpjfpsh6md7y
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwSDRZQ0pVNWhmdFo1UDVv
|
|
||||||
MFlrZEFtNjlpZ3pBU0VrdkFpR2x4WGxUZ0RRClJad1JPYWhFTWd1N2ZKQWsrSjFj
|
|
||||||
YXREaGRrbE15MEdpblJtcTk2cFk1eGsKLS0tIHE2ZTd3R1gwQ3E1VzkvZTZoZjBW
|
|
||||||
aTRLcFJ6NkpJRjkyenVxeFRLVmgwMjQK47HRKyg1SxWABZHCdVdIaPEKoSiWIOO/
|
|
||||||
OYu/1owbUwTh1KouUb4tgNmVBOkERJ9i3lEjWLHUWrlCAUImc9dG4g==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
- recipient: age1qzutny0mqpcccqw6myyfntu6wcskruu9ghzvt6r4te7afkqwnguq05ex37
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBVDZtU2g4dmFXTlNIMFBs
|
|
||||||
OFBpS2RXRzFwTVdJazQrSldwWUFtdCs0U1ZFCmxRdy9yY3VIWU4zenc4eVNEVUZv
|
|
||||||
VUlyT29JekNTS3RIMktmS2RGNU5GMTgKLS0tIEhvM2RkcUs0SE5uSXFxc3dvSXhP
|
|
||||||
WmViM05IMHFPckNic1hHY2ZlTEMrYkkK+66rYqbGQucqQch4Tx9jONR9OIXdjMUd
|
|
||||||
q/fGLCoSluHuCOkUWr/wUgvF5dWAHftYj9JjDB/9vpp4Q0WClLDszw==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
lastmodified: "2024-10-19T12:24:38Z"
|
|
||||||
mac: ENC[AES256_GCM,data:g15gV0H0rlzoeN5Z/Zkgh/8ya9GSrWDVP9oqdVz3m4obmquCLDIygsPaYpRXmfOtPSgvX2KzZ08sNLfcBZSh7eH2Ws7xcezWOntOcmAQNz5LvemqP7YuwtivMK/P4qrkME+LQPkSrSUR+rT99Zj+RQXisy91Cq9NbVBj6uQH7+I=,iv:W+oDp5Dun0g35BFprOmgfI0LoPME3HpPuuniCKA32Kc=,tag:CUU74HZuRNedyI3txn9D+g==,type:str]
|
|
||||||
unencrypted_suffix: _unencrypted
|
|
||||||
version: 3.8.1
|
|
||||||
|
|
@ -9,26 +9,22 @@ example_booleans:
|
||||||
- ENC[AES256_GCM,data:Ul7fKA==,iv:U51FhTsWwkbhUWGsO8D+bl2mLdTIfapIB+OGJEOAiRA=,tag:9NJLKp8s2TSKLyXwM8OncA==,type:bool]
|
- ENC[AES256_GCM,data:Ul7fKA==,iv:U51FhTsWwkbhUWGsO8D+bl2mLdTIfapIB+OGJEOAiRA=,tag:9NJLKp8s2TSKLyXwM8OncA==,type:bool]
|
||||||
- ENC[AES256_GCM,data:LVU1a90=,iv:1X1qV+8iIe1i5hIrqyB3tJew9hsHjJHlATmkEmwRA0Y=,tag:ko/5OwmJH/6HKPsvbkoRpw==,type:bool]
|
- ENC[AES256_GCM,data:LVU1a90=,iv:1X1qV+8iIe1i5hIrqyB3tJew9hsHjJHlATmkEmwRA0Y=,tag:ko/5OwmJH/6HKPsvbkoRpw==,type:bool]
|
||||||
sops:
|
sops:
|
||||||
|
kms: []
|
||||||
|
gcp_kms: []
|
||||||
|
azure_kv: []
|
||||||
|
hc_vault: []
|
||||||
age:
|
age:
|
||||||
- recipient: age1fva6s64s884z0q2w7de024sp69ucvqu0pg9shrhhqsn3ewlpjfpsh6md7y
|
- recipient: age1fva6s64s884z0q2w7de024sp69ucvqu0pg9shrhhqsn3ewlpjfpsh6md7y
|
||||||
enc: |
|
enc: |
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4KzMrV2dpWFQyQUQyV050
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3ekx1bzluY0ZhYmhnRmhW
|
||||||
elVhN0dUeTRodG1kNHZ0VEVmTUI1QjhidFJnClhJU0tVY0tmMkFaMDZkMDJOKzV1
|
b3pzM2RlKzFrREpMK3RNU1MweldNRXJ5NjE4CmNRbnFvbk1EN0V0ZWJiVzFmL3Jt
|
||||||
NVJiSERtR0VZR3VBOGVJbGk3cUxTMzAKLS0tIGhvMmIyOWQwVlhXRzYwampTeG5V
|
N1Vpb3NEdXFzdzU4MjN1elp1RWZ5THcKLS0tIDR4cTFJNVFveEdxaEYvZndKbURa
|
||||||
UDVWQnE4NDY5cFF3RnpxcjhMY2N0VUUK+B24C0CT5b82DJSdKotX4iPhzWxnYsn6
|
UHpaNENhL3c1K3RXc05hUmdNZVBpT2MKwBj4+Gb7giVJIoPWiwY3tvugEAexXy6Q
|
||||||
kS7Ut9uy5OwcB+p6erlbLMEUVmmSNw89KBrowT0Ui1d3AfyGAN4rqQ==
|
YTWgZQZk96r5aF2mBjRCFCc7prj85PsUN/UXOPjPLVAFG3lwS0Eaog==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
- recipient: age1qzutny0mqpcccqw6myyfntu6wcskruu9ghzvt6r4te7afkqwnguq05ex37
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwTjh4NDRYZGM1VHRZWGor
|
|
||||||
MmhFWDNvMjI4UUVPbnorNnpabGNZY1BuMVdrCisvZ0U5SXRPM3IzNlZvZEpWZktz
|
|
||||||
b2FJemtNVHU0WUI4M0U1L2tWR3g1MEUKLS0tIGczTmVubzcwVjg5NDdQdEllWEFw
|
|
||||||
TWRIRE5WSGRCbncvWlpEMmdWOW5kb00Kq79O2C4aYmZmrq+rbyMtwmEqkqL9epn/
|
|
||||||
pw2dxXmYt95qu3x/BxjoN8RFZhabFp9xHkZ1kqJe9FGmBtAmoWXjWA==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2023-09-10T20:20:18Z"
|
lastmodified: "2023-09-10T20:20:18Z"
|
||||||
mac: ENC[AES256_GCM,data:yfmYEo8pdlG3tu4Fabwde57igIvpt4UuhQqStVlV36rvPnv9dc42+6iduu+heuQ2OAVw0jk6/o6SWJpcms2DReOAMGDOgt+zV3TgJym52YdMcjTNJTo+4loULhvaWyN9ZdPJjSYKEoSgOZi+oMx4BpwreQEaPaYUxcbTqrWCUa8=,iv:Mb81sBxibRxSaC2kgakhy2pyEmW0MDobF+lHF7cny5E=,tag:DCqTWSnf5Gv5YfAGSEC2yw==,type:str]
|
mac: ENC[AES256_GCM,data:yfmYEo8pdlG3tu4Fabwde57igIvpt4UuhQqStVlV36rvPnv9dc42+6iduu+heuQ2OAVw0jk6/o6SWJpcms2DReOAMGDOgt+zV3TgJym52YdMcjTNJTo+4loULhvaWyN9ZdPJjSYKEoSgOZi+oMx4BpwreQEaPaYUxcbTqrWCUa8=,iv:Mb81sBxibRxSaC2kgakhy2pyEmW0MDobF+lHF7cny5E=,tag:DCqTWSnf5Gv5YfAGSEC2yw==,type:str]
|
||||||
|
pgp: []
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.7.3
|
version: 3.7.3
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, inputs, lib, pkgs, pkgs-unstable, ... }:
|
{ config, 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-light";
|
name = "phinger-cursors";
|
||||||
size = 24;
|
size = 24;
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
|
|
@ -33,68 +33,20 @@ in {
|
||||||
];
|
];
|
||||||
initialPassword = "ChangeMe";
|
initialPassword = "ChangeMe";
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
|
|
||||||
packages = (with pkgs; [
|
|
||||||
bitwarden-desktop
|
|
||||||
brave # Internet browser
|
|
||||||
chafa # Terminal image viewer
|
|
||||||
cmdtime # Zsh plugin
|
|
||||||
duf # Df alternative
|
|
||||||
feishin # Jellyfin music client
|
|
||||||
foot
|
|
||||||
fzf
|
|
||||||
gh # GitHub CLI tool
|
|
||||||
glow # Terminal Markdown renderer
|
|
||||||
icosystem # Personal icon theme
|
|
||||||
jellyfin-media-player
|
|
||||||
libreoffice-fresh # Office tools
|
|
||||||
librewolf # Internet browser
|
|
||||||
mpv # Media player
|
|
||||||
nextcloud-client
|
|
||||||
nsxiv # Lightweight image viewer
|
|
||||||
qalculate-gtk # Calculator
|
|
||||||
spotify
|
|
||||||
spotify-adblock
|
|
||||||
unzip
|
|
||||||
vifm # File manager
|
|
||||||
zathura # PDF viewer
|
|
||||||
zellij # Tmux + screen alternative
|
|
||||||
zotero
|
|
||||||
zsh
|
|
||||||
zsh-autosuggestions
|
|
||||||
zsh-syntax-highlighting
|
|
||||||
|
|
||||||
# SMB
|
|
||||||
cifs-utils
|
|
||||||
psmisc
|
|
||||||
|
|
||||||
# Linters and LSPs
|
|
||||||
statix # Nix
|
|
||||||
# TODO Move to devshells
|
|
||||||
# ruff pylint # Python
|
|
||||||
]) ++ (with pkgs-unstable; [
|
|
||||||
logseq # Note taking
|
|
||||||
]) ++ [
|
|
||||||
inputs.zen-browser.packages.${pkgs.system}.default
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
fonts.fonts = with pkgs; [
|
||||||
corefonts # Calibri for Uni
|
corefonts # Calibri for Uni
|
||||||
dejavu_fonts
|
font-awesome # Dependency of Vifm & zsh config
|
||||||
font-awesome # Dependency of Vifm & zsh config
|
letter # Personal font
|
||||||
letter # Personal font
|
noto-fonts-cjk # Dependency of Zellij config
|
||||||
noto-fonts # Dependency of Zellij config
|
noto-fonts # Dependency of Zellij config
|
||||||
noto-fonts-cjk-sans # Dependency of Zellij config
|
vistafonts # Microsoft fonts
|
||||||
noto-fonts-cjk-serif # Dependency of Zellij config
|
|
||||||
noto-fonts-emoji
|
|
||||||
noto-fonts-color-emoji # Emoji's!
|
|
||||||
vistafonts # Microsoft fonts
|
|
||||||
];
|
];
|
||||||
|
|
||||||
sisyphus = {
|
sisyphus = {
|
||||||
|
desktop.sway.enable = true;
|
||||||
programs.spotify-adblock.enable = true;
|
programs.spotify-adblock.enable = true;
|
||||||
services.remEYEnder.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.tdpeuter = lib.mkIf config.sisyphus.programs.home-manager.enable {
|
home-manager.users.tdpeuter = lib.mkIf config.sisyphus.programs.home-manager.enable {
|
||||||
|
|
@ -105,13 +57,49 @@ in {
|
||||||
homeDirectory = "/home/${user}";
|
homeDirectory = "/home/${user}";
|
||||||
inherit (config.system) stateVersion;
|
inherit (config.system) stateVersion;
|
||||||
|
|
||||||
# packages = (with pkgs; [
|
# If you specify an application here, it will be detected by the configuration module
|
||||||
# ]) ++ (with pkgs-unstable; [
|
# and the configuration files will be put in place for you.
|
||||||
# ]);
|
packages = (with pkgs; [
|
||||||
|
chafa # Terminal image viewer
|
||||||
|
cmdtime # Zsh plugin
|
||||||
|
duf # Df alternative
|
||||||
|
fzf
|
||||||
|
glow # Terminal Markdown renderer
|
||||||
|
icosystem # Personal icon theme
|
||||||
|
jellyfin-media-player
|
||||||
|
kitty
|
||||||
|
libreoffice-fresh
|
||||||
|
nextcloud-client
|
||||||
|
nsxiv # Lightweight image viewer
|
||||||
|
oh-my-zsh
|
||||||
|
phinger-cursors # Cursor theme
|
||||||
|
qalculate-gtk # Calculator
|
||||||
|
tea # Gitea CLI
|
||||||
|
unzip
|
||||||
|
vifm # File manager
|
||||||
|
zathura # PDF viewer
|
||||||
|
zellij # Tmux + screen alternative
|
||||||
|
zsh
|
||||||
|
zsh-autosuggestions
|
||||||
|
zsh-syntax-highlighting
|
||||||
|
|
||||||
|
# SMB
|
||||||
|
cifs-utils psmisc
|
||||||
|
]) ++ (with pkgs-unstable; [
|
||||||
|
mpv
|
||||||
|
obsidian
|
||||||
|
spotify
|
||||||
|
]) ++ (with pkgs.vimPlugins; [
|
||||||
|
statix
|
||||||
|
vim-plug
|
||||||
|
]);
|
||||||
|
|
||||||
pointerCursor = {
|
pointerCursor = {
|
||||||
inherit (cursor) package name size;
|
package = cursor.package;
|
||||||
|
name = cursor.name;
|
||||||
|
size = cursor.size;
|
||||||
gtk.enable = true;
|
gtk.enable = true;
|
||||||
|
x11.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -142,12 +130,9 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.syncthing = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraOptions = [
|
cursorTheme = cursor;
|
||||||
"--no-default-folder"
|
|
||||||
];
|
|
||||||
tray.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg = {
|
xdg = {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
{ config, lib, pkgs, pkgs-unstable, ... }:
|
{ config, lib, pkgs, pkgs-unstable, ... }:
|
||||||
|
|
||||||
# Does basically the same thing that stow does, but using Nix.
|
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.sisyphus.users.tdpeuter;
|
cfg = config.sisyphus.users.tdpeuter;
|
||||||
user = config.users.users.tdpeuter.name;
|
user = config.users.users.tdpeuter.name;
|
||||||
|
|
@ -10,119 +8,109 @@ in {
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
home-manager.users.tdpeuter = lib.mkIf config.sisyphus.programs.home-manager.enable {
|
home-manager.users.tdpeuter = lib.mkIf config.sisyphus.programs.home-manager.enable {
|
||||||
home = {
|
home = {
|
||||||
file = lib.mkMerge [
|
file = {
|
||||||
{
|
".config/alacritty" = lib.mkIf (builtins.elem pkgs.alacritty installedPkgs) {
|
||||||
".config/alacritty" = {
|
source = ../../../stow/alacritty/.config/alacritty;
|
||||||
enable = false;
|
};
|
||||||
source = ../../../stow/alacritty/.config/alacritty;
|
".config/dunst" = {
|
||||||
};
|
enable = config.sisyphus.desktop.sway.enable;
|
||||||
".config/dunst" = {
|
source = ../../../stow/dunst/.config/dunst;
|
||||||
enable = config.sisyphus.desktop.hyprland.enable || config.sisyphus.desktop.sway.enable;
|
};
|
||||||
source = ../../../stow/dunst/.config/dunst;
|
".config/fuzzel" = {
|
||||||
};
|
enable = builtins.elem pkgs.fuzzel installedPkgs;
|
||||||
".config/foot" = {
|
source = ../../../stow/fuzzel/.config/fuzzel;
|
||||||
recursive = true;
|
recursive = true;
|
||||||
source = ../../../stow/foot/.config/foot;
|
};
|
||||||
};
|
".config/git" = {
|
||||||
".config/fuzzel" = {
|
enable = (builtins.elem pkgs.git installedPkgs);
|
||||||
recursive = true;
|
source = ../../../stow/git/.config/git;
|
||||||
source = ../../../stow/fuzzel/.config/fuzzel;
|
recursive = true;
|
||||||
};
|
};
|
||||||
".config/git" = {
|
".config/kitty" = {
|
||||||
recursive = true;
|
enable = builtins.elem pkgs.kitty installedPkgs;
|
||||||
source = ../../../stow/git/.config/git;
|
source = ../../../stow/kitty/.config/kitty;
|
||||||
};
|
recursive = true;
|
||||||
".config/hypr" = {
|
};
|
||||||
inherit (config.sisyphus.desktop.hyprland) enable;
|
".config/mako" = {
|
||||||
recursive = true;
|
enable = builtins.elem pkgs.mako installedPkgs;
|
||||||
source = ../../../stow/hyprland/.config/hypr;
|
source = ../../../stow/mako/.config/mako;
|
||||||
};
|
};
|
||||||
".config/kitty" = {
|
".config/mpv" = {
|
||||||
enable = false;
|
enable = (builtins.elem pkgs-unstable.mpv installedPkgs);
|
||||||
recursive = true;
|
source = ../../../stow/mpv/.config/mpv;
|
||||||
source = ../../../stow/kitty/.config/kitty;
|
};
|
||||||
};
|
".config/OpenRGB" = {
|
||||||
".config/mako" = {
|
enable = config.sisyphus.services.openrgb.enable;
|
||||||
enable = false;
|
source = ../../../stow/openrgb/.config/OpenRGB;
|
||||||
source = ../../../stow/mako/.config/mako;
|
recursive = true;
|
||||||
};
|
};
|
||||||
".config/mpv" = {
|
".config/sway" = {
|
||||||
source = ../../../stow/mpv/.config/mpv;
|
enable = config.sisyphus.desktop.sway.enable;
|
||||||
};
|
source = ../../../stow/sway/.config/sway;
|
||||||
".config/OpenRGB" = {
|
};
|
||||||
inherit (config.sisyphus.services.openrgb) enable;
|
".config/swayidle" = {
|
||||||
recursive = true;
|
enable = (builtins.elem pkgs.swayidle installedPkgs);
|
||||||
source = ../../../stow/openrgb/.config/OpenRGB;
|
source = ../../../stow/swayidle/.config/swayidle;
|
||||||
};
|
};
|
||||||
".config/sway" = {
|
".config/swaylock" = {
|
||||||
inherit (config.sisyphus.desktop.sway) enable;
|
enable = config.sisyphus.desktop.sway.enable;
|
||||||
source = ../../../stow/sway/.config/sway;
|
source = ../../../stow/swaylock/.config/swaylock;
|
||||||
};
|
};
|
||||||
".config/swayidle" = {
|
".config/vifm" = {
|
||||||
inherit (config.sisyphus.desktop.sway) enable;
|
enable = (builtins.elem pkgs.vifm installedPkgs);
|
||||||
source = ../../../stow/swayidle/.config/swayidle;
|
source = ../../../stow/vifm/.config/vifm;
|
||||||
};
|
recursive = true; # Fix history and all working
|
||||||
".config/swaylock" = {
|
};
|
||||||
enable = config.sisyphus.desktop.sway.enable || config.sisyphus.desktop.hyprland.enable;
|
".config/waybar" = {
|
||||||
source = ../../../stow/swaylock/.config/swaylock;
|
enable = config.sisyphus.desktop.sway.enable;
|
||||||
};
|
source = ../../../stow/waybar/.config/waybar;
|
||||||
".config/vifm" = {
|
};
|
||||||
recursive = true; # Fix history and all working
|
".config/zellij" = {
|
||||||
source = ../../../stow/vifm/.config/vifm;
|
enable = (builtins.elem pkgs.zellij installedPkgs);
|
||||||
};
|
source = ../../../stow/zellij/.config/zellij;
|
||||||
".config/waybar" = {
|
};
|
||||||
enable = config.sisyphus.desktop.sway.enable || config.sisyphus.desktop.hyprland.enable;
|
".oh-my-zsh" = {
|
||||||
source = ../../../stow/waybar/.config/waybar;
|
enable = true;
|
||||||
};
|
source = "${pkgs.oh-my-zsh}/share/oh-my-zsh";
|
||||||
".config/zellij" = {
|
recursive = true;
|
||||||
source = ../../../stow/zellij/.config/zellij;
|
};
|
||||||
};
|
".oh-my-zsh/themes/tdpeuter.zsh-theme" = {
|
||||||
".gnupg" = {
|
enable = (builtins.elem pkgs.zsh installedPkgs);
|
||||||
inherit (config.programs.gnupg.agent) enable;
|
source = ../../../stow/zsh/.oh-my-zsh/themes/tdpeuter.zsh-theme;
|
||||||
source = ../../../stow/gnupg/.gnupg;
|
};
|
||||||
recursive = true;
|
".ssh/config" = lib.mkIf config.sisyphus.programs.ssh.enable {
|
||||||
onChange = ''
|
source = ../../../stow/ssh/.ssh/config;
|
||||||
chmod 700 /home/tdpeuter/.gnupg
|
};
|
||||||
# chmod 600 /home/tdpeuter/.gnupg/* # Already read-only?
|
".vim" = {
|
||||||
'';
|
enable = (builtins.elem pkgs.vim-full installedPkgs);
|
||||||
};
|
source = ../../../stow/vim/.vim;
|
||||||
".ssh/config" = lib.mkIf config.sisyphus.programs.ssh.enable {
|
recursive = true;
|
||||||
inherit (config.sisyphus.programs.ssh) enable;
|
};
|
||||||
source = ../../../stow/ssh/.ssh/config;
|
".vim/autoload/plug.vim" = {
|
||||||
};
|
enable = (builtins.elem pkgs.vim-full installedPkgs);
|
||||||
".vim" = {
|
source = "${pkgs.vimPlugins.vim-plug}/plug.vim";
|
||||||
recursive = true;
|
};
|
||||||
source = ../../../stow/vim/.vim;
|
".vimrc" = {
|
||||||
};
|
enable = (builtins.elem pkgs.vim-full installedPkgs);
|
||||||
".vim/autoload/plug.vim" = {
|
source = ../../../stow/vim/.vimrc;
|
||||||
source = "${pkgs.vimPlugins.vim-plug}/plug.vim";
|
};
|
||||||
};
|
".zshrc" = {
|
||||||
".vimrc" = {
|
enable = (config.users.users.tdpeuter.shell == pkgs.zsh);
|
||||||
source = ../../../stow/vim/.vimrc;
|
source = ../../../stow/zsh/.zshrc;
|
||||||
};
|
};
|
||||||
}
|
".zsh/plugins/cmdtime/cmdtime.plugin.zsh" = {
|
||||||
(lib.mkIf (config.users.users.tdpeuter.shell == pkgs.zsh) {
|
enable = (builtins.elem pkgs.cmdtime installedPkgs);
|
||||||
".oh-my-zsh" = {
|
source = "${pkgs.cmdtime}/share/cmdtime/cmdtime.plugin.zsh";
|
||||||
source = "${pkgs.oh-my-zsh}/share/oh-my-zsh";
|
};
|
||||||
recursive = true;
|
".zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh" = {
|
||||||
};
|
enable = (builtins.elem pkgs.zsh-autosuggestions installedPkgs);
|
||||||
".oh-my-zsh/themes/tdpeuter.zsh-theme" = {
|
source = "${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh";
|
||||||
source = ../../../stow/zsh/.oh-my-zsh/themes/tdpeuter.zsh-theme;
|
};
|
||||||
};
|
".zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" = {
|
||||||
".zshrc" = {
|
enable = (builtins.elem pkgs.zsh-syntax-highlighting installedPkgs);
|
||||||
source = ../../../stow/zsh/.zshrc;
|
source = "${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh";
|
||||||
};
|
};
|
||||||
".zsh/plugins/cmdtime/cmdtime.plugin.zsh" = {
|
};
|
||||||
source = "${pkgs.cmdtime}/share/cmdtime/cmdtime.plugin.zsh";
|
|
||||||
};
|
|
||||||
".zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh" = {
|
|
||||||
source = "${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh";
|
|
||||||
};
|
|
||||||
".zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" = {
|
|
||||||
source = "${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -7,109 +7,51 @@ in {
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
home-manager.users.tdpeuter.programs.firefox = lib.mkIf config.sisyphus.programs.home-manager.enable {
|
home-manager.users.tdpeuter.programs.firefox = lib.mkIf config.sisyphus.programs.home-manager.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs-unstable.firefox.override {
|
package = pkgs.firefox.override {
|
||||||
cfg = {
|
cfg = {
|
||||||
|
enableTridactylNative = true;
|
||||||
speechSynthesisSupport = true; # Allow Text-to-speech in e.g. Discord
|
speechSynthesisSupport = true; # Allow Text-to-speech in e.g. Discord
|
||||||
};
|
};
|
||||||
nativeMessagingHosts = with pkgs; [
|
|
||||||
tridactyl-native
|
|
||||||
];
|
|
||||||
# https://mozilla.github.io/policy-templates/
|
|
||||||
extraPolicies = {
|
extraPolicies = {
|
||||||
DisableFirefoxStudies = true;
|
DisableFirefoxStudies = true;
|
||||||
DisablePocket = true;
|
DisablePocket = true;
|
||||||
DisableTelemetry = true;
|
DisableTelemetry = true;
|
||||||
FirefoxHome = {
|
ExtensionSettings = {};
|
||||||
SponsoredTopSites = false;
|
|
||||||
SponsoredPocket = false;
|
|
||||||
};
|
|
||||||
OfferToSaveLogins = false;
|
OfferToSaveLogins = false;
|
||||||
|
|
||||||
# https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265
|
|
||||||
ExtensionSettings = {
|
|
||||||
"amazon@search.mozilla.org".installation_mode = "blocked";
|
|
||||||
"google@search.mozilla.org".installation_mode = "blocked";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Anything in about:config
|
|
||||||
Preferences = let
|
|
||||||
falseLocked = {
|
|
||||||
Value = false;
|
|
||||||
Status = "falseLocked";
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
"browser.newtabpage.activity-stream.showSponsoredCheckboxes" = falseLocked;
|
|
||||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = falseLocked;
|
|
||||||
"browser.newtabpage.pinned" = {
|
|
||||||
Value = "[]";
|
|
||||||
Status = "default";
|
|
||||||
};
|
|
||||||
"services.sync.prefs.sync-seen.browser.newtabpage.activity-stream.showSponsoredTopSites" = falseLocked;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Support smart cards
|
|
||||||
pkcs11Modules = with pkgs-unstable; [
|
|
||||||
eid-mw
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
profiles.tdpeuter = {
|
||||||
languagePacks = [
|
search = {
|
||||||
"en-GB"
|
default = "DuckDuckGo";
|
||||||
"nl"
|
force = true;
|
||||||
];
|
engines = {
|
||||||
|
"Bing".metaData.hidden = true;
|
||||||
profiles.tdpeuter.search= {
|
"eBay".metaData.hidden = true;
|
||||||
default = "ddg"; # Reference by id instead of by name
|
|
||||||
force = true;
|
"Nix Packages" = {
|
||||||
engines = {
|
urls = [{
|
||||||
"bing".metaData.hidden = true;
|
template = "https://search.nixos.org/packages";
|
||||||
"ebay".metaData.hidden = true;
|
params = [
|
||||||
|
{ name = "type"; value = "packages"; }
|
||||||
"GitHub" = {
|
{ name = "query"; value = "{searchTerms}"; }
|
||||||
urls = [{
|
];
|
||||||
template = "https://github.com/search";
|
}];
|
||||||
params = [
|
|
||||||
{ name = "q"; value = "{searchTerms}"; }
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
{ name = "type"; value = "repositories"; }
|
definedAliases = [ "@np" ];
|
||||||
];
|
};
|
||||||
}];
|
"GitHub" = {
|
||||||
|
urls = [{
|
||||||
icon = "${pkgs.icosystem}/share/icons/icosystem/scalable/apps/github-mark.svg";
|
template = "https://github.com/search";
|
||||||
definedAliases = [ "@gh" ];
|
params = [
|
||||||
};
|
{ name = "q"; value = "{searchTerms}"; }
|
||||||
"Nix Packages" = {
|
{ name = "type"; value = "repositories"; }
|
||||||
urls = [{
|
];
|
||||||
template = "https://search.nixos.org/packages";
|
}];
|
||||||
params = [
|
|
||||||
{ name = "type"; value = "packages"; }
|
icon = "${pkgs.icosystem}/share/icons/icosystem/scalable/apps/github-mark.svg";
|
||||||
{ name = "query"; value = "{searchTerms}"; }
|
definedAliases = [ "@gh" ];
|
||||||
];
|
};
|
||||||
}];
|
|
||||||
|
|
||||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
|
||||||
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" ];
|
|
||||||
};
|
|
||||||
"Google Scholar" = {
|
|
||||||
urls = [{
|
|
||||||
template = "https://scholar.google.ch/scholar";
|
|
||||||
params = [
|
|
||||||
{ name = "q"; value = "{searchTerms}"; }
|
|
||||||
];
|
|
||||||
}];
|
|
||||||
|
|
||||||
definedAliases = [ "@gs" ];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -8,17 +8,13 @@ let
|
||||||
Met vriendelijke groeten
|
Met vriendelijke groeten
|
||||||
Tibo De Peuter
|
Tibo De Peuter
|
||||||
'';
|
'';
|
||||||
english = ''
|
UGent = ''
|
||||||
Kind regards
|
|
||||||
Tibo De Peuter
|
|
||||||
'';
|
|
||||||
academic = ''
|
|
||||||
Met vriendelijke groeten
|
Met vriendelijke groeten
|
||||||
Tibo De Peuter
|
Tibo De Peuter
|
||||||
|
|
||||||
Student Ma Informatica
|
Student 2Ba/3Ba Informatica
|
||||||
'';
|
'';
|
||||||
alias = ''
|
MrFortem = ''
|
||||||
Kind regards
|
Kind regards
|
||||||
MrFortem Fiducia
|
MrFortem Fiducia
|
||||||
'';
|
'';
|
||||||
|
|
@ -65,19 +61,15 @@ in {
|
||||||
realName = config.users.users.tdpeuter.description;
|
realName = config.users.users.tdpeuter.description;
|
||||||
signature = {
|
signature = {
|
||||||
showSignature = "append";
|
showSignature = "append";
|
||||||
text = signatures.academic;
|
text = signatures.UGent;
|
||||||
};
|
};
|
||||||
|
|
||||||
thunderbird = {
|
thunderbird = {
|
||||||
enable = true;
|
enable = true;
|
||||||
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.academic;
|
"mail.identity.id_${id}.htmlSigText" = signatures.UGent;
|
||||||
|
|
||||||
# Allow PGP
|
|
||||||
"mail.identity.id_${id}.openpgp_key_id" = "9B11F5243089DB5B"; # Your 'master' key
|
|
||||||
"mail.identity.id_${id}.attachPgpKey" = true;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -113,7 +105,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.alias;
|
"mail.identity.id_${id}.htmlSigText" = signatures.MrFortem;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -125,15 +117,10 @@ in {
|
||||||
profiles.tdpeuter = {
|
profiles.tdpeuter = {
|
||||||
isDefault = true;
|
isDefault = true;
|
||||||
settings = {
|
settings = {
|
||||||
# View
|
"mailnews.default_sort_order" = 2; # Sort descending
|
||||||
"mailnews.default_sort_order" = 2; # Sort descending
|
|
||||||
"mailnews.mark_message_read.delay" = true;
|
"mailnews.mark_message_read.delay" = true;
|
||||||
"mailnews.start_page.enabled" = false;
|
"mailnews.start_page.enabled" = false;
|
||||||
"mail.pane_config.dynamic" = 2; # Vertical view
|
"mail.pane_config.dynamic" = 2; # Vertical view
|
||||||
|
|
||||||
# Encryption
|
|
||||||
"mail.openpgp.allow_external_gnupg" = true; # Enable YubiKey GPG signing
|
|
||||||
"mail.e2ee.auto_enable" = true; # Automatically enable encryption when possible.
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -7,14 +7,9 @@ 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
|
||||||
HomeLab = {
|
Hugo = {
|
||||||
format = "yaml";
|
format = "yaml";
|
||||||
sopsFile = ../../secrets/HomeLab.yaml;
|
sopsFile = ../../secrets/Hugo.yaml;
|
||||||
owner = user;
|
|
||||||
};
|
|
||||||
personal = {
|
|
||||||
format = "yaml";
|
|
||||||
sopsFile = ../../secrets/personal.yaml;
|
|
||||||
owner = user;
|
owner = user;
|
||||||
};
|
};
|
||||||
UGent = {
|
UGent = {
|
||||||
|
|
@ -23,26 +18,17 @@ in {
|
||||||
owner = user;
|
owner = user;
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
|
"Hugo/ssh" = Hugo;
|
||||||
"UGent/HPC/ssh" = UGent;
|
"UGent/HPC/ssh" = UGent;
|
||||||
|
|
||||||
# Git authentication
|
"GitHub/ssh" = {
|
||||||
"Gitea/ssh" = personal;
|
format = "yaml";
|
||||||
"GitHub/ssh" = personal;
|
sopsFile = ../../secrets/GitHub.yaml;
|
||||||
|
owner = user;
|
||||||
|
};
|
||||||
|
"Hugo/Gitea/ssh" = Hugo;
|
||||||
"UGent/GitHub/ssh" = UGent;
|
"UGent/GitHub/ssh" = UGent;
|
||||||
"UGent/SubGit/ssh" = UGent;
|
"UGent/SubGit/ssh" = UGent;
|
||||||
|
|
||||||
# HomeLab
|
|
||||||
|
|
||||||
# Physical hosts
|
|
||||||
"HomeLab/Hugo/ssh" = HomeLab;
|
|
||||||
"HomeLab/Roxanne/ghost/ssh" = HomeLab;
|
|
||||||
"HomeLab/HTPC/ssh" = HomeLab;
|
|
||||||
|
|
||||||
# Virtual hosts
|
|
||||||
"HomeLab/Gitea/ssh" = HomeLab;
|
|
||||||
"HomeLab/Nextcloud/ssh" = HomeLab;
|
|
||||||
"HomeLab/Vaultwarden/ssh" = HomeLab;
|
|
||||||
"HomeLab/NixOS/admin/ssh" = HomeLab;
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
19
scripts/do-not-disturb.sh
Executable file
19
scripts/do-not-disturb.sh
Executable file
|
|
@ -0,0 +1,19 @@
|
||||||
|
#!/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=$( pactl get-sink-volume @DEFAULT_SINK@ \
|
value=$( amixer sget 'Master' \
|
||||||
| 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 [ "$( pactl get-sink-mute @DEFAULT_SINK@ | grep -o '\(yes\|no\)' | head -n1 )" == 'yes' ] ; then
|
if [ "$( amixer sget 'Master' | grep -o '\[\(on\|off\)\]' | head -n1 )" == "[off]" ] ; then
|
||||||
title="Volume: ${value}% (Disabled)"
|
title="Volume: ${value}% (Disabled)"
|
||||||
value=0
|
value=0
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Toggle light- or dark-mode for your applications
|
# Toggle light- or dark-mode for your applications
|
||||||
# Usage: toggle [-m light|dark] [-g]
|
# Usage: toggle [-m light|dark]
|
||||||
|
|
||||||
#################
|
#################
|
||||||
### Variables ###
|
### Variables ###
|
||||||
|
|
@ -10,9 +10,7 @@ THEME_LIGHT='tdpeuter-light'
|
||||||
THEME_DARK='tdpeuter-dark'
|
THEME_DARK='tdpeuter-dark'
|
||||||
THEME_DEFAULT="${THEME_LIGHT}"
|
THEME_DEFAULT="${THEME_LIGHT}"
|
||||||
|
|
||||||
STATE_DIR="${HOME}/.local/state/sisyphus"
|
STATE_FILE="${HOME}/.local/state/sisyphus/theme"
|
||||||
STATE_FILE="${STATE_DIR}/theme"
|
|
||||||
BG_DIR="${HOME}/Nextcloud/Afbeeldingen/wallpapers"
|
|
||||||
|
|
||||||
declare -A theme_next
|
declare -A theme_next
|
||||||
theme_next[${THEME_LIGHT}]="${THEME_DARK}"
|
theme_next[${THEME_LIGHT}]="${THEME_DARK}"
|
||||||
|
|
@ -22,12 +20,8 @@ declare -A gsettings_alt
|
||||||
gsettings_alt[${THEME_LIGHT}]='default'
|
gsettings_alt[${THEME_LIGHT}]='default'
|
||||||
gsettings_alt[${THEME_DARK}]='prefer-dark'
|
gsettings_alt[${THEME_DARK}]='prefer-dark'
|
||||||
|
|
||||||
declare -A gtk_theme
|
|
||||||
gtk_theme[${THEME_LIGHT}]='Adwaita'
|
|
||||||
gtk_theme[${THEME_DARK}]='Adwaita-dark'
|
|
||||||
|
|
||||||
declare -A wallpaper
|
declare -A wallpaper
|
||||||
wallpaper[${THEME_LIGHT}]="bg-light"
|
wallpaper[${THEME_LIGHT}]="bg"
|
||||||
wallpaper[${THEME_DARK}]="bg-dark"
|
wallpaper[${THEME_DARK}]="bg-dark"
|
||||||
|
|
||||||
#############
|
#############
|
||||||
|
|
@ -35,7 +29,7 @@ wallpaper[${THEME_DARK}]="bg-dark"
|
||||||
#############
|
#############
|
||||||
|
|
||||||
# Parse options
|
# Parse options
|
||||||
while getopts ":m:g" option; do
|
while getopts ":m:" option; do
|
||||||
case "${option}" in
|
case "${option}" in
|
||||||
m)
|
m)
|
||||||
if [ "${OPTARG}" == 'light' ]; then
|
if [ "${OPTARG}" == 'light' ]; then
|
||||||
|
|
@ -47,17 +41,6 @@ while getopts ":m:g" option; do
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
g)
|
|
||||||
current_state="$(cat "${STATE_FILE}")"
|
|
||||||
next_state="${theme_next[${current_state}]}"
|
|
||||||
if [ "${current_state}" == "${THEME_DARK}" ]; then
|
|
||||||
class='activated'
|
|
||||||
percentage=100
|
|
||||||
fi
|
|
||||||
printf '{"alt": "%s", "tooltip": "Set theme to %s", "percentage": %d, "class": "%s"}' \
|
|
||||||
"${gsettings_alt[${current_state}]}" "${next_state}" "${percentage:=0}" "${class:="none"}"
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
*)
|
*)
|
||||||
>&2 printf "Error: Invalid option: '%s'.\n" "${option}"
|
>&2 printf "Error: Invalid option: '%s'.\n" "${option}"
|
||||||
exit 1
|
exit 1
|
||||||
|
|
@ -82,33 +65,9 @@ echo "${theme:=${THEME_DEFAULT}}" > "${STATE_FILE}"
|
||||||
### Set all themes ###
|
### Set all themes ###
|
||||||
######################
|
######################
|
||||||
|
|
||||||
# Update terminal colors by sending it OSC sequences.
|
# GNOME
|
||||||
# Alternatively, you could use theme.sh (https://github.com/lemnos/theme.sh)
|
|
||||||
# Function below loosely based on theme.sh and https://codeberg.org/dnkl/foot/issues/708
|
|
||||||
function update_terminal_colors() {
|
|
||||||
for pid in $(pgrep zsh); do
|
|
||||||
if [ "${theme}" == "${THEME_LIGHT}" ]; then
|
|
||||||
printf "\033]10;#000000\007" >> /proc/${pid}/fd/0
|
|
||||||
printf "\033]11;#ffffff\007" >> /proc/${pid}/fd/0
|
|
||||||
elif [ "${theme}" == "${THEME_DARK}" ]; then
|
|
||||||
printf "\033]10;#ffffff\007" >> /proc/${pid}/fd/0
|
|
||||||
printf "\033]11;#000000\007" >> /proc/${pid}/fd/0
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
# Foot
|
|
||||||
if [ "$(command -v foot)" ] ; then
|
|
||||||
# Make color theme switch 'permanent'.
|
|
||||||
echo "include=~/.config/foot/themes/${theme}.ini" > ~/.config/foot/theme.ini &
|
|
||||||
# We will have to change the terminal colors ourselves.
|
|
||||||
update_terminal_colors &
|
|
||||||
fi
|
|
||||||
|
|
||||||
# GNOME (GTK)
|
|
||||||
if [ "$(command -v gsettings)" ]; then
|
if [ "$(command -v gsettings)" ]; then
|
||||||
gsettings set org.gnome.desktop.interface color-scheme "${gsettings_alt[${theme}]}" &
|
gsettings set org.gnome.desktop.interface color-scheme "${gsettings_alt[${theme}]}" &
|
||||||
gsettings set org.gnome.desktop.interface gtk-theme "${gtk_theme[${theme}]}" &
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Kitty
|
# Kitty
|
||||||
|
|
@ -118,13 +77,7 @@ fi
|
||||||
|
|
||||||
# Sway
|
# Sway
|
||||||
if [ "$(command -v swaybg)" ]; then
|
if [ "$(command -v swaybg)" ]; then
|
||||||
bg_path="${BG_DIR}/${wallpaper[${theme}]}"
|
pkill swaybg && swaybg -i ~/Nextcloud/Afbeeldingen/wallpapers/${wallpaper[${theme}]} && 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
|
||||||
|
|
|
||||||
|
|
@ -1,48 +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
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
@ -1,50 +0,0 @@
|
||||||
#!/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'
|
|
||||||
|
|
||||||
printf '{"alt": "%s", "tooltip": "%s", "class": "%s" }' \
|
|
||||||
"${state}" "${tooltip}" "${state}"
|
|
||||||
else
|
|
||||||
state='connected'
|
|
||||||
tooltip="${status:='Disconnect tailnet'}"
|
|
||||||
|
|
||||||
printf '{"alt": "%s", "tooltip": "<tt>%q</tt>", "class": "%s" }' \
|
|
||||||
"${state}" "${tooltip}" "${state}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
echo 'Invalid option'
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
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
|
|
||||||
|
|
@ -1,229 +0,0 @@
|
||||||
# -*- conf -*-
|
|
||||||
# ~/.config/foot/foot.ini
|
|
||||||
|
|
||||||
# Include the correct color scheme
|
|
||||||
include=~/.config/foot/theme.ini
|
|
||||||
|
|
||||||
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
|
|
||||||
term=xterm-256color
|
|
||||||
# login-shell=no
|
|
||||||
|
|
||||||
# app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode
|
|
||||||
# title=foot
|
|
||||||
# locked-title=no
|
|
||||||
|
|
||||||
font=letter extended:size=10
|
|
||||||
# font-bold=<bold variant of regular font>
|
|
||||||
# font-italic=<italic variant of regular font>
|
|
||||||
# font-bold-italic=<bold+italic variant of regular font>
|
|
||||||
# font-size-adjustment=0.5
|
|
||||||
# line-height=<font metrics>
|
|
||||||
# letter-spacing=0
|
|
||||||
# horizontal-letter-offset=0
|
|
||||||
# vertical-letter-offset=0
|
|
||||||
# underline-offset=<font metrics>
|
|
||||||
# underline-thickness=<font underline thickness>
|
|
||||||
# box-drawings-uses-font-glyphs=no
|
|
||||||
dpi-aware=yes
|
|
||||||
|
|
||||||
# initial-window-size-pixels=700x500 # Or,
|
|
||||||
# initial-window-size-chars=<COLSxROWS>
|
|
||||||
# initial-window-mode=windowed
|
|
||||||
#pad=10x10 # optionally append 'center'
|
|
||||||
# resize-delay-ms=100
|
|
||||||
|
|
||||||
# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
|
|
||||||
|
|
||||||
# bold-text-in-bright=no
|
|
||||||
# word-delimiters=,│`|:"'()[]{}<>
|
|
||||||
# selection-target=primary
|
|
||||||
# workers=<number of logical CPUs>
|
|
||||||
# utmp-helper=/usr/lib/utempter/utempter # When utmp backend is ‘libutempter’ (Linux)
|
|
||||||
# utmp-helper=/usr/libexec/ulog-helper # When utmp backend is ‘ulog’ (FreeBSD)
|
|
||||||
|
|
||||||
[environment]
|
|
||||||
# name=value
|
|
||||||
|
|
||||||
[bell]
|
|
||||||
urgent=yes
|
|
||||||
notify=yes
|
|
||||||
visual=yes
|
|
||||||
# command=
|
|
||||||
# command-focused=no
|
|
||||||
|
|
||||||
[scrollback]
|
|
||||||
# lines=1000
|
|
||||||
# multiplier=3.0
|
|
||||||
# indicator-position=relative
|
|
||||||
# indicator-format=""
|
|
||||||
|
|
||||||
[url]
|
|
||||||
# launch=xdg-open ${url}
|
|
||||||
# label-letters=sadfjklewcmpgh
|
|
||||||
# osc8-underline=url-mode
|
|
||||||
# protocols=http, https, ftp, ftps, file, gemini, gopher
|
|
||||||
# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[]
|
|
||||||
|
|
||||||
[cursor]
|
|
||||||
# style=block
|
|
||||||
# color=<inverse foreground/background>
|
|
||||||
# blink=no
|
|
||||||
# beam-thickness=1.5
|
|
||||||
# underline-thickness=<font underline thickness>
|
|
||||||
|
|
||||||
[mouse]
|
|
||||||
# hide-when-typing=no
|
|
||||||
# alternate-scroll-mode=yes
|
|
||||||
|
|
||||||
[touch]
|
|
||||||
# long-press-delay=400
|
|
||||||
|
|
||||||
[colors]
|
|
||||||
alpha=0.8
|
|
||||||
# background=242424
|
|
||||||
# foreground=ffffff
|
|
||||||
flash=b00020
|
|
||||||
# flash-alpha=0.5
|
|
||||||
|
|
||||||
## Normal/regular colors (color palette 0-7)
|
|
||||||
# regular0=242424 # black
|
|
||||||
# regular1=f62b5a # red
|
|
||||||
# regular2=47b413 # green
|
|
||||||
# regular3=e3c401 # yellow
|
|
||||||
# regular4=24acd4 # blue
|
|
||||||
# regular5=f2affd # magenta
|
|
||||||
# regular6=13c299 # cyan
|
|
||||||
# regular7=e6e6e6 # white
|
|
||||||
|
|
||||||
## Bright colors (color palette 8-15)
|
|
||||||
# bright0=616161 # bright black
|
|
||||||
# bright1=ff4d51 # bright red
|
|
||||||
# bright2=35d450 # bright green
|
|
||||||
# bright3=e9e836 # bright yellow
|
|
||||||
# bright4=5dc5f8 # bright blue
|
|
||||||
# bright5=feabf2 # bright magenta
|
|
||||||
# bright6=24dfc4 # bright cyan
|
|
||||||
# bright7=ffffff # bright white
|
|
||||||
|
|
||||||
## dimmed colors (see foot.ini(5) man page)
|
|
||||||
# dim0=<not set>
|
|
||||||
# ...
|
|
||||||
# dim7=<not-set>
|
|
||||||
|
|
||||||
## The remaining 256-color palette
|
|
||||||
# 16 = <256-color palette #16>
|
|
||||||
# ...
|
|
||||||
# 255 = <256-color palette #255>
|
|
||||||
|
|
||||||
## Misc colors
|
|
||||||
# selection-foreground=<inverse foreground/background>
|
|
||||||
# selection-background=<inverse foreground/background>
|
|
||||||
# jump-labels=<regular0> <regular3> # black-on-yellow
|
|
||||||
# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue
|
|
||||||
# search-box-no-match=<regular0> <regular1> # black-on-red
|
|
||||||
# search-box-match=<regular0> <regular3> # black-on-yellow
|
|
||||||
# urls=<regular3>
|
|
||||||
|
|
||||||
[csd]
|
|
||||||
preferred=none
|
|
||||||
# size=26
|
|
||||||
# font=<primary font>
|
|
||||||
# color=<foreground color>
|
|
||||||
# hide-when-maximized=no
|
|
||||||
# double-click-to-maximize=yes
|
|
||||||
# border-width=0
|
|
||||||
# border-color=<csd.color>
|
|
||||||
# button-width=26
|
|
||||||
# button-color=<background color>
|
|
||||||
# button-minimize-color=<regular4>
|
|
||||||
# button-maximize-color=<regular2>
|
|
||||||
# button-close-color=<regular1>
|
|
||||||
|
|
||||||
[key-bindings]
|
|
||||||
# scrollback-up-page=Shift+Page_Up
|
|
||||||
# scrollback-up-half-page=none
|
|
||||||
# scrollback-up-line=none
|
|
||||||
# scrollback-down-page=Shift+Page_Down
|
|
||||||
# scrollback-down-half-page=none
|
|
||||||
# scrollback-down-line=none
|
|
||||||
# scrollback-home=none
|
|
||||||
# scrollback-end=none
|
|
||||||
# clipboard-copy=Control+Shift+c XF86Copy
|
|
||||||
# clipboard-paste=Control+Shift+v XF86Paste
|
|
||||||
# primary-paste=Shift+Insert
|
|
||||||
# search-start=Control+Shift+r
|
|
||||||
# font-increase=Control+plus Control+equal Control+KP_Add
|
|
||||||
# font-decrease=Control+minus Control+KP_Subtract
|
|
||||||
# font-reset=Control+0 Control+KP_0
|
|
||||||
# spawn-terminal=Control+Shift+n
|
|
||||||
# minimize=none
|
|
||||||
# maximize=none
|
|
||||||
# fullscreen=none
|
|
||||||
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
|
||||||
# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
|
||||||
# pipe-selected=[xargs -r firefox] none
|
|
||||||
# show-urls-launch=Control+Shift+o
|
|
||||||
# show-urls-copy=none
|
|
||||||
# show-urls-persistent=none
|
|
||||||
# prompt-prev=Control+Shift+z
|
|
||||||
# prompt-next=Control+Shift+x
|
|
||||||
# unicode-input=Control+Shift+u
|
|
||||||
# noop=none
|
|
||||||
|
|
||||||
[search-bindings]
|
|
||||||
# cancel=Control+g Control+c Escape
|
|
||||||
# commit=Return
|
|
||||||
# find-prev=Control+r
|
|
||||||
# find-next=Control+s
|
|
||||||
# cursor-left=Left Control+b
|
|
||||||
# cursor-left-word=Control+Left Mod1+b
|
|
||||||
# cursor-right=Right Control+f
|
|
||||||
# cursor-right-word=Control+Right Mod1+f
|
|
||||||
# cursor-home=Home Control+a
|
|
||||||
# cursor-end=End Control+e
|
|
||||||
# delete-prev=BackSpace
|
|
||||||
# delete-prev-word=Mod1+BackSpace Control+BackSpace
|
|
||||||
# delete-next=Delete
|
|
||||||
# delete-next-word=Mod1+d Control+Delete
|
|
||||||
# extend-char=Shift+Right
|
|
||||||
# extend-to-word-boundary=Control+w Control+Shift+Right
|
|
||||||
# extend-to-next-whitespace=Control+Shift+w
|
|
||||||
# extend-line-down=Shift+Down
|
|
||||||
# extend-backward-char=Shift+Left
|
|
||||||
# extend-backward-to-word-boundary=Control+Shift+Left
|
|
||||||
# extend-backward-to-next-whitespace=none
|
|
||||||
# extend-line-up=Shift+Up
|
|
||||||
# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste
|
|
||||||
# primary-paste=Shift+Insert
|
|
||||||
# unicode-input=none
|
|
||||||
# scrollback-up-page=Shift+Page_Up
|
|
||||||
# scrollback-up-half-page=none
|
|
||||||
# scrollback-up-line=none
|
|
||||||
# scrollback-down-page=Shift+Page_Down
|
|
||||||
# scrollback-down-half-page=none
|
|
||||||
# scrollback-down-line=none
|
|
||||||
# scrollback-home=none
|
|
||||||
# scrollback-end=none
|
|
||||||
|
|
||||||
[url-bindings]
|
|
||||||
# cancel=Control+g Control+c Control+d Escape
|
|
||||||
# toggle-url-visible=t
|
|
||||||
|
|
||||||
[text-bindings]
|
|
||||||
# \x03=Mod4+c # Map Super+c -> Ctrl+c
|
|
||||||
|
|
||||||
[mouse-bindings]
|
|
||||||
# scrollback-up-mouse=BTN_BACK
|
|
||||||
# scrollback-down-mouse=BTN_FORWARD
|
|
||||||
# selection-override-modifiers=Shift
|
|
||||||
# primary-paste=BTN_MIDDLE
|
|
||||||
# select-begin=BTN_LEFT
|
|
||||||
# select-begin-block=Control+BTN_LEFT
|
|
||||||
# select-extend=BTN_RIGHT
|
|
||||||
# select-extend-character-wise=Control+BTN_RIGHT
|
|
||||||
# select-word=BTN_LEFT-2
|
|
||||||
# select-word-whitespace=Control+BTN_LEFT-2
|
|
||||||
# select-quote = BTN_LEFT-3
|
|
||||||
# select-row=BTN_LEFT-4
|
|
||||||
|
|
||||||
# vim: ft=dosini
|
|
||||||
|
|
@ -1,64 +0,0 @@
|
||||||
[colors]
|
|
||||||
# alpha=0.8
|
|
||||||
background=171717
|
|
||||||
foreground=dcdfe4
|
|
||||||
# flash=b00020
|
|
||||||
# flash-alpha=0.5
|
|
||||||
|
|
||||||
## Normal/regular colors (color palette 0-7)
|
|
||||||
regular0=242424 # black
|
|
||||||
# regular0=21222c
|
|
||||||
# regular1=f62b5a # red
|
|
||||||
regular1=c86564
|
|
||||||
regular2=47b413 # green
|
|
||||||
# regular2=b2bc68
|
|
||||||
regular3=e3c401 # yellow
|
|
||||||
# regular3=f7e03f
|
|
||||||
# regular4=24acd4 # blue
|
|
||||||
regular4=80a2be
|
|
||||||
regular5=f2affd # magenta
|
|
||||||
# color5 #b294bb
|
|
||||||
# regular6=13c299 # cyan
|
|
||||||
regular6=8abeb7
|
|
||||||
regular7=e6e6e6 # white
|
|
||||||
# regular7=ffffff
|
|
||||||
|
|
||||||
## Bright colors (color palette 8-15)
|
|
||||||
# bright0=616161 # bright black
|
|
||||||
# bright0=6272a4
|
|
||||||
# bright1=ff4d51 # bright red
|
|
||||||
# color9 #C86564
|
|
||||||
# bright2=35d450 # bright green
|
|
||||||
# color10 #B2BC68
|
|
||||||
# bright3=e9e836 # bright yellow
|
|
||||||
# color11 #f7e03f
|
|
||||||
# bright4=5dc5f8 # bright blue
|
|
||||||
# color12 #80A2BE
|
|
||||||
# bright5=feabf2 # bright magenta
|
|
||||||
# bright5=b294bb
|
|
||||||
# bright6=24dfc4 # bright cyan
|
|
||||||
# bright6=8abeb7
|
|
||||||
bright7=ffffff # bright white
|
|
||||||
|
|
||||||
## dimmed colors (see foot.ini(5) man page)
|
|
||||||
# dim0=<not set>
|
|
||||||
# ...
|
|
||||||
# dim7=<not-set>
|
|
||||||
|
|
||||||
## The remaining 256-color palette
|
|
||||||
# 16 = <256-color palette #16>
|
|
||||||
# ...
|
|
||||||
# 255 = <256-color palette #255>
|
|
||||||
|
|
||||||
## Misc colors
|
|
||||||
# selection-foreground=<inverse foreground/background>
|
|
||||||
# selection-foreground=000000
|
|
||||||
# selection-background=<inverse foreground/background>
|
|
||||||
# selection-background=fffacd
|
|
||||||
# jump-labels=<regular0> <regular3> # black-on-yellow
|
|
||||||
# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue
|
|
||||||
# search-box-no-match=<regular0> <regular1> # black-on-red
|
|
||||||
# search-box-match=<regular0> <regular3> # black-on-yellow
|
|
||||||
# urls=<regular3>
|
|
||||||
urls=0087bd
|
|
||||||
|
|
||||||
|
|
@ -1,64 +0,0 @@
|
||||||
[colors]
|
|
||||||
# alpha=0.8
|
|
||||||
background=fafafa
|
|
||||||
foreground=000000
|
|
||||||
# flash=b00020
|
|
||||||
# flash-alpha=0.5
|
|
||||||
|
|
||||||
## Normal/regular colors (color palette 0-7)
|
|
||||||
# regular0=242424 # black
|
|
||||||
# color0 #383A42
|
|
||||||
# regular1=f62b5a # red
|
|
||||||
# color1 #E45649
|
|
||||||
# regular2=47b413 # green
|
|
||||||
# color2 #40A14F
|
|
||||||
# regular3=e3c401 # yellow
|
|
||||||
# color3 #C18401
|
|
||||||
# regular4=24acd4 # blue
|
|
||||||
regular4=0184bc
|
|
||||||
# regular5=f2affd # magenta
|
|
||||||
# color5 #A626A4
|
|
||||||
# regular6=13c299 # cyan
|
|
||||||
# color6 #0997B3
|
|
||||||
# regular7=e6e6e6 # white
|
|
||||||
# color7 #FAFAFA
|
|
||||||
|
|
||||||
## Bright colors (color palette 8-15)
|
|
||||||
# bright0=616161 # bright black
|
|
||||||
# color8 #6272a4
|
|
||||||
# bright1=ff4d51 # bright red
|
|
||||||
# color9 #E45649
|
|
||||||
# bright2=35d450 # bright green
|
|
||||||
# color10 #40A14F
|
|
||||||
# bright3=e9e836 # bright yellow
|
|
||||||
# color11 #C18401
|
|
||||||
# bright4=5dc5f8 # bright blue
|
|
||||||
# color12 #0184BC
|
|
||||||
# bright5=feabf2 # bright magenta
|
|
||||||
# color13 #A626A4
|
|
||||||
# bright6=24dfc4 # bright cyan
|
|
||||||
# color14 #0997B3
|
|
||||||
# bright7=ffffff # bright white
|
|
||||||
# color15 #FAFAFA
|
|
||||||
|
|
||||||
## dimmed colors (see foot.ini(5) man page)
|
|
||||||
# dim0=<not set>
|
|
||||||
# ...
|
|
||||||
# dim7=<not-set>
|
|
||||||
|
|
||||||
## The remaining 256-color palette
|
|
||||||
# 16 = <256-color palette #16>
|
|
||||||
# ...
|
|
||||||
# 255 = <256-color palette #255>
|
|
||||||
|
|
||||||
## Misc colors
|
|
||||||
# selection-foreground=<inverse foreground/background>
|
|
||||||
selection-foreground=383a42
|
|
||||||
# selection-background=<inverse foreground/background>
|
|
||||||
selection-background=bfceff
|
|
||||||
# jump-labels=<regular0> <regular3> # black-on-yellow
|
|
||||||
# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue
|
|
||||||
# search-box-no-match=<regular0> <regular1> # black-on-red
|
|
||||||
# search-box-match=<regular0> <regular3> # black-on-yellow
|
|
||||||
urls=f0f0f0
|
|
||||||
|
|
||||||
|
|
@ -1,21 +1,16 @@
|
||||||
[user]
|
[user]
|
||||||
name = "Tibo De Peuter"
|
name = "Tibo De Peuter"
|
||||||
email = "tibo@depeuter.dev"
|
email = "tibo.depeuter@gmail.com"
|
||||||
signingkey = "0x9B11F5243089DB5B"
|
|
||||||
|
|
||||||
[color]
|
[color]
|
||||||
ui = true
|
ui = true
|
||||||
|
|
||||||
[commit]
|
|
||||||
# Always sign commits
|
|
||||||
gpgsign = true
|
|
||||||
|
|
||||||
[core]
|
[core]
|
||||||
editor = "vim";
|
editor = "vim";
|
||||||
excludesFile = "~/.config/git/ignore"
|
excludesFile = "~/.config/git/ignore"
|
||||||
|
|
||||||
[help]
|
[help]
|
||||||
autocorrect = 15
|
autocorrect = 20
|
||||||
|
|
||||||
[includeIf "gitdir:~/university/"] # Trailing backslash is necessary!
|
[includeIf "gitdir:~/university/"] # Trailing backslash is necessary!
|
||||||
path = "~/.config/git/university"
|
path = "~/.config/git/university"
|
||||||
|
|
@ -23,6 +18,3 @@
|
||||||
[init]
|
[init]
|
||||||
defaultBranch = "main"
|
defaultBranch = "main"
|
||||||
|
|
||||||
[safe]
|
|
||||||
directory = "/home/tdpeuter/university/sshfs"
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,2 @@
|
||||||
[user]
|
[user]
|
||||||
email = "tibo.depeuter@ugent.be"
|
email = "tibo.depeuter@ugent.be"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
enable-ssh-support
|
|
||||||
default-cache-ttl 60
|
|
||||||
default-cache-ttl-ssh 60
|
|
||||||
max-cache-ttl 120
|
|
||||||
max-cache-ttl-ssh 120
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
# 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
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
# 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,6 +0,0 @@
|
||||||
monitor=desc:BOE 0x08CF,1920x1080@60.0,640x3240,1.0
|
|
||||||
monitor=desc:Hewlett Packard HP ZR2740w CNT319Y008,2560x1440@59.95,0x1800,1.0
|
|
||||||
monitor=desc:Dell Inc. DELL P2214H 29C2937M4YTL,1920x1080@60.0,2560x1800,1.0
|
|
||||||
monitor=desc:Dell Inc. DELL P2214H 29C2937M4YTL,transform,1
|
|
||||||
monitor=desc:Samsung Electric Company SAMSUNG,1920x1080@60.0,640x0,0.6000000000000001
|
|
||||||
monitor=desc:Samsung Electric Company SAMSUNG,disable
|
|
||||||
|
|
@ -1,164 +0,0 @@
|
||||||
|
|
||||||
# TODO Do not hardcode this path
|
|
||||||
plugin = /nix/store/afivj8v5kfdsadxs4pa45vh0y65s3ajm-hy3-hl0.49.0/lib/libhy3.so
|
|
||||||
|
|
||||||
general:layout = hy3
|
|
||||||
|
|
||||||
plugin {
|
|
||||||
hy3 {
|
|
||||||
# disable gaps when only one window is onscreen
|
|
||||||
# 0 - always show gaps
|
|
||||||
# 1 - hide gaps with a single window onscreen
|
|
||||||
# 2 - 1 but also show the window border
|
|
||||||
no_gaps_when_only = 1 # default: 0
|
|
||||||
|
|
||||||
# policy controlling what happens when a node is removed from a group,
|
|
||||||
# leaving only a group
|
|
||||||
# 0 = remove the nested group
|
|
||||||
# 1 = keep the nested group
|
|
||||||
# 2 = keep the nested group only if its parent is a tab group
|
|
||||||
node_collapse_policy = 2 # default: 2
|
|
||||||
|
|
||||||
# offset from group split direction when only one window is in a group
|
|
||||||
group_inset = 10 # default: 10
|
|
||||||
|
|
||||||
# if a tab group will automatically be created for the first window spawned in a workspace
|
|
||||||
tab_first_window = false
|
|
||||||
|
|
||||||
# tab group settings
|
|
||||||
tabs {
|
|
||||||
# height of the tab bar
|
|
||||||
height = 10 # default: 22
|
|
||||||
|
|
||||||
# padding between the tab bar and its focused node
|
|
||||||
padding = 0 # default: 6
|
|
||||||
|
|
||||||
# the tab bar should animate in/out from the top instead of below the window
|
|
||||||
from_top = false # default: false
|
|
||||||
|
|
||||||
# radius of tab bar corners
|
|
||||||
radius = 0 # default: 6
|
|
||||||
|
|
||||||
# tab bar border width
|
|
||||||
border_width = 2 # default: 2
|
|
||||||
|
|
||||||
# render the window title on the bar
|
|
||||||
render_text = false # default: true
|
|
||||||
|
|
||||||
# center the window title
|
|
||||||
text_center = true # default: true
|
|
||||||
|
|
||||||
# font to render the window title with
|
|
||||||
text_font = Sans # default: Sans
|
|
||||||
|
|
||||||
# height of the window title
|
|
||||||
text_height = 8 # default: 8
|
|
||||||
|
|
||||||
# left padding of the window title
|
|
||||||
text_padding = 3 # default: 3
|
|
||||||
|
|
||||||
# active tab bar segment colors
|
|
||||||
#col.active = <color> # default: rgba(33ccff40)
|
|
||||||
#col.active.border = <color> # default: rgba(33ccffee)
|
|
||||||
#col.active.text = <color> # default: rgba(ffffffff)
|
|
||||||
|
|
||||||
# active tab bar segment colors for bars on an unfocused monitor
|
|
||||||
#col.active_alt_monitor = <color> # default: rgba(60606040)
|
|
||||||
#col.active_alt_monitor.border = <color> # default: rgba(808080ee)
|
|
||||||
#col.active_alt_monitor.text = <color> # default: rgba(ffffffff)
|
|
||||||
|
|
||||||
# focused tab bar segment colors (focused node in unfocused container)
|
|
||||||
#col.focused = <color> # default: rgba(60606040)
|
|
||||||
#col.focused.border = <color> # default: rgba(808080ee)
|
|
||||||
#col.focused.text = <color> # default: rgba(ffffffff)
|
|
||||||
|
|
||||||
# inactive tab bar segment colors
|
|
||||||
col.inactive = rgba(a6a6a620) # default: rgba(30303020)
|
|
||||||
col.inactive.border = rgba(a6a6a6aa) # default: rgba(606060aa)
|
|
||||||
#col.inactive.text = <color> # default: rgba(ffffffff)
|
|
||||||
|
|
||||||
# urgent tab bar segment colors
|
|
||||||
#col.urgent = <color> # default: rgba(ff223340)
|
|
||||||
#col.urgent.border = <color> # default: rgba(ff2233ee)
|
|
||||||
#col.urgent.text = <color> # default: rgba(ffffffff)
|
|
||||||
|
|
||||||
# urgent tab bar segment colors
|
|
||||||
#col.locked = <color> # default: rgba(90903340)
|
|
||||||
#col.locked.border = <color> # default: rgba(909033ee)
|
|
||||||
#col.locked.text = <color> # default: rgba(ffffffff)
|
|
||||||
|
|
||||||
# if tab backgrounds should be blurred
|
|
||||||
# Blur is only visible when the above colors are not opaque.
|
|
||||||
blur = true # default: true
|
|
||||||
|
|
||||||
# opacity multiplier for tabs
|
|
||||||
# Applies to blur as well as the given colors.
|
|
||||||
opacity = 1.0 # default: 1.0
|
|
||||||
}
|
|
||||||
|
|
||||||
# autotiling settings
|
|
||||||
autotile {
|
|
||||||
# enable autotile
|
|
||||||
enable = true # default: false
|
|
||||||
|
|
||||||
# make autotile-created groups ephemeral
|
|
||||||
ephemeral_groups = true # default: true
|
|
||||||
|
|
||||||
# if a window would be squished smaller than this width, a vertical split will be created
|
|
||||||
# -1 = never automatically split vertically
|
|
||||||
# 0 = always automatically split vertically
|
|
||||||
# <number> = pixel width to split at
|
|
||||||
trigger_width = -1 # default: 0
|
|
||||||
|
|
||||||
# if a window would be squished smaller than this height, a horizontal split will be created
|
|
||||||
# -1 = never automatically split horizontally
|
|
||||||
# 0 = always automatically split horizontally
|
|
||||||
# <number> = pixel height to split at
|
|
||||||
trigger_height = 0 # default: 0
|
|
||||||
|
|
||||||
# a space or comma separated list of workspace ids where autotile should be enabled
|
|
||||||
# it's possible to create an exception rule by prefixing the definition with "not:"
|
|
||||||
# workspaces = 1,2 # autotiling will only be enabled on workspaces 1 and 2
|
|
||||||
# workspaces = not:1,2 # autotiling will be enabled on all workspaces except 1 and 2
|
|
||||||
workspaces = all # default: all
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Keybinds
|
|
||||||
|
|
||||||
# Navigation
|
|
||||||
|
|
||||||
# Focus
|
|
||||||
|
|
||||||
# First, unbind default
|
|
||||||
unbind = $flag, $up
|
|
||||||
unbind = $flag, $right
|
|
||||||
unbind = $flag, $down
|
|
||||||
unbind = $flag, $left
|
|
||||||
|
|
||||||
unbind = $flag, up
|
|
||||||
unbind = $flag, right
|
|
||||||
unbind = $flag, down
|
|
||||||
unbind = $flag, left
|
|
||||||
|
|
||||||
bind = $flag, $up, hy3:movefocus, u
|
|
||||||
bind = $flag, $right, hy3:movefocus, r
|
|
||||||
bind = $flag, $down, hy3:movefocus, d
|
|
||||||
bind = $flag, $left, hy3:movefocus, l
|
|
||||||
|
|
||||||
bind = $flag, up, hy3:movefocus, u
|
|
||||||
bind = $flag, right, hy3:movefocus, r
|
|
||||||
bind = $flag, down, hy3:movefocus, d
|
|
||||||
bind = $flag, left, hy3:movefocus, l
|
|
||||||
|
|
||||||
# Layout
|
|
||||||
bind = $flag, z, hy3:changegroup, opposite
|
|
||||||
bind = $flag, x, hy3:changegroup, toggletab
|
|
||||||
bind = $flag, c, hy3:changegroup, h
|
|
||||||
bind = $flag, v, hy3:changegroup, v
|
|
||||||
|
|
||||||
bind = $flag, p, hy3:changefocus, raise
|
|
||||||
bind = $flag+Shift, p, hy3:changefocus, lower
|
|
||||||
bind = $flag, space, hy3:togglefocuslayer
|
|
||||||
|
|
||||||
|
|
@ -1,279 +0,0 @@
|
||||||
# ~/.config/hypr/hyperland.conf
|
|
||||||
|
|
||||||
general {
|
|
||||||
border_size = 1
|
|
||||||
no_border_on_floating = false
|
|
||||||
|
|
||||||
gaps_in = 3
|
|
||||||
gaps_out = 5
|
|
||||||
gaps_workspaces = 0
|
|
||||||
|
|
||||||
col.inactive_border = 0xff444444
|
|
||||||
col.active_border = 0xffffffff
|
|
||||||
col.nogroup_border = 0xffff00ff
|
|
||||||
|
|
||||||
layout = dwindle
|
|
||||||
|
|
||||||
no_focus_fallback = true
|
|
||||||
|
|
||||||
resize_on_border = true
|
|
||||||
extend_border_grab_area = 5
|
|
||||||
hover_icon_on_border = true
|
|
||||||
|
|
||||||
allow_tearing = false
|
|
||||||
|
|
||||||
resize_corner = 0
|
|
||||||
|
|
||||||
snap {
|
|
||||||
enabled = false
|
|
||||||
window_gap = 10
|
|
||||||
monitor_gap = 10
|
|
||||||
border_overlap = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
decoration {
|
|
||||||
rounding = 0
|
|
||||||
# rounding_power = 4.0
|
|
||||||
|
|
||||||
active_opacity = 1.0
|
|
||||||
inactive_opacity = 1.0
|
|
||||||
fullscreen_opacity = 1.0
|
|
||||||
dim_inactive = false
|
|
||||||
dim_strength = 0.5
|
|
||||||
dim_special = 0.2
|
|
||||||
dim_around = 0.4
|
|
||||||
|
|
||||||
blur {
|
|
||||||
enabled = true
|
|
||||||
|
|
||||||
size = 8
|
|
||||||
passes = 1
|
|
||||||
noise = 0.01
|
|
||||||
contrast = 0.8
|
|
||||||
brightness = 0.8
|
|
||||||
vibrancy = 0.0
|
|
||||||
vibrancy_darkness = 0.0
|
|
||||||
|
|
||||||
ignore_opacity = true
|
|
||||||
new_optimizations = true
|
|
||||||
xray = true
|
|
||||||
special = false
|
|
||||||
popups = false
|
|
||||||
# input_methods = false
|
|
||||||
}
|
|
||||||
|
|
||||||
shadow {
|
|
||||||
enabled = false
|
|
||||||
|
|
||||||
range = 4
|
|
||||||
render_power = 3
|
|
||||||
sharp = false
|
|
||||||
|
|
||||||
ignore_window = true
|
|
||||||
|
|
||||||
color = 0xee1a1a1a
|
|
||||||
color_inactive = 0xee1a1a1a
|
|
||||||
# offset = [0,0]
|
|
||||||
scale = 1.0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
animations {
|
|
||||||
enabled = false
|
|
||||||
first_launch_animation = true
|
|
||||||
}
|
|
||||||
|
|
||||||
gestures {
|
|
||||||
workspace_swipe = true
|
|
||||||
workspace_swipe_fingers = 3
|
|
||||||
workspace_swipe_min_fingers = false
|
|
||||||
workspace_swipe_distance = 300
|
|
||||||
workspace_swipe_invert = true
|
|
||||||
workspace_swipe_min_speed_to_force = 30
|
|
||||||
workspace_swipe_cancel_ratio = 0.2
|
|
||||||
workspace_swipe_direction_lock = true
|
|
||||||
workspace_swipe_direction_lock_threshold = 10
|
|
||||||
|
|
||||||
workspace_swipe_touch = false
|
|
||||||
workspace_swipe_touch_invert = false
|
|
||||||
|
|
||||||
workspace_swipe_create_new = false
|
|
||||||
|
|
||||||
workspace_swipe_forever = true
|
|
||||||
|
|
||||||
workspace_swipe_use_r = false
|
|
||||||
}
|
|
||||||
|
|
||||||
group {
|
|
||||||
auto_group = true
|
|
||||||
insert_after_current = true
|
|
||||||
focus_removed_window = true
|
|
||||||
drag_into_group = 1
|
|
||||||
merge_groups_on_drag = true
|
|
||||||
merge_groups_on_groupbar = true
|
|
||||||
merge_floated_into_tiled_on_groupbar = false
|
|
||||||
group_on_movetoworkspace = false
|
|
||||||
|
|
||||||
col.border_active = 0x66ffff00
|
|
||||||
col.border_inactive = 0x66777700
|
|
||||||
col.border_locked_active = 0x66ff5500
|
|
||||||
col.border_locked_inactive = 0x66775500
|
|
||||||
|
|
||||||
groupbar {
|
|
||||||
enabled = true
|
|
||||||
font_family = misc:font_family
|
|
||||||
font_size = 8
|
|
||||||
gradients = true
|
|
||||||
height = 14
|
|
||||||
stacked = false
|
|
||||||
priority = 3
|
|
||||||
render_titles = false
|
|
||||||
scrolling = true
|
|
||||||
|
|
||||||
text_color = 0xffffffff
|
|
||||||
|
|
||||||
col.active = 0x66ffff00
|
|
||||||
col.inactive = 0x66777700
|
|
||||||
col.locked_active = 0x66ff5500
|
|
||||||
col.locked_inactive = 0x66775500
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
misc {
|
|
||||||
disable_hyprland_logo = true
|
|
||||||
disable_splash_rendering = true
|
|
||||||
|
|
||||||
col.splash = 0xffffffff
|
|
||||||
|
|
||||||
font_family = Letter
|
|
||||||
# splash_font_family =
|
|
||||||
force_default_wallpaper = -1
|
|
||||||
vfr = true
|
|
||||||
vrr = 1
|
|
||||||
mouse_move_enables_dpms = false
|
|
||||||
key_press_enables_dpms = true
|
|
||||||
always_follow_on_dnd = true
|
|
||||||
layers_hog_keyboard_focus = true
|
|
||||||
animate_manual_resizes = false
|
|
||||||
animate_mouse_windowdragging = false
|
|
||||||
disable_autoreload = true
|
|
||||||
enable_swallow = false
|
|
||||||
# swallow_regex =
|
|
||||||
# swallow_exception_regex =
|
|
||||||
focus_on_activate = true
|
|
||||||
mouse_move_focuses_monitor = true
|
|
||||||
render_ahead_of_time = false
|
|
||||||
render_ahead_safezone = 1
|
|
||||||
allow_session_lock_restore = false
|
|
||||||
background_color = 0x018281
|
|
||||||
close_special_on_empty = true
|
|
||||||
new_window_takes_over_fullscreen = 2
|
|
||||||
exit_window_retains_fullscreen = false
|
|
||||||
initial_workspace_tracking = 1
|
|
||||||
middle_click_paste = false
|
|
||||||
render_unfocused_fps = 12
|
|
||||||
disable_xdg_env_checks = false
|
|
||||||
# disable_hyprland_qtutils_check = false
|
|
||||||
# lockdead_screen_delay = 1000
|
|
||||||
}
|
|
||||||
|
|
||||||
binds {
|
|
||||||
pass_mouse_when_bound = false
|
|
||||||
scroll_event_delay = 300
|
|
||||||
workspace_back_and_forth = false
|
|
||||||
allow_workspace_cycles = false
|
|
||||||
workspace_center_on = 1
|
|
||||||
focus_preferred_method = 0
|
|
||||||
ignore_group_lock = false
|
|
||||||
# movefocus_cycles_fullscreen = true
|
|
||||||
# movefocus_cycles_groupfirst = false
|
|
||||||
disable_keybind_grabbing = false
|
|
||||||
window_direction_monitor_fallback = true
|
|
||||||
# allow_pin_fullscreen = true
|
|
||||||
}
|
|
||||||
|
|
||||||
xwayland {
|
|
||||||
enabled = true
|
|
||||||
use_nearest_neighbor = true
|
|
||||||
force_zero_scaling = false
|
|
||||||
}
|
|
||||||
|
|
||||||
opengl {
|
|
||||||
nvidia_anti_flicker = false
|
|
||||||
}
|
|
||||||
|
|
||||||
render {
|
|
||||||
explicit_sync = 2
|
|
||||||
explicit_sync_kms = 2
|
|
||||||
direct_scanout = false
|
|
||||||
expand_undersized_textures = true
|
|
||||||
# xp_mode = false
|
|
||||||
# ctm_animation = 2
|
|
||||||
# allow_early_buffer_release = true
|
|
||||||
}
|
|
||||||
|
|
||||||
cursor {
|
|
||||||
sync_gsettings_theme = true
|
|
||||||
no_hardware_cursors = false
|
|
||||||
no_break_fs_vrr = false
|
|
||||||
min_refresh_rate = 24
|
|
||||||
hotspot_padding = 1
|
|
||||||
inactive_timeout = 10
|
|
||||||
no_warps = false
|
|
||||||
persistent_warps = false
|
|
||||||
warp_on_change_workspace = 0
|
|
||||||
# default_monitor =
|
|
||||||
zoom_factor = 1.0
|
|
||||||
zoom_rigid = false
|
|
||||||
# enable_hypercursor = false
|
|
||||||
hide_on_key_press = true
|
|
||||||
hide_on_touch = true
|
|
||||||
# use_cpu_buffer = 2
|
|
||||||
# warp_back_after_non_mouse_input = false
|
|
||||||
}
|
|
||||||
|
|
||||||
ecosystem {
|
|
||||||
# no_update_news = false
|
|
||||||
# no_donation_nag = true
|
|
||||||
}
|
|
||||||
|
|
||||||
exec-once = gnome-keyring-daemon --start --components=secrets
|
|
||||||
exec-once = dunst --verbosity crit
|
|
||||||
exec-once = waycorner
|
|
||||||
exec-once = waybar
|
|
||||||
|
|
||||||
# TODO Replace with something else?
|
|
||||||
exec-once = wlsunset -t 2500 -l 50.51 -L 4.21
|
|
||||||
|
|
||||||
exec-once = nextcloud --background
|
|
||||||
|
|
||||||
# Turn volume off at boot
|
|
||||||
exec-once = bash -c 'for i in $(seq 1 10); do pactl set-sink-mute @DEFAULT_SINK@ 1 && break; sleep 1; done'
|
|
||||||
|
|
||||||
# STYLING
|
|
||||||
exec-once = swaybg -i "${HOME}/.local/state/sisyphus/bg" --mode=fill
|
|
||||||
env = XCURSOR_SIZE,24
|
|
||||||
|
|
||||||
# SHIFT CAPS CTRL/CONTROL ALT MOD2 MOD3 SUPER/WIN/LOGO/MOD4 MOD5
|
|
||||||
$flag = MOD4
|
|
||||||
|
|
||||||
$left = h
|
|
||||||
$down = j
|
|
||||||
$up = k
|
|
||||||
$right = l
|
|
||||||
|
|
||||||
$term = foot
|
|
||||||
$menu = j4-dmenu-desktop --dmenu="rofi -dmenu -i" --no-generic --usage-log="/home/tdpeuter/.local/state/dmenu.log" --term=$term
|
|
||||||
$lock = swaylock --daemonize
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Nvidia/#environment-variables
|
|
||||||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
|
||||||
env = LIBVA_DRIVER_NAME,nvidia
|
|
||||||
env = NVD_BACKEND,direct
|
|
||||||
|
|
||||||
source = /home/tdpeuter/.config/hypr/input-output.conf
|
|
||||||
source = /home/tdpeuter/.config/hypr/keybinds.conf
|
|
||||||
source = /home/tdpeuter/.config/hypr/modes.conf
|
|
||||||
source = /home/tdpeuter/.config/hypr/hy3.conf # Sway tiling plugin
|
|
||||||
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
||||||
# ~/.config/hypr/input-output.conf
|
|
||||||
|
|
||||||
input {
|
|
||||||
kb_layout = us,be,us
|
|
||||||
kb_variant = altgr-intl,iso-alternate,dvorak
|
|
||||||
|
|
||||||
numlock_by_default = true
|
|
||||||
resolve_binds_by_sym = false
|
|
||||||
|
|
||||||
repeat_rate = 25
|
|
||||||
repeat_delay = 600
|
|
||||||
|
|
||||||
sensitivity = 0.0
|
|
||||||
accel_profile = flat
|
|
||||||
force_no_accel = false
|
|
||||||
|
|
||||||
left_handed = false
|
|
||||||
scroll_method = 2fg
|
|
||||||
scroll_button_lock = true
|
|
||||||
scroll_factor = 1.0
|
|
||||||
natural_scroll = false
|
|
||||||
|
|
||||||
follow_mouse = 2
|
|
||||||
focus_on_close = 0
|
|
||||||
mouse_refocus = true
|
|
||||||
float_switch_override_focus = 1
|
|
||||||
special_fallthrough = false
|
|
||||||
off_window_axis_events = 1
|
|
||||||
emulate_discrete_scroll = 1
|
|
||||||
|
|
||||||
touchpad {
|
|
||||||
disable_while_typing = true
|
|
||||||
natural_scroll = true
|
|
||||||
scroll_factor = 0.8
|
|
||||||
middle_button_emulation = false
|
|
||||||
tap_button_map = lrm
|
|
||||||
clickfinger_behavior = false
|
|
||||||
tap-to-click = true
|
|
||||||
drag_lock = false
|
|
||||||
tap-and-drag = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
device {
|
|
||||||
name = at-translated-set-2-keyboard
|
|
||||||
numlock_by_default = false
|
|
||||||
}
|
|
||||||
|
|
||||||
monitor = , preferred, auto, 1
|
|
||||||
|
|
||||||
monitor = desc:BOE 0x08CF, preferred, 640x1440, 1
|
|
||||||
monitor = desc:Hewlett Packard HP ZR2740w CNT319Y008, preferred, auto-up, 1
|
|
||||||
# Vertical monitors
|
|
||||||
monitor = desc:Dell Inc. DELL P2214H 29C2937M4YTL, preferred, auto-right, 1, transform, 1
|
|
||||||
monitor = desc:Samsung Electric Company S22C650, preferred, auto-right, 1, transform, 1
|
|
||||||
|
|
||||||
# TV
|
|
||||||
monitor = desc:Samsung Electric Company SAMSUNG, disable
|
|
||||||
|
|
||||||
bindl = , switch:on:Lid Switch, exec, hyprctl keyword monitor "eDP-1, disable"
|
|
||||||
bindl = , switch:off:Lid Switch, exec, hyprctl keyword monitor "eDP-1, enable"
|
|
||||||
|
|
||||||
|
|
@ -1,180 +0,0 @@
|
||||||
$notify = "${SCRIPT_DIR}/notify.sh"
|
|
||||||
|
|
||||||
# Navigation
|
|
||||||
|
|
||||||
# Focus
|
|
||||||
bind = $flag, $up, movefocus, u
|
|
||||||
bind = $flag, $right, movefocus, r
|
|
||||||
bind = $flag, $down, movefocus, d
|
|
||||||
bind = $flag, $left, movefocus, l
|
|
||||||
|
|
||||||
bind = $flag, up, movefocus, u
|
|
||||||
bind = $flag, right, movefocus, r
|
|
||||||
bind = $flag, down, movefocus, d
|
|
||||||
bind = $flag, left, movefocus, l
|
|
||||||
|
|
||||||
# Move windows
|
|
||||||
bind = $flag+Shift, $up, movewindow, u
|
|
||||||
bind = $flag+Shift, $right, movewindow, r
|
|
||||||
bind = $flag+Shift, $down, movewindow, d
|
|
||||||
bind = $flag+Shift, $left, movewindow, l
|
|
||||||
|
|
||||||
bind = $flag+Shift, up, movewindow, u
|
|
||||||
bind = $flag+Shift, right, movewindow, r
|
|
||||||
bind = $flag+Shift, down, movewindow, d
|
|
||||||
bind = $flag+Shift, left, movewindow, l
|
|
||||||
|
|
||||||
# $flag+Next move scratchpad
|
|
||||||
# $flag+KP_Next move scratchpad
|
|
||||||
# $flag+Prior scratchpad show
|
|
||||||
# $flag+KP_Prior scratchpad show
|
|
||||||
bind = $flag, Next, movetoworkspace, special:scratchpad
|
|
||||||
bind = $flag, KP_Next, movetoworkspace, special:scratchpad
|
|
||||||
|
|
||||||
bind = $flag, Prior, togglespecialworkspace, special:scratchpad
|
|
||||||
bind = $flag, Prior, movetoworkspace, special:scratchpad
|
|
||||||
bind = $flag, Prior, togglespecialworkspace, special:scratchpad
|
|
||||||
|
|
||||||
# bind = $flag, Next, movetoworkspace, special:magic
|
|
||||||
# bind = $flag, Next, togglespecialworkspace, magic
|
|
||||||
|
|
||||||
# bind = $flag, KP_Next, togglespecialworkspace, magic
|
|
||||||
# bind = $flag, KP_Next, movetoworkspace, +0
|
|
||||||
# bind = $flag, KP_Next, togglespecialworkspace, magic
|
|
||||||
# bind = $flag, KP_Next, movetoworkspace, special:magic
|
|
||||||
# bind = $flag, KP_Next, togglespecialworkspace, magic
|
|
||||||
|
|
||||||
# Layouts
|
|
||||||
bind = $flag, f, togglefloating
|
|
||||||
bind = $flag+Shift, f, settiled
|
|
||||||
|
|
||||||
bind = $flag, s, pin
|
|
||||||
bind = $flag, s, setfloating
|
|
||||||
bind = $flag+Shift, s, pin
|
|
||||||
bind = $flag+Shift, s, settiled
|
|
||||||
|
|
||||||
bind = $flag, F11, fullscreen, 1
|
|
||||||
bind = $flag+Shift, F11, fullscreen, 0
|
|
||||||
|
|
||||||
# Workspaces
|
|
||||||
|
|
||||||
$ws1 = 1
|
|
||||||
$ws2 = 2
|
|
||||||
$ws3 = 3
|
|
||||||
$ws4 = 4
|
|
||||||
$ws5 = 5
|
|
||||||
$ws6 = 6
|
|
||||||
$ws7 = 7
|
|
||||||
$ws8 = 8
|
|
||||||
$ws9 = 9
|
|
||||||
$ws10 = 10
|
|
||||||
$ws11 = 11
|
|
||||||
$ws12 = 12
|
|
||||||
|
|
||||||
# Focus a specific workspace
|
|
||||||
bind = $flag, 1, workspace, $ws1
|
|
||||||
bind = $flag, 2, workspace, $ws2
|
|
||||||
bind = $flag, 3, workspace, $ws3
|
|
||||||
bind = $flag, 4, workspace, $ws4
|
|
||||||
bind = $flag, 5, workspace, $ws5
|
|
||||||
bind = $flag, 6, workspace, $ws6
|
|
||||||
bind = $flag, 7, workspace, $ws7
|
|
||||||
bind = $flag, 8, workspace, $ws8
|
|
||||||
bind = $flag, 9, workspace, $ws9
|
|
||||||
bind = $flag, 0, workspace, $ws10
|
|
||||||
bind = $flag, minus, workspace, $ws11
|
|
||||||
bind = $flag, equal, workspace, $ws12
|
|
||||||
|
|
||||||
# Move window to a specific workspace
|
|
||||||
bind = $flag+Shift, 1, movetoworkspace, $ws1
|
|
||||||
bind = $flag+Shift, 2, movetoworkspace, $ws2
|
|
||||||
bind = $flag+Shift, 3, movetoworkspace, $ws3
|
|
||||||
bind = $flag+Shift, 4, movetoworkspace, $ws4
|
|
||||||
bind = $flag+Shift, 5, movetoworkspace, $ws5
|
|
||||||
bind = $flag+Shift, 6, movetoworkspace, $ws6
|
|
||||||
bind = $flag+Shift, 7, movetoworkspace, $ws7
|
|
||||||
bind = $flag+Shift, 8, movetoworkspace, $ws8
|
|
||||||
bind = $flag+Shift, 9, movetoworkspace, $ws9
|
|
||||||
bind = $flag+Shift, 0, movetoworkspace, $ws10
|
|
||||||
bind = $flag+Shift, Minus, movetoworkspace, $ws11
|
|
||||||
bind = $flag+Shift, Equal, movetoworkspace, $ws12
|
|
||||||
|
|
||||||
# Go through workspaces in order
|
|
||||||
bind = $flag+Ctrl, $left, workspace, e-1
|
|
||||||
bind = $flag+Ctrl, $right, workspace, e+1
|
|
||||||
|
|
||||||
bind = $flag+Ctrl, left, workspace, e-1
|
|
||||||
bind = $flag+Ctrl, right, workspace, e+1
|
|
||||||
|
|
||||||
bind = $flag+Ctrl+Shift, $left, movetoworkspace, e-1
|
|
||||||
bind = $flag+Ctrl+Shift, $right, movetoworkspace, e+1
|
|
||||||
|
|
||||||
bind = $flag+Ctrl+Shift, left, movetoworkspace, e-1
|
|
||||||
bind = $flag+Ctrl+Shift, right, movetoworkspace, e+1
|
|
||||||
|
|
||||||
# GNOME-like keybinds
|
|
||||||
bind = $flag+Alt, $left, workspace, e-1
|
|
||||||
bind = $flag+Alt, $right, workspace, e+1
|
|
||||||
|
|
||||||
bind = $flag+Alt, left, workspace, e-1
|
|
||||||
bind = $flag+Alt, right, workspace, e+1
|
|
||||||
|
|
||||||
bind = $flag+Alt+Shift, $left, movetoworkspace, e-1
|
|
||||||
bind = $flag+Alt+Shift, $right, movetoworkspace, e+1
|
|
||||||
|
|
||||||
bind = $flag+Alt+Shift, left, movetoworkspace, e-1
|
|
||||||
bind = $flag+Alt+Shift, right, movetoworkspace, e+1
|
|
||||||
|
|
||||||
# System
|
|
||||||
|
|
||||||
# Brightness
|
|
||||||
bind = , XF86MonBrightnessDown, exec, brightnessctl -e s 5%- && $notify -b
|
|
||||||
bind = , XF86MonBrightnessUp, exec, brightnessctl -e s +5% && $notify -b
|
|
||||||
|
|
||||||
# Audio
|
|
||||||
bind = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 2%+ && $notify -v
|
|
||||||
bind = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%- && $notify -v
|
|
||||||
bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && $notify -v
|
|
||||||
bind = , XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
|
||||||
|
|
||||||
# Media
|
|
||||||
bind = , XF86AudioPlay, exec, playerctl play-pause
|
|
||||||
bind = , XF86AudioPrev, exec, playerctl previous
|
|
||||||
bind = , XF86AudioNext, exec, playerctl next
|
|
||||||
|
|
||||||
bind = Shift, XF86AudioMute, exec, playerctl play-pause
|
|
||||||
bind = Shift, XF86AudioLowerVolume, exec, playerctl previous
|
|
||||||
bind = Shift, XF86AudioRaiseVolume, exec, playerctl next
|
|
||||||
|
|
||||||
# Other special keys
|
|
||||||
bind = , XF86Calculator, exec, qalculate-gtk
|
|
||||||
|
|
||||||
# Shortcuts
|
|
||||||
|
|
||||||
# Reload
|
|
||||||
bind = Alt+Shift, r, exec, "hyperctl reload"
|
|
||||||
bind = Ctrl+Alt+Shift, r, forcerendererreload
|
|
||||||
bind = Alt+Shift, e, exit
|
|
||||||
|
|
||||||
# Kill a window
|
|
||||||
bind = $flag, q, closewindow, activewindow
|
|
||||||
|
|
||||||
# Start a terminal
|
|
||||||
bind = $flag, Return, exec, $term
|
|
||||||
bind = CTRL&ALT, T, exec, $term
|
|
||||||
# Application menu
|
|
||||||
bind = Alt, Space, exec, $menu
|
|
||||||
bind = Alt, Tab, focuscurrentorlast
|
|
||||||
|
|
||||||
bind = $flag, e, exec, $term -e vifm
|
|
||||||
bind = Ctrl+Shift, Escape, exec, $term -e zenith
|
|
||||||
|
|
||||||
bind = Ctrl+Shift, a, exec, notify-send "hole!" && hyprctl setcursor _ 87 && sleep 5 && hyprctl setcursor _ 24
|
|
||||||
|
|
||||||
# bind = $flag, mouse_up, movefocus, l
|
|
||||||
bind = SUPER, mouse_down, workspace, e-1
|
|
||||||
bind = SUPER, mouse_up, workspace, e+1
|
|
||||||
# bind = $flag, mouse_down, movefocus, r
|
|
||||||
|
|
||||||
bind = $flag, Delete, exec, $lock
|
|
||||||
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
||||||
# System actions
|
|
||||||
$mode_system = System (l)ock, (s)leep, (h)ibernate, (r)eboot, (Shift+s)hutdown
|
|
||||||
bind = Ctrl+Alt, Delete, submap, $mode_system
|
|
||||||
submap = $mode_system
|
|
||||||
|
|
||||||
bind = , l, exec, $lock
|
|
||||||
bind = , l, submap, reset
|
|
||||||
bind = , s, exec, $lock, exec, systemctl suspend
|
|
||||||
bind = , s, submap, reset
|
|
||||||
bind = , h, exec, $lock, exec, systemctl hibernate
|
|
||||||
bind = , h, submap, reset
|
|
||||||
bind = , r, exec, systemctl reboot
|
|
||||||
bind = Shift, s, exec, systemctl poweroff -i
|
|
||||||
|
|
||||||
bind = Ctrl+Alt, Delete, submap, reset
|
|
||||||
bind = , Escape, submap, reset
|
|
||||||
bind = , Return, submap, reset
|
|
||||||
|
|
||||||
submap = reset
|
|
||||||
|
|
||||||
# Launcher
|
|
||||||
$mode_launcher = Launch (f)irefox, (t)hunderbird, (l)ogseq.
|
|
||||||
bind = $flag, O, submap, $mode_launcher
|
|
||||||
submap = $mode_launcher
|
|
||||||
|
|
||||||
bind = , F, exec, firefox
|
|
||||||
bind = , F, submap, reset
|
|
||||||
bind = , L, exec, logseq
|
|
||||||
bind = , L, submap, reset
|
|
||||||
bind = , T, exec, thunderbird
|
|
||||||
bind = , T, submap, reset
|
|
||||||
|
|
||||||
bind = $flag, O, submap, reset
|
|
||||||
bind = , Escape, submap, reset
|
|
||||||
bind = , Return, submap, reset
|
|
||||||
|
|
||||||
submap = reset
|
|
||||||
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
# Generated by nwg-displays on 2025-01-27 at 13:58:39. Do not edit manually.
|
|
||||||
|
|
||||||
monitor=desc:BOE 0x08CF,1920x1080@60.0,0x0,1.0
|
|
||||||
monitor=desc:Hewlett Packard HP ZR2740w CNT319Y008,2560x1440@59.95,0x1800,1.0
|
|
||||||
monitor=desc:Hewlett Packard HP ZR2740w CNT319Y008,disable
|
|
||||||
monitor=desc:Dell Inc. DELL P2214H 29C2937M4YTL,1920x1080@60.0,2560x1800,1.0
|
|
||||||
monitor=desc:Dell Inc. DELL P2214H 29C2937M4YTL,transform,1
|
|
||||||
monitor=desc:Dell Inc. DELL P2214H 29C2937M4YTL,disable
|
|
||||||
monitor=desc:Samsung Electric Company SAMSUNG,0x0@60.0,-1x-1,1.0
|
|
||||||
monitor=desc:Samsung Electric Company SAMSUNG,disable
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
monitor=desc:BOE 0x08CF,1920x1080@60.0,0x0,1.0
|
|
||||||
monitor=desc:Hewlett Packard HP ZR2740w CNT319Y008,2560x1440@59.95,0x1800,1.0
|
|
||||||
monitor=desc:Hewlett Packard HP ZR2740w CNT319Y008,disable
|
|
||||||
monitor=desc:Dell Inc. DELL P2214H 29C2937M4YTL,1920x1080@60.0,2560x1800,1.0
|
|
||||||
monitor=desc:Dell Inc. DELL P2214H 29C2937M4YTL,transform,1
|
|
||||||
monitor=desc:Dell Inc. DELL P2214H 29C2937M4YTL,disable
|
|
||||||
monitor=desc:Samsung Electric Company SAMSUNG,0x0@60.0,-1x-1,1.0
|
|
||||||
monitor=desc:Samsung Electric Company SAMSUNG,disable
|
|
||||||
|
|
||||||
|
|
@ -1,3 +1,9 @@
|
||||||
|
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
|
||||||
|
|
@ -9,7 +15,7 @@ Host git.depeuter.dev
|
||||||
User git
|
User git
|
||||||
HostName git.depeuter.dev
|
HostName git.depeuter.dev
|
||||||
IdentitiesOnly yes
|
IdentitiesOnly yes
|
||||||
IdentityFile /run/secrets/Gitea/ssh
|
IdentityFile /run/secrets/Hugo/Gitea/ssh
|
||||||
|
|
||||||
Host github.com
|
Host github.com
|
||||||
User git
|
User git
|
||||||
|
|
@ -30,60 +36,3 @@ 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
|
|
||||||
|
|
||||||
# Physical hosts
|
|
||||||
Host Hugo
|
|
||||||
User admin
|
|
||||||
HostName 192.168.0.11
|
|
||||||
IdentitiesOnly yes
|
|
||||||
IdentityFile /run/secrets/HomeLab/Hugo/ssh
|
|
||||||
|
|
||||||
Host Roxanne
|
|
||||||
User ghost
|
|
||||||
Hostname 192.168.0.13
|
|
||||||
IdentitiesOnly yes
|
|
||||||
IdentityFile /run/secrets/HomeLab/Roxanne/ghost/ssh
|
|
||||||
|
|
||||||
Host HTPC
|
|
||||||
User root
|
|
||||||
Hostname 192.168.0.88
|
|
||||||
IdentitiesOnly yes
|
|
||||||
IdentityFile /run/secrets/HomeLab/HTPC/ssh
|
|
||||||
|
|
||||||
# Virtual hosts
|
|
||||||
Host Gitea
|
|
||||||
User gh0st
|
|
||||||
HostName 192.168.0.24
|
|
||||||
IdentitiesOnly yes
|
|
||||||
IdentityFile /run/secrets/HomeLab/Gitea/ssh
|
|
||||||
|
|
||||||
Host Nextcloud
|
|
||||||
User administrator
|
|
||||||
Hostname 192.168.0.14
|
|
||||||
IdentitiesOnly yes
|
|
||||||
IdentityFile /run/secrets/HomeLab/Nextcloud/ssh
|
|
||||||
|
|
||||||
Host Vaultwarden
|
|
||||||
User gh0st
|
|
||||||
Hostname 192.168.0.22
|
|
||||||
IdentitiesOnly yes
|
|
||||||
IdentityFile /run/secrets/HomeLab/Vaultwarden/ssh
|
|
||||||
|
|
||||||
Host Binnenpost
|
|
||||||
User admin
|
|
||||||
Hostname 192.168.0.89
|
|
||||||
IdentitiesOnly yes
|
|
||||||
IdentityFile /run/secrets/HomeLab/NixOS/admin/ssh
|
|
||||||
|
|
||||||
Host Development
|
|
||||||
User admin
|
|
||||||
Hostname 192.168.0.91
|
|
||||||
IdentitiesOnly yes
|
|
||||||
IdentityFile /run/secrets/HomeLab/NixOS/admin/ssh
|
|
||||||
|
|
||||||
Host Testing
|
|
||||||
User admin
|
|
||||||
Hostname 192.168.0.92
|
|
||||||
IdentitiesOnly yes
|
|
||||||
IdentityFile /run/secrets/HomeLab/Nixos/admin/ssh
|
|
||||||
|
|
|
||||||
|
|
@ -15,12 +15,10 @@ set {
|
||||||
$scrollUp button4
|
$scrollUp button4
|
||||||
$scrollDown button5
|
$scrollDown button5
|
||||||
|
|
||||||
# $term kitty || alacritty || foot
|
$term kitty || alacritty || foot
|
||||||
$term foot
|
$menu j4-dmenu-desktop --dmenu "rofi -dmenu -i"
|
||||||
$menu j4-dmenu-desktop --dmenu="rofi -dmenu -i" --no-generic --usage-log="/home/tdpeuter/.local/state/dmenu.log" --term=$term
|
|
||||||
# TODO Find better location and better way to reference this.
|
|
||||||
$window_switcher /home/tdpeuter/projects/fzf-jump/new.sh
|
$window_switcher /home/tdpeuter/projects/fzf-jump/new.sh
|
||||||
$lock swaylock -f
|
$lock swaylock -f
|
||||||
}
|
}
|
||||||
|
|
||||||
include {
|
include {
|
||||||
|
|
@ -49,8 +47,6 @@ for_window {
|
||||||
[window_role="webconsole"] floating enable
|
[window_role="webconsole"] floating enable
|
||||||
[window_type="dialog"] floating enable
|
[window_type="dialog"] floating enable
|
||||||
[window_type="menu"] floating enable
|
[window_type="menu"] floating enable
|
||||||
|
|
||||||
[app_id="qalculate-gtk"] floating enable, border pixel 1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
exec dbus-sway-environment
|
exec dbus-sway-environment
|
||||||
|
|
@ -61,9 +57,5 @@ 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,8 +1,3 @@
|
||||||
input type:keyboard {
|
|
||||||
xkb_layout "us","be"
|
|
||||||
xkb_variant "altgr-intl","iso-alternate"
|
|
||||||
}
|
|
||||||
|
|
||||||
input type:touchpad {
|
input type:touchpad {
|
||||||
natural_scroll enabled
|
natural_scroll enabled
|
||||||
scroll_factor 0.8
|
scroll_factor 0.8
|
||||||
|
|
@ -11,10 +6,6 @@ input type:touchpad {
|
||||||
}
|
}
|
||||||
|
|
||||||
output * {
|
output * {
|
||||||
bg "${HOME}/.local/state/sisyphus/bg" fill
|
bg "~/Nextcloud/Afbeeldingen/wallpapers/bg" fill
|
||||||
}
|
}
|
||||||
|
|
||||||
# Vertical display
|
|
||||||
output "Dell Inc. DELL P2214H 29C2937M4YTL" {
|
|
||||||
transform 270
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
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
|
||||||
|
|
@ -15,8 +14,10 @@ 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
|
||||||
|
|
@ -31,8 +32,10 @@ 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
|
||||||
|
|
@ -52,22 +55,21 @@ bindsym {
|
||||||
|
|
||||||
# Workspaces
|
# Workspaces
|
||||||
set {
|
set {
|
||||||
$ws1 "1:1"
|
$ws1 "1:1"
|
||||||
$ws2 "2:2"
|
$ws2 "2:2"
|
||||||
$ws3 "3:3"
|
$ws3 "3:3"
|
||||||
$ws4 "4:4"
|
$ws4 "4:4"
|
||||||
$ws5 "5:5"
|
$ws5 "5:5"
|
||||||
$ws6 "6:6"
|
$ws6 "6:6"
|
||||||
$ws7 "7:7"
|
$ws7 "7:7"
|
||||||
$ws8 "8:8"
|
$ws8 "8:8"
|
||||||
$ws9 "9:9"
|
$ws9 "9:9"
|
||||||
$ws10 "10:10"
|
$ws10 "10:10"
|
||||||
$ws11 "11:Soc"
|
$ws11 "11:Soc"
|
||||||
$ws12 "12:Ent"
|
$ws12 "12:Ent"
|
||||||
}
|
}
|
||||||
|
|
||||||
bindsym {
|
bindsym {
|
||||||
# Focus a specific workspace
|
|
||||||
$flag+1 workspace $ws1
|
$flag+1 workspace $ws1
|
||||||
$flag+2 workspace $ws2
|
$flag+2 workspace $ws2
|
||||||
$flag+3 workspace $ws3
|
$flag+3 workspace $ws3
|
||||||
|
|
@ -81,7 +83,6 @@ bindsym {
|
||||||
$flag+minus workspace $ws11
|
$flag+minus workspace $ws11
|
||||||
$flag+equal workspace $ws12
|
$flag+equal workspace $ws12
|
||||||
|
|
||||||
# Move window to a specific workspace
|
|
||||||
$flag+Shift+1 move container to workspace $ws1, workspace $ws1
|
$flag+Shift+1 move container to workspace $ws1, workspace $ws1
|
||||||
$flag+Shift+2 move container to workspace $ws2, workspace $ws2
|
$flag+Shift+2 move container to workspace $ws2, workspace $ws2
|
||||||
$flag+Shift+3 move container to workspace $ws3, workspace $ws3
|
$flag+Shift+3 move container to workspace $ws3, workspace $ws3
|
||||||
|
|
@ -95,35 +96,20 @@ bindsym {
|
||||||
$flag+Shift+minus move container to workspace $ws11, workspace $ws11
|
$flag+Shift+minus move container to workspace $ws11, workspace $ws11
|
||||||
$flag+Shift+equal move container to workspace $ws12, workspace $ws12
|
$flag+Shift+equal move container to workspace $ws12, workspace $ws12
|
||||||
|
|
||||||
# Go through workspaces in order
|
|
||||||
$flag+Control+$left workspace prev_on_output
|
$flag+Control+$left workspace prev_on_output
|
||||||
$flag+Control+$right workspace next_on_output
|
$flag+Control+$right workspace next_on_output
|
||||||
|
|
||||||
$flag+Control+Left workspace prev_on_output
|
$flag+Control+Left workspace prev_on_output
|
||||||
$flag+Control+Right workspace next_on_output
|
$flag+Control+Right workspace next_on_output
|
||||||
|
|
||||||
|
--whole-window $flag+$scrollUp workspace prev_on_output
|
||||||
|
--whole-window $flag+$scrollDown workspace next_on_output
|
||||||
|
|
||||||
$flag+Control+Shift+$left move container to workspace prev_on_output, workspace prev_on_output
|
$flag+Control+Shift+$left move container to workspace prev_on_output, workspace prev_on_output
|
||||||
$flag+Control+Shift+$right move container to workspace next_on_output, workspace next_on_output
|
$flag+Control+Shift+$right move container to workspace next_on_output, workspace next_on_output
|
||||||
|
|
||||||
$flag+Control+Shift+Left move container to workspace prev_on_output, workspace prev_on_output
|
$flag+Control+Shift+Left move container to workspace prev_on_output, workspace prev_on_output
|
||||||
$flag+Control+Shift+Right move container to workspace next_on_output, workspace next_on_output
|
$flag+Control+Shift+Right move container to workspace next_on_output, workspace next_on_output
|
||||||
|
|
||||||
# Also GNOME-like keybinds
|
|
||||||
$flag+$alt+$left workspace prev_on_output
|
|
||||||
$flag+$alt+$right workspace next_on_output
|
|
||||||
|
|
||||||
$flag+$alt+Left workspace prev_on_output
|
|
||||||
$flag+$alt+Right workspace next_on_output
|
|
||||||
|
|
||||||
$flag+$alt+Shift+$left move container to workspace prev_on_output, workspace prev_on_output
|
|
||||||
$flag+$alt+Shift+$right move container to workspace next_on_output, workspace next_on_output
|
|
||||||
|
|
||||||
$flag+$alt+Shift+Left move container to workspace prev_on_output, workspace prev_on_output
|
|
||||||
$flag+$alt+Shift+Right move container to workspace next_on_output, workspace next_on_output
|
|
||||||
|
|
||||||
# Use your mouse to scroll between workspaces
|
|
||||||
--whole-window $flag+$scrollUp workspace prev_on_output
|
|
||||||
--whole-window $flag+$scrollDown workspace next_on_output
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bindgesture {
|
bindgesture {
|
||||||
|
|
@ -133,40 +119,17 @@ bindgesture {
|
||||||
|
|
||||||
# Outputs
|
# Outputs
|
||||||
bindsym {
|
bindsym {
|
||||||
# Use "left" and "up" at the same time to mimic "previous"
|
$flag+Control+$up focus output up
|
||||||
# Use "right" and "down" at the same time to mimic "next"
|
$flag+Control+$down focus output down
|
||||||
# Though this does not work when using multiple screens, it's an intermediary solution until Sway supports "output next/previous"
|
|
||||||
$flag+Control+$up focus output left, focus output up
|
|
||||||
$flag+Control+$down focus output right, focus output down
|
|
||||||
|
|
||||||
$flag+Control+Up focus output left, focus output up
|
$flag+Control+Up focus output up
|
||||||
$flag+Control+Down focus output right, focus output down
|
$flag+Control+Down focus output down
|
||||||
|
|
||||||
$flag+$alt+$up focus output left, focus output up
|
$flag+Control+Shift+$up move container to output up, focus output up
|
||||||
$flag+$alt+$down focus output right, focus output down
|
$flag+Control+Shift+$down move container to output down, focus output down
|
||||||
|
|
||||||
$flag+$alt+Up focus output left, focus output up
|
$flag+Control+Shift+Up move container to output up, focus output up
|
||||||
$flag+$alt+Down focus output right, focus output down
|
$flag+Control+Shift+Down move container to output down, focus output down
|
||||||
|
|
||||||
$flag+Control+Shift+$up move container to output left, focus output left \
|
|
||||||
move container to output up, focus output up
|
|
||||||
$flag+Control+Shift+$down move container to output right, focus output right \
|
|
||||||
move container to output down, focus output down
|
|
||||||
|
|
||||||
$flag+Control+Shift+Up move container to output left, focus output left \
|
|
||||||
move container to output up, focus output up
|
|
||||||
$flag+Control+Shift+Down move container to output right, focus output right \
|
|
||||||
move container to output down, focus output down
|
|
||||||
|
|
||||||
$flag+$alt+Shift+$up move container to output left, focus output left \
|
|
||||||
move container to output up, focus output up
|
|
||||||
$flag+$alt+Shift+$down move container to output right, focus output right \
|
|
||||||
move container to output down, focus output down
|
|
||||||
|
|
||||||
$flag+$alt+Shift+Up move container to output left, focus output left \
|
|
||||||
move container to output up, focus output up
|
|
||||||
$flag+$alt+Shift+Down move container to output right, focus output right \
|
|
||||||
move container to output down, focus output down
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# System
|
# System
|
||||||
|
|
@ -196,6 +159,7 @@ bindsym --locked {
|
||||||
|
|
||||||
bindgesture hold:3 exec playerctl play-pause
|
bindgesture hold:3 exec playerctl play-pause
|
||||||
|
|
||||||
|
|
||||||
# Shortcuts
|
# Shortcuts
|
||||||
bindsym {
|
bindsym {
|
||||||
# Reload sway
|
# Reload sway
|
||||||
|
|
@ -206,30 +170,26 @@ bindsym {
|
||||||
-B 'Yes, exit sway' 'swaymsg exit'
|
-B 'Yes, exit sway' 'swaymsg exit'
|
||||||
|
|
||||||
# Kill focused window
|
# Kill focused window
|
||||||
$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+Tab focus prev
|
||||||
$alt+space exec $menu
|
$flag+Tab exec $window_switcher
|
||||||
$alt+Tab focus prev
|
|
||||||
$flag+Tab exec $window_switcher
|
|
||||||
|
|
||||||
--whole-window $alt+$scrollUp focus prev
|
|
||||||
--whole-window $alt+$scrollDown focus next
|
|
||||||
|
|
||||||
# Lock the screen
|
# Lock the screen
|
||||||
$flag+Delete exec $lock
|
$flag+Delete exec $lock
|
||||||
|
|
||||||
# File explorer
|
# File explorer
|
||||||
$flag+e exec $term -e vifm
|
$flag+e exec $term -e vifm
|
||||||
|
# Internet browser
|
||||||
|
$flag+i exec firefox
|
||||||
}
|
}
|
||||||
|
|
||||||
bindgesture {
|
bindgesture {
|
||||||
# Also show the bar, hide when finished
|
swipe:3:up exec $window_switcher
|
||||||
swipe:3:up bar hidden_state show, exec "$window_switcher; swaymsg bar hidden_state hide"
|
swipe:4:up exec $menu
|
||||||
swipe:4:up exec "$menu; swaymsg bar hidden_state hide"
|
|
||||||
|
|
||||||
# Cancel and hide bar
|
# Cancel
|
||||||
swipe:down exec pkill rofi, bar hidden_state hide
|
swipe:down exec pkill rofi
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,51 +5,42 @@
|
||||||
set $default "default"
|
set $default "default"
|
||||||
|
|
||||||
# Resizing
|
# Resizing
|
||||||
set $mode_resize "Resize"
|
set $resize "Resize"
|
||||||
bindsym $flag+r mode $mode_resize
|
bindsym $flag+r mode $resize
|
||||||
mode $mode_resize {
|
mode $resize bindsym {
|
||||||
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
|
$down resize shrink height 10 px or 10 ppt
|
||||||
$down resize shrink height 10 px or 10 ppt
|
|
||||||
|
|
||||||
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
|
||||||
Down resize shrink height 10 px or 10 ppt
|
Down resize shrink height 10 px or 10 ppt
|
||||||
|
|
||||||
Shift+$right resize grow width 50 px or 50 ppt
|
Shift+$right resize grow width 50 px or 50 ppt
|
||||||
Shift+$up resize grow height 50 px or 50 ppt
|
Shift+$up resize grow height 50 px or 50 ppt
|
||||||
Shift+$left resize shrink width 50 px or 50 ppt
|
Shift+$left resize shrink width 50 px or 50 ppt
|
||||||
Shift+$down resize shrink height 50 px or 50 ppt
|
Shift+$down resize shrink height 50 px or 50 ppt
|
||||||
|
|
||||||
Shift+Right resize grow width 50 px or 50 ppt
|
Shift+Right resize grow width 50 px or 50 ppt
|
||||||
Shift+Up resize grow height 50 px or 50 ppt
|
Shift+Up resize grow height 50 px or 50 ppt
|
||||||
Shift+Left resize shrink width 50 px or 50 ppt
|
Shift+Left resize shrink width 50 px or 50 ppt
|
||||||
Shift+Down resize shrink height 50 px or 50 ppt
|
Shift+Down resize shrink height 50 px or 50 ppt
|
||||||
|
|
||||||
$flag+$right move right
|
$flag+$right move right
|
||||||
$flag+$up move up
|
$flag+$up move up
|
||||||
$flag+$left move left
|
$flag+$left move left
|
||||||
$flag+$down move down
|
$flag+$down move down
|
||||||
|
|
||||||
$flag+Right move right
|
$flag+Right move right
|
||||||
$flag+Up move up
|
$flag+Up move up
|
||||||
$flag+Left move left
|
$flag+Left move left
|
||||||
$flag+Down move down
|
$flag+Down move down
|
||||||
|
|
||||||
$flag+r mode $default
|
Return mode $default
|
||||||
Escape mode $default
|
Escape mode $default
|
||||||
Return mode $default
|
$flag+r 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
|
||||||
|
|
@ -62,23 +53,9 @@ 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
|
||||||
|
|
||||||
Control+$alt+Delete mode $default
|
|
||||||
Escape mode $default
|
|
||||||
Return mode $default
|
Return mode $default
|
||||||
}
|
Escape mode $default
|
||||||
|
Control+$alt+Delete 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
|
||||||
|
|
@ -95,23 +72,17 @@ 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
|
||||||
|
|
||||||
Escape mode $default
|
|
||||||
Return mode $default
|
Return mode $default
|
||||||
|
Escape mode $default
|
||||||
}
|
}
|
||||||
|
|
||||||
# Launcher
|
set $mode_preferences "Toggle (d)ark mode, (s)unset, (n)otification"
|
||||||
set $mode_launcher "Launch (f)irefox, (s)potify or (t)hunderbird."
|
bindsym $alt+end mode $mode_preferences {
|
||||||
bindsym $flag+o mode $mode_launcher
|
d exec "${SCRIPT_DIR}/toggle-light-dark.sh", mode $default
|
||||||
mode $mode_launcher bindsym {
|
s exec "${SCRIPT_DIR}/sunset.sh", mode $default
|
||||||
f exec firefox, mode $default
|
n exec "${SCRIPT_DIR}/do-not-disturb.sh", mode $default
|
||||||
t exec thunderbird, mode $default
|
|
||||||
|
|
||||||
$flag+o mode $default
|
Return mode $default
|
||||||
Escape mode $default
|
Escape mode $default
|
||||||
Return mode $default
|
$alt+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,10 +15,6 @@ 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
|
||||||
|
|
|
||||||
|
|
@ -2,55 +2,41 @@
|
||||||
# .config/swaylock/config
|
# .config/swaylock/config
|
||||||
#
|
#
|
||||||
|
|
||||||
#indicator
|
indicator
|
||||||
#indicator-radius=200
|
indicator-radius=200
|
||||||
#
|
|
||||||
#clock
|
|
||||||
#datestr=%A, %B %d %Y
|
|
||||||
#
|
|
||||||
#show-failed-attempts
|
|
||||||
#
|
|
||||||
#screenshots
|
|
||||||
#effect-pixelate=10
|
|
||||||
#effect-vignette=0.75:0 # Darken the whole screen.
|
|
||||||
#fade-in=0.25
|
|
||||||
#
|
|
||||||
#grace=7 # Allow to unlock without password for duration
|
|
||||||
#grace-no-mouse
|
|
||||||
|
|
||||||
image=${ASSETS_DIR}/bluescreen.png
|
clock
|
||||||
|
datestr=%A, %B %d %Y
|
||||||
|
|
||||||
|
screenshots
|
||||||
|
effect-blur=5x5
|
||||||
|
effect-vignette=0.75:0 # Darken the whole screen.
|
||||||
|
fade-in=0.25
|
||||||
|
|
||||||
|
grace=7 # Allow to unlock without password for duration
|
||||||
|
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-caps-lock-color=ffffff
|
text-wrong-color=eb4d4b
|
||||||
text-wrong-color=bd2024
|
|
||||||
|
|
||||||
layout-text-color=ffffff
|
|
||||||
|
|
||||||
# Make all the other stuff invisible
|
# Make all the other stuff invisible
|
||||||
inside-color=00000000
|
|
||||||
inside-clear-color=00000000
|
|
||||||
inside-caps-lock-color=00000000
|
|
||||||
inside-ver-color=00000000
|
|
||||||
inside-wrong-color=00000000
|
|
||||||
key-hl-color=00000000
|
key-hl-color=00000000
|
||||||
layout-bg-color=00000000
|
separator-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-color=00000000
|
||||||
ring-clear-color=00000000
|
ring-clear-color=00000000
|
||||||
ring-caps-lock-color=00000000
|
|
||||||
ring-ver-color=00000000
|
ring-ver-color=00000000
|
||||||
ring-wrong-color=00000000
|
ring-wrong-color=00000000
|
||||||
separator-color=00000000
|
line-color=00000000
|
||||||
|
line-clear-color=00000000
|
||||||
|
line-ver-color=00000000
|
||||||
|
line-wrong-color=00000000
|
||||||
|
inside-color=00000000
|
||||||
|
inside-clear-color=00000000
|
||||||
|
inside-ver-color=00000000
|
||||||
|
inside-wrong-color=00000000
|
||||||
text-ver-color=00000000
|
text-ver-color=00000000
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,87 +0,0 @@
|
||||||
" vimrc file for following the coding standards specified in PEP 7 & 8.
|
|
||||||
"
|
|
||||||
" To use this file, source it in your own personal .vimrc file (``source
|
|
||||||
" <filename>``) or, if you don't have a .vimrc file, you can just symlink to it
|
|
||||||
" (``ln -s <this file> ~/.vimrc``). All options are protected by autocmds
|
|
||||||
" (read below for an explanation of the command) so blind sourcing of this file
|
|
||||||
" is safe and will not affect your settings for non-Python or non-C files.
|
|
||||||
"
|
|
||||||
"
|
|
||||||
" All setting are protected by 'au' ('autocmd') statements. Only files ending
|
|
||||||
" in .py or .pyw will trigger the Python settings while files ending in *.c or
|
|
||||||
" *.h will trigger the C settings. This makes the file "safe" in terms of only
|
|
||||||
" adjusting settings for Python and C files.
|
|
||||||
"
|
|
||||||
" Only basic settings needed to enforce the style guidelines are set.
|
|
||||||
" Some suggested options are listed but commented out at the end of this file.
|
|
||||||
|
|
||||||
" Number of spaces that a pre-existing tab is equal to.
|
|
||||||
" For the amount of space used for a new tab use shiftwidth.
|
|
||||||
au BufRead,BufNewFile *py,*pyw,*.c,*.h set tabstop=8
|
|
||||||
|
|
||||||
" What to use for an indent.
|
|
||||||
" This will affect Ctrl-T and 'autoindent'.
|
|
||||||
" Python: 4 spaces
|
|
||||||
" C: tabs (pre-existing files) or 4 spaces (new files)
|
|
||||||
au BufRead,BufNewFile *.py,*pyw set shiftwidth=4
|
|
||||||
au BufRead,BufNewFile *.py,*.pyw set expandtab
|
|
||||||
fu Select_c_style()
|
|
||||||
if search('^\t', 'n', 150)
|
|
||||||
set shiftwidth=8
|
|
||||||
set noexpandtab
|
|
||||||
el
|
|
||||||
set shiftwidth=4
|
|
||||||
set expandtab
|
|
||||||
en
|
|
||||||
endf
|
|
||||||
au BufRead,BufNewFile *.c,*.h call Select_c_style()
|
|
||||||
au BufRead,BufNewFile Makefile* set noexpandtab
|
|
||||||
|
|
||||||
" Use the below highlight group when displaying bad whitespace is desired.
|
|
||||||
highlight BadWhitespace ctermbg=red guibg=red
|
|
||||||
|
|
||||||
" Display tabs at the beginning of a line in Python mode as bad.
|
|
||||||
au BufRead,BufNewFile *.py,*.pyw match BadWhitespace /^\t\+/
|
|
||||||
" Make trailing whitespace be flagged as bad.
|
|
||||||
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/
|
|
||||||
|
|
||||||
" Wrap text after a certain number of characters
|
|
||||||
" Python: 79
|
|
||||||
" C: 79
|
|
||||||
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h set textwidth=79
|
|
||||||
|
|
||||||
" Turn off settings in 'formatoptions' relating to comment formatting.
|
|
||||||
" - c : do not automatically insert the comment leader when wrapping based on
|
|
||||||
" 'textwidth'
|
|
||||||
" - o : do not insert the comment leader when using 'o' or 'O' from command mode
|
|
||||||
" - r : do not insert the comment leader when hitting <Enter> in insert mode
|
|
||||||
" Python: not needed
|
|
||||||
" C: prevents insertion of '*' at the beginning of every line in a comment
|
|
||||||
au BufRead,BufNewFile *.c,*.h set formatoptions-=c formatoptions-=o formatoptions-=r
|
|
||||||
|
|
||||||
" Use UNIX (\n) line endings.
|
|
||||||
" Only used for new files so as to not force existing files to change their
|
|
||||||
" line endings.
|
|
||||||
" Python: yes
|
|
||||||
" C: yes
|
|
||||||
au BufNewFile *.py,*.pyw,*.c,*.h set fileformat=unix
|
|
||||||
|
|
||||||
|
|
||||||
" ----------------------------------------------------------------------------
|
|
||||||
" The following section contains suggested settings. While in no way required
|
|
||||||
" to meet coding standards, they are helpful.
|
|
||||||
|
|
||||||
" Set the default file encoding to UTF-8: ``set encoding=utf-8``
|
|
||||||
|
|
||||||
" Puts a marker at the beginning of the file to differentiate between UTF and
|
|
||||||
" UCS encoding (WARNING: can trick shells into thinking a text file is actually
|
|
||||||
" a binary file when executing the text file): ``set bomb``
|
|
||||||
|
|
||||||
" For full syntax highlighting:
|
|
||||||
"``let python_highlight_all=1``
|
|
||||||
"``syntax on``
|
|
||||||
|
|
||||||
" Automatically indent based on file type: ``filetype indent on``
|
|
||||||
" Keep indentation level from previous line: ``set autoindent``
|
|
||||||
|
|
||||||
" Folding based on indentation: ``set foldmethod=indent``
|
|
||||||
|
|
@ -3,7 +3,6 @@
|
||||||
"
|
"
|
||||||
|
|
||||||
source ~/.vim/theme.conf
|
source ~/.vim/theme.conf
|
||||||
source ~/.vim/source/python
|
|
||||||
|
|
||||||
set autoindent
|
set autoindent
|
||||||
set conceallevel=2
|
set conceallevel=2
|
||||||
|
|
@ -13,7 +12,6 @@ set linebreak
|
||||||
set mouse=a
|
set mouse=a
|
||||||
set nocompatible
|
set nocompatible
|
||||||
set number
|
set number
|
||||||
set omnifunc=ale#completion#OmniFunc
|
|
||||||
set path+=**
|
set path+=**
|
||||||
set relativenumber
|
set relativenumber
|
||||||
set scrolloff=3
|
set scrolloff=3
|
||||||
|
|
@ -73,17 +71,12 @@ endif
|
||||||
|
|
||||||
" PLUGINS --------------------------------------------------------------- {{{
|
" PLUGINS --------------------------------------------------------------- {{{
|
||||||
|
|
||||||
call plug#begin('~/.vim/plugins')
|
call plug#begin()
|
||||||
|
|
||||||
Plug 'catppuccin/vim', { 'as': 'catppuccin' }
|
|
||||||
Plug 'dense-analysis/ale'
|
Plug 'dense-analysis/ale'
|
||||||
Plug 'NerdyPepper/statix'
|
|
||||||
Plug 'prabirshrestha/vim-lsp'
|
|
||||||
Plug 'sheerun/vim-polyglot'
|
|
||||||
Plug 'vifm/vifm.vim'
|
Plug 'vifm/vifm.vim'
|
||||||
|
Plug 'catppuccin/vim', { 'as': 'catppuccin' }
|
||||||
" Coq
|
Plug 'NerdyPepper/statix'
|
||||||
Plug 'whonore/Coqtail'
|
|
||||||
|
|
||||||
call plug#end()
|
call plug#end()
|
||||||
|
|
||||||
|
|
|
||||||
41
stow/waybar/.config/waybar/config
Normal file
41
stow/waybar/.config/waybar/config
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
//
|
||||||
|
// ~/.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"],
|
||||||
|
"modules-center": ["clock"],
|
||||||
|
|
||||||
|
"include": [
|
||||||
|
// Import modules (!)
|
||||||
|
"~/.config/waybar/modules.json"
|
||||||
|
],
|
||||||
|
}]
|
||||||
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
||||||
/* * * * * * * * * * * * * * * * *
|
|
||||||
* *
|
|
||||||
* ~/.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",
|
|
||||||
"group/mode"
|
|
||||||
],
|
|
||||||
"modules-center": [
|
|
||||||
"mpris"
|
|
||||||
],
|
|
||||||
"modules-right": [
|
|
||||||
"keyboard-state#numlock",
|
|
||||||
"keyboard-state#capslock",
|
|
||||||
"privacy",
|
|
||||||
"tray",
|
|
||||||
"group/control-center",
|
|
||||||
"group/network",
|
|
||||||
"pulseaudio",
|
|
||||||
"group/power",
|
|
||||||
"clock#bar"
|
|
||||||
],
|
|
||||||
"include": [
|
|
||||||
"~/.config/waybar/modules.json"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"modules-left": [
|
"modules-left": [
|
||||||
"idle_inhibitor",
|
"idle_inhibitor",
|
||||||
"mpris"
|
"custom/media"
|
||||||
],
|
],
|
||||||
"modules-center": [
|
"modules-center": [
|
||||||
"sway/workspaces"
|
"sway/workspaces"
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,22 @@
|
||||||
{
|
{
|
||||||
"modules-left": [
|
"modules-left": [
|
||||||
"sway/workspaces",
|
"sway/workspaces",
|
||||||
"custom/scratchpad-indicator",
|
"idle_inhibitor",
|
||||||
"group/system"
|
"custom/light-dark-toggle",
|
||||||
|
"custom/night-light-toggle",
|
||||||
|
"custom/toggle-notifications",
|
||||||
|
"custom/media"
|
||||||
],
|
],
|
||||||
"modules-right": [
|
"modules-right": [
|
||||||
"tray",
|
"memory",
|
||||||
"sway/language",
|
"cpu",
|
||||||
"bluetooth",
|
"temperature",
|
||||||
"network",
|
"custom/sep",
|
||||||
"pulseaudio",
|
"bluetooth",
|
||||||
"group/battery",
|
"network",
|
||||||
"mpris"
|
"pulseaudio",
|
||||||
|
"battery",
|
||||||
|
"custom/sep",
|
||||||
|
"tray"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
131
stow/waybar/.config/waybar/mediaplayer.py
Executable file
131
stow/waybar/.config/waybar/mediaplayer.py
Executable file
|
|
@ -0,0 +1,131 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
# From:
|
||||||
|
# https://github.com/Alexays/Waybar/blob/master/resources/custom_modules/mediaplayer.py
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import logging
|
||||||
|
import sys
|
||||||
|
import signal
|
||||||
|
import gi
|
||||||
|
import json
|
||||||
|
gi.require_version('Playerctl', '2.0')
|
||||||
|
from gi.repository import Playerctl, GLib
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
def write_output(text, player):
|
||||||
|
logger.info('Writing output')
|
||||||
|
|
||||||
|
output = {'text': text,
|
||||||
|
'class': 'custom-' + player.props.player_name,
|
||||||
|
'alt': player.props.player_name}
|
||||||
|
|
||||||
|
sys.stdout.write(json.dumps(output) + '\n')
|
||||||
|
sys.stdout.flush()
|
||||||
|
|
||||||
|
|
||||||
|
def on_play(player, status, manager):
|
||||||
|
logger.info('Received new playback status')
|
||||||
|
on_metadata(player, player.props.metadata, manager)
|
||||||
|
|
||||||
|
|
||||||
|
def on_metadata(player, metadata, manager):
|
||||||
|
logger.info('Received new metadata')
|
||||||
|
track_info = ''
|
||||||
|
|
||||||
|
if player.props.player_name == 'spotify' and \
|
||||||
|
'mpris:trackid' in metadata.keys() and \
|
||||||
|
':ad:' in player.props.metadata['mpris:trackid']:
|
||||||
|
track_info = 'AD PLAYING'
|
||||||
|
elif player.get_artist() != '' and player.get_title() != '':
|
||||||
|
track_info = '{artist} - {title}'.format(artist=player.get_artist(),
|
||||||
|
title=player.get_title())
|
||||||
|
else:
|
||||||
|
track_info = player.get_title()
|
||||||
|
|
||||||
|
if player.props.status != 'Playing' and track_info:
|
||||||
|
track_info = ' ' + track_info
|
||||||
|
write_output(track_info, player)
|
||||||
|
|
||||||
|
|
||||||
|
def on_player_appeared(manager, player, selected_player=None):
|
||||||
|
if player is not None and (selected_player is None or player.name == selected_player):
|
||||||
|
init_player(manager, player)
|
||||||
|
else:
|
||||||
|
logger.debug("New player appeared, but it's not the selected player, skipping")
|
||||||
|
|
||||||
|
|
||||||
|
def on_player_vanished(manager, player):
|
||||||
|
logger.info('Player has vanished')
|
||||||
|
sys.stdout.write('\n')
|
||||||
|
sys.stdout.flush()
|
||||||
|
|
||||||
|
|
||||||
|
def init_player(manager, name):
|
||||||
|
logger.debug('Initialize player: {player}'.format(player=name.name))
|
||||||
|
player = Playerctl.Player.new_from_name(name)
|
||||||
|
player.connect('playback-status', on_play, manager)
|
||||||
|
player.connect('metadata', on_metadata, manager)
|
||||||
|
manager.manage_player(player)
|
||||||
|
on_metadata(player, player.props.metadata, manager)
|
||||||
|
|
||||||
|
|
||||||
|
def signal_handler(sig, frame):
|
||||||
|
logger.debug('Received signal to stop, exiting')
|
||||||
|
sys.stdout.write('\n')
|
||||||
|
sys.stdout.flush()
|
||||||
|
# loop.quit()
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
|
|
||||||
|
def parse_arguments():
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
|
||||||
|
# Increase verbosity with every occurrence of -v
|
||||||
|
parser.add_argument('-v', '--verbose', action='count', default=0)
|
||||||
|
|
||||||
|
# Define for which player we're listening
|
||||||
|
parser.add_argument('--player')
|
||||||
|
|
||||||
|
return parser.parse_args()
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
arguments = parse_arguments()
|
||||||
|
|
||||||
|
# Initialize logging
|
||||||
|
logging.basicConfig(stream=sys.stderr, level=logging.DEBUG,
|
||||||
|
format='%(name)s %(levelname)s %(message)s')
|
||||||
|
|
||||||
|
# Logging is set by default to WARN and higher.
|
||||||
|
# With every occurrence of -v it's lowered by one
|
||||||
|
logger.setLevel(max((3 - arguments.verbose) * 10, 0))
|
||||||
|
|
||||||
|
# Log the sent command line arguments
|
||||||
|
logger.debug('Arguments received {}'.format(vars(arguments)))
|
||||||
|
|
||||||
|
manager = Playerctl.PlayerManager()
|
||||||
|
loop = GLib.MainLoop()
|
||||||
|
|
||||||
|
manager.connect('name-appeared', lambda *args: on_player_appeared(*args, arguments.player))
|
||||||
|
manager.connect('player-vanished', on_player_vanished)
|
||||||
|
|
||||||
|
signal.signal(signal.SIGINT, signal_handler)
|
||||||
|
signal.signal(signal.SIGTERM, signal_handler)
|
||||||
|
signal.signal(signal.SIGPIPE, signal.SIG_DFL)
|
||||||
|
|
||||||
|
for player in manager.props.player_names:
|
||||||
|
if arguments.player is not None and arguments.player != player.name:
|
||||||
|
logger.debug('{player} is not the filtered player, skipping it'
|
||||||
|
.format(player=player.name)
|
||||||
|
)
|
||||||
|
continue
|
||||||
|
|
||||||
|
init_player(manager, player)
|
||||||
|
|
||||||
|
loop.run()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
@ -1,80 +0,0 @@
|
||||||
@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,401 +2,161 @@
|
||||||
"battery": {
|
"battery": {
|
||||||
"format": "{capacity}% {icon}",
|
"format": "{capacity}% {icon}",
|
||||||
"format-alt": "{time} {icon}",
|
"format-alt": "{time} {icon}",
|
||||||
"format-charging": "{capacity}% \ue55b", /* */
|
"format-charging": "{capacity}% \uf0e7 {icon}",
|
||||||
|
"format-icons": ["\uf244", "\uf243", "\uf242", "\uf241", "\uf240"],
|
||||||
"format-plugged": "{capacity}% \ue55c",
|
"format-plugged": "{capacity}% \ue55c",
|
||||||
"format-icons": [
|
"states": {
|
||||||
"\uf244", /* */
|
"warning": 30,
|
||||||
"\uf243", /* */
|
"critical": 15
|
||||||
"\uf242", /* */
|
|
||||||
"\uf241", /* */
|
|
||||||
"\uf240" /* */
|
|
||||||
],
|
|
||||||
"states": {
|
|
||||||
"warning": 25,
|
|
||||||
"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": "\uf294", /* */
|
"format-disabled": "<big>\uf294</big>",
|
||||||
"format-off": "\uf294", /* */
|
"format-off": "\uf294",
|
||||||
"format-on": "<big>\uf294</big>", /* */
|
"format-on": "<big>\uf294</big>",
|
||||||
"format-connected": "<big>\uf294</big>c", /* c */
|
"format-connected": "<big>\uf294</big>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}",
|
||||||
"tooltip-format-enumerate-connected": "{device_alias} ({device_address})",
|
"tooltip-format-enumerate-connected": "{device_alias} ({device_address})",
|
||||||
"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#center": {
|
"clock": {
|
||||||
"format": "{:%H:%M}",
|
"format": "{:%H:%M}",
|
||||||
"format-alt": "{:%a %b %d, %Y, %R}",
|
"format-alt": "{:%d/%m/%Y %H:%M}",
|
||||||
"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"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
"clock#bar": {
|
"custom/browser": {
|
||||||
"format": "{:%a %b %d, %R}",
|
"format": "\uf120",
|
||||||
"timezone": "Europe/Brussels",
|
"on-click": "dmenu_run",
|
||||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
"tooltip-format": "Launch an application"
|
||||||
"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/control-center": {
|
"custom/media": {
|
||||||
"format": "\uf085", /* */
|
"escape": true,
|
||||||
"tooltip": false
|
"exec": "~/.config/waybar/mediaplayer.py 2> /dev/null",
|
||||||
},
|
"format": "{icon} {}",
|
||||||
|
|
||||||
"custom/meta": {
|
|
||||||
"format": "\uf17c", /* */
|
|
||||||
"tooltip": false,
|
|
||||||
"on-click": "dmenu_run"
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/scratchpad-indicator": {
|
|
||||||
"interval": 3,
|
|
||||||
"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'",
|
|
||||||
"format": "\uf2d2 {}",
|
|
||||||
"on-click": "exec swaymsg 'scratchpad show'",
|
|
||||||
"on-click-right": "exec swaymsg 'move scratchpad'"
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/system-lock": {
|
|
||||||
"format": "\uf09c", /* */
|
|
||||||
"tooltip": true,
|
|
||||||
"tooltip-format": "Lock device",
|
|
||||||
"on-click": "swaylock --daemonize"
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/system-sleep": {
|
|
||||||
"format": "\uf186", /* */
|
|
||||||
"tooltip": true,
|
|
||||||
"tooltip-format": "Put device to sleep",
|
|
||||||
"on-click": "swaylock --daemonize; systemctl suspend"
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/system-hibernate": {
|
|
||||||
"format": "\uf2dc", /* */
|
|
||||||
"tooltip": true,
|
|
||||||
"tooltip-format": "Hibernate device",
|
|
||||||
"on-click": "swaylock --daemonize; systemctl hibernate"
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/system-reboot": {
|
|
||||||
"format": "\uf0e2", /* */
|
|
||||||
"tooltip": true,
|
|
||||||
"tooltip-format": "Reboot device",
|
|
||||||
"on-click": "systemctl reboot"
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/system-shutdown": {
|
|
||||||
"format": "\uf011", /* */
|
|
||||||
"tooltip": true,
|
|
||||||
"tooltip-format": "Shutdown device",
|
|
||||||
"on-click": "systemctl poweroff -i"
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/toggle-light-dark": {
|
|
||||||
"exec": "bash ${SCRIPT_DIR}/toggle-light-dark.sh -g",
|
|
||||||
"interval": 60,
|
|
||||||
"return-type": "json",
|
|
||||||
"on-click": "bash ${SCRIPT_DIR}/toggle-light-dark.sh",
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
"format-icons": {
|
||||||
"default": "\uf185",
|
"default": "\uf51f",
|
||||||
"prefer-dark": "\uf005"
|
"spotify": "\uf1bc"
|
||||||
},
|
},
|
||||||
|
"max-length": 40,
|
||||||
|
"on-click": "playerctl play-pause",
|
||||||
|
"return-type": "json"
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/light-dark-toggle": {
|
||||||
|
"on-click": "bash ${SCRIPT_DIR}/toggle-light-dark.sh",
|
||||||
|
"tooltip-format": "Toggle between light and dark mode",
|
||||||
|
"format": "\uf042 ",
|
||||||
|
"tooltip": true
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/night-light-toggle": {
|
||||||
|
"on-click": "bash ${SCRIPT_DIR}/sunset.sh",
|
||||||
|
"tooltip-format": "Toggle night-light on or off",
|
||||||
|
"format": "\uf0eb ",
|
||||||
"tooltip": true
|
"tooltip": true
|
||||||
},
|
},
|
||||||
|
|
||||||
"custom/toggle-notifications": {
|
"custom/toggle-notifications": {
|
||||||
"exec": "bash ${SCRIPT_DIR}/toggle-notifications.sh -g",
|
"on-click": "bash ${SCRIPT_DIR}/do-not-disturb.sh",
|
||||||
"interval": 60,
|
"tooltip-format": "Toggle notifications",
|
||||||
"return-type": "json",
|
"format": "\uf1f6 ",
|
||||||
"on-click": "bash ${SCRIPT_DIR}/toggle-notifications.sh",
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"normal": "\uf0f3", /* */
|
|
||||||
"paused": "\uf1f6" /* */
|
|
||||||
},
|
|
||||||
"tooltip": true
|
"tooltip": true
|
||||||
},
|
},
|
||||||
|
|
||||||
"custom/toggle-tailscale": {
|
"cpu": {
|
||||||
"exec": "bash ${SCRIPT_DIR}/toggle-tailscale.sh -g",
|
"format": "{usage}% \uf2db",
|
||||||
"interval": 60,
|
"on-click": "kitty -e htop",
|
||||||
"return-type": "json",
|
|
||||||
"on-click": "bash ${SCRIPT_DIR}/toggle-tailscale.sh",
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"disconnected": "\ue50b",
|
|
||||||
"connected": "\ue509",
|
|
||||||
},
|
|
||||||
"tooltip": true
|
"tooltip": true
|
||||||
},
|
},
|
||||||
|
|
||||||
"group/control-center": {
|
|
||||||
"orientation": "inherit",
|
|
||||||
"modules": [
|
|
||||||
"custom/control-center",
|
|
||||||
"group/language",
|
|
||||||
/* "hyprland/language", "sway/language", */
|
|
||||||
"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-reboot",
|
|
||||||
"custom/system-hibernate",
|
|
||||||
"custom/system-sleep",
|
|
||||||
"custom/system-lock",
|
|
||||||
"power-profiles-daemon",
|
|
||||||
"idle_inhibitor"
|
|
||||||
/* Most-right */
|
|
||||||
],
|
|
||||||
"drawer": {
|
|
||||||
"transition-duration": 500,
|
|
||||||
"transition-left-to-right": false,
|
|
||||||
"children-class": "drawer-child"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
"group/workspaces": {
|
|
||||||
"orientation": "inherit",
|
|
||||||
"modules": [
|
|
||||||
"hyprland/workspaces",
|
|
||||||
"sway/workspaces"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
|
|
||||||
"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#capslock": {
|
"memory": {
|
||||||
"capslock": true,
|
"format": "{}% \uf1c0",
|
||||||
"format": {
|
"on-click": "kitty -e zenith"
|
||||||
"capslock": "{icon}"
|
|
||||||
},
|
|
||||||
"format-icons": {
|
|
||||||
"locked": "\uf11c", /* */
|
|
||||||
"unlocked": ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
"keyboard-state#numlock": {
|
|
||||||
"numlock": true,
|
|
||||||
"format": {
|
|
||||||
"numlock": "{icon}"
|
|
||||||
},
|
|
||||||
"format-icons": {
|
|
||||||
"locked": "\uf1ec", /* */
|
|
||||||
"unlocked": ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
"mpris": {
|
|
||||||
"format": "{player_icon} {dynamic}",
|
|
||||||
"format-paused": "{status_icon} <i>{dynamic}</i>",
|
|
||||||
"tooltip-format": "{player} ({status}) {title} - {artist} - {album}",
|
|
||||||
"player-icons": {
|
|
||||||
"default": "\uf8d9", /* */
|
|
||||||
"mpv": "\uf144", /* */
|
|
||||||
"spotify": "\uf1bc" /* */
|
|
||||||
},
|
|
||||||
"status-icons": {
|
|
||||||
"paused": "\uf04c" /* */
|
|
||||||
},
|
|
||||||
"dynamic-order": [
|
|
||||||
"title",
|
|
||||||
"artist"
|
|
||||||
],
|
|
||||||
"dynamic-len": 40
|
|
||||||
},
|
},
|
||||||
|
|
||||||
"network": {
|
"network": {
|
||||||
"format-disconnected": "\uf127", /* */
|
"format-disconnected": "\uf127",
|
||||||
"format-ethernet": "\uf6ff", /* */
|
"format-ethernet": "\uf6ff {ifname}: {ipadds}/{cidr}",
|
||||||
"format-linked": "\uf0c1", /* */
|
"format-wifi": "\uf1eb",
|
||||||
"format-wifi": "{icon}",
|
|
||||||
"interval": 5,
|
"interval": 5,
|
||||||
"tooltip": true,
|
"on-click-right": "kitty -e nmtui",
|
||||||
"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": {
|
||||||
"format": "{title}",
|
"max-length": 85
|
||||||
"max-length": 20,
|
|
||||||
"tooltip": true,
|
|
||||||
"all-outputs": true,
|
|
||||||
"icon": false,
|
|
||||||
"icon-size": 18,
|
|
||||||
"rewrite": {
|
|
||||||
".* - (.*)": "$1",
|
|
||||||
".* — (.*)": "$1"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
"sway/workspaces": {
|
"sway/workspaces": {
|
||||||
"all-outputs": false,
|
"all-outputs": false,
|
||||||
"disable-scroll": true,
|
"disable-scroll": true,
|
||||||
"format": "{icon}{name}",
|
"format": "{icon}{name}",
|
||||||
"format-icons": {
|
"format-icons": {
|
||||||
"default": "",
|
"default": "", // Prevent showing workspace name literal.
|
||||||
"urgent": "\uf071 " /* */
|
"urgent": "\uf071 "
|
||||||
}
|
},
|
||||||
|
// "persistent_workspaces": {
|
||||||
|
// "0:¯\\_(ツ)_/¯": []
|
||||||
|
// }
|
||||||
|
},
|
||||||
|
|
||||||
|
"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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
@import 'style.css';
|
|
||||||
|
|
||||||
* {
|
|
||||||
color: #C2C2C2;
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar {
|
|
||||||
background-color: #171717;
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar button.focused {
|
|
||||||
background-color: #C2C2C2;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
@import 'style.css';
|
|
||||||
|
|
||||||
* {
|
|
||||||
color: #171717;
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar {
|
|
||||||
background-color: #C2C2C2;
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar button.focused {
|
|
||||||
background-color: #171717;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,118 +1,138 @@
|
||||||
/* * * * * * * * * * * * * * * *
|
/*
|
||||||
* *
|
* ~/.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 background #C2C2C2;
|
@define-color transparent-black rgba(23, 23, 23, 0.9);
|
||||||
@define-color foreground #171717;
|
@define-color white #ecf0f1;
|
||||||
|
@define-color warning-red #eb4d4b;
|
||||||
/* Pantone / PMS 18-1559 TCX / Red Alert */
|
@define-color accent #00897b;
|
||||||
@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: font-awesome, letter, monospace;
|
||||||
|
|
||||||
font-family: letter, "Font Awesome 6 Free", font-awesome, monospace;
|
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
font-weight: 600;
|
-webkit-font-smoothing: antialiased;
|
||||||
|
transition-property: background-color;
|
||||||
|
transition-duration: .5s;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modules-right,
|
#window, #workspaces {
|
||||||
.modules-right > widget:last-child {
|
margin: 0 5px;
|
||||||
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-media, #custom-light-dark-toggle, #custom-night-light-toggle, #custom-toggle-notifications,
|
||||||
|
#disk, #idle_inhibitor, #memory, #mode, #mpd, #network,
|
||||||
|
#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;
|
||||||
}
|
}
|
||||||
|
|
||||||
#battery.charging {
|
@keyframes blink {
|
||||||
|
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: @warning;
|
background-color: #f53c3c;
|
||||||
color: #FFFFFF;
|
color: #ffffff;
|
||||||
animation-name: blink;
|
animation-name: blink;
|
||||||
animation-duration: 0.5s;
|
animation-duration: 0.5s;
|
||||||
animation-timing-function: steps(12);
|
animation-timing-function: linear;
|
||||||
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,
|
||||||
opacity: 0.6;
|
#network.disconnected,
|
||||||
}
|
|
||||||
|
|
||||||
#custom-toggle-tailscale.disconnected {
|
|
||||||
opacity: 0.6;
|
|
||||||
}
|
|
||||||
|
|
||||||
#mpris.Feishin {
|
|
||||||
background: linear-gradient(45deg, rgba(170,92,195,1) 100%, rgba(0,164,220,1) 0%);
|
|
||||||
}
|
|
||||||
|
|
||||||
#mpris.spotify {
|
|
||||||
background-color: #66cc99;
|
|
||||||
color: #2a5c45;
|
|
||||||
}
|
|
||||||
|
|
||||||
#mpris.vlc {
|
|
||||||
background-color: #ffa000;
|
|
||||||
}
|
|
||||||
|
|
||||||
#network.disconnected {
|
|
||||||
opacity: 0.6;
|
|
||||||
}
|
|
||||||
|
|
||||||
#privacy,
|
|
||||||
#privacy-item,
|
|
||||||
#privacy-item.screenshare,
|
|
||||||
#privacy-item.audio-in {
|
|
||||||
background-color: @safety;
|
|
||||||
}
|
|
||||||
|
|
||||||
#privacy-item.screenshare {
|
|
||||||
background-color: #000000;
|
|
||||||
}
|
|
||||||
|
|
||||||
#pulseaudio.muted {
|
#pulseaudio.muted {
|
||||||
opacity: 0.6;
|
opacity: 0.6;
|
||||||
}
|
}
|
||||||
|
|
||||||
#systemd-failed-units.degraded {
|
#custom-media {
|
||||||
background-color: @warning;
|
color: #2a5c45;
|
||||||
|
background-color: #66cc99;
|
||||||
|
min-width: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-media.custom-spotify {
|
||||||
|
background-color: #66cc99;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-media.custom-vlc {
|
||||||
|
background-color: #ffa000;
|
||||||
}
|
}
|
||||||
|
|
||||||
#temperature.critical {
|
#temperature.critical {
|
||||||
background-color: @warning;
|
background-color: #eb4d4b;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tray > .needs-attention {
|
#custom_light-dark-toggle.activated,
|
||||||
-gtk-icon-effect: highlight;
|
#idle_inhibitor.activated {
|
||||||
background-color: @warning;
|
background-color: #ecf0f1;
|
||||||
|
color: #2d3436;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tray > .passive {
|
#tray > .passive {
|
||||||
-gtk-icon-effect: dim;
|
-gtk-icon-effect: dim;
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces button.urgent {
|
#tray > .needs-attention {
|
||||||
background-color: @warning;
|
-gtk-icon-effect: highlight;
|
||||||
color: white;
|
background-color: #eb4d4b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@import "sharp.css";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ add-zsh-hook precmd loadgit
|
||||||
# Backup line(s)
|
# Backup line(s)
|
||||||
# PROMPT='%(!.%B%F{red}.%B%F{green}%n@)%m %F{blue}%(!.%1~.%~) ${vcs_info_msg_0_}%F{blue}%(!.#.$)%k%b%f '
|
# PROMPT='%(!.%B%F{red}.%B%F{green}%n@)%m %F{blue}%(!.%1~.%~) ${vcs_info_msg_0_}%F{blue}%(!.#.$)%k%b%f '
|
||||||
# PROMPT='%(!.%B%F{red}.%B%F{green}%n@)%m %{$reset_color%}%F{cyan}%c %B${vcs_info_msg_0_}%F{green}%(!.#.$)%k%b%f '
|
# PROMPT='%(!.%B%F{red}.%B%F{green}%n@)%m %{$reset_color%}%F{cyan}%c %B${vcs_info_msg_0_}%F{green}%(!.#.$)%k%b%f '
|
||||||
PROMPT='%(!.%B%F{red}%m .)%{$reset_color%}%F{cyan}%c %B${vcs_info_msg_0_}%(?.%F{green}%(!.#.$).%F{red}%?)%k%b%f '
|
PROMPT='%(!.%B%F{red}%m .)%{$reset_color%}%F{cyan}%c %B${vcs_info_msg_0_}%F{green}%(!.#.$)%k%b%f '
|
||||||
|
|
||||||
# PROMPT='%{$fg_bold[green]%}[%n@%m%{$reset_color%} %{$fg[cyan]%}%c%{$reset_color%}$(git_prompt_info)%{$fg_bold[green]%}]%{$reset_color%}$ '
|
# PROMPT='%{$fg_bold[green]%}[%n@%m%{$reset_color%} %{$fg[cyan]%}%c%{$reset_color%}$(git_prompt_info)%{$fg_bold[green]%}]%{$reset_color%}$ '
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,6 @@ fpath+="$HOME/.zsh/plugins/cmdtime"
|
||||||
plugins=(dirhistory git screen)
|
plugins=(dirhistory git screen)
|
||||||
ZSH_CUSTOM="$HOME/.oh-my-zsh"
|
ZSH_CUSTOM="$HOME/.oh-my-zsh"
|
||||||
ZSH_THEME="tdpeuter"
|
ZSH_THEME="tdpeuter"
|
||||||
# Disable automatically updating
|
|
||||||
zstyle ':omz:update' mode disabled
|
|
||||||
source $ZSH_CUSTOM/oh-my-zsh.sh
|
source $ZSH_CUSTOM/oh-my-zsh.sh
|
||||||
|
|
||||||
if [[ -f "$HOME/.zsh/plugins/cmdtime/cmdtime.plugin.zsh" ]]; then
|
if [[ -f "$HOME/.zsh/plugins/cmdtime/cmdtime.plugin.zsh" ]]; then
|
||||||
|
|
@ -51,15 +49,11 @@ fi
|
||||||
alias cp='cp -i'
|
alias cp='cp -i'
|
||||||
alias df='df -h'
|
alias df='df -h'
|
||||||
alias free='free -m'
|
alias free='free -m'
|
||||||
alias gs='git status --short'
|
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