diff --git a/flake.lock b/flake.lock
index bfcdd6238..899296033 100644
--- a/flake.lock
+++ b/flake.lock
@@ -7,11 +7,11 @@
"systems": "systems"
},
"locked": {
- "lastModified": 1717576207,
- "narHash": "sha256-LU6d1xX7jN1zt10YU7Oym07MtzVfziSmUEznGFdbuaw=",
+ "lastModified": 1721135360,
+ "narHash": "sha256-ZhSA0e45UxiOAjEVqkym/aULh0Dt+KHJLNda7bjx9UI=",
"owner": "anyrun-org",
"repo": "anyrun",
- "rev": "7aabad8d5bb7d1bffae903ce86427b888ab824b4",
+ "rev": "c6101a31a80b51e32e96f6a77616b609770172e0",
"type": "github"
},
"original": {
@@ -39,6 +39,27 @@
"type": "github"
}
},
+ "aquamarine-patched": {
+ "inputs": {
+ "hyprutils": "hyprutils",
+ "hyprwayland-scanner": "hyprwayland-scanner",
+ "nixpkgs": "nixpkgs_3",
+ "systems": "systems_2"
+ },
+ "locked": {
+ "lastModified": 1721772593,
+ "narHash": "sha256-4iG4+c2Dhx/vT38Y6iRh1sss8wu+CIhu3FyopSmTKVA=",
+ "owner": "sjcobb2022",
+ "repo": "aquamarine-patched",
+ "rev": "3c007df65793f009c28a772b955edbe0ddff704c",
+ "type": "github"
+ },
+ "original": {
+ "owner": "sjcobb2022",
+ "repo": "aquamarine-patched",
+ "type": "github"
+ }
+ },
"catppuccin": {
"locked": {
"lastModified": 1720472194,
@@ -56,7 +77,7 @@
},
"catppuccin-cursors": {
"inputs": {
- "nixpkgs": "nixpkgs_3"
+ "nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1717893279,
@@ -112,11 +133,11 @@
]
},
"locked": {
- "lastModified": 1720845312,
- "narHash": "sha256-yPhAsJTpyoIPQZJGC8Fw8W2lAXyhLoTn+HP20bmfkfk=",
+ "lastModified": 1721719500,
+ "narHash": "sha256-nnkqjv4Y37Hydjh6HE9wW4kSkV5Q7q4iIXlL5lwUFOw=",
"owner": "lnl7",
"repo": "nix-darwin",
- "rev": "5ce8503cf402cf76b203eba4b7e402bea8e44abc",
+ "rev": "884f3fe6d9bf056ba0017c132c39c1f0d07d4fec",
"type": "github"
},
"original": {
@@ -412,11 +433,11 @@
]
},
"locked": {
- "lastModified": 1719877454,
- "narHash": "sha256-g5N1yyOSsPNiOlFfkuI/wcUjmtah+nxdImJqrSATjOU=",
+ "lastModified": 1719994518,
+ "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=",
"owner": "hercules-ci",
"repo": "flake-parts",
- "rev": "4e3583423212f9303aa1a6337f8dffb415920e4f",
+ "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7",
"type": "github"
},
"original": {
@@ -427,7 +448,7 @@
},
"flake-utils": {
"inputs": {
- "systems": "systems_3"
+ "systems": "systems_4"
},
"locked": {
"lastModified": 1705309234,
@@ -483,7 +504,7 @@
},
"flake-utils_2": {
"inputs": {
- "systems": "systems_10"
+ "systems": "systems_9"
},
"locked": {
"lastModified": 1681202837,
@@ -501,7 +522,7 @@
},
"flake-utils_3": {
"inputs": {
- "systems": "systems_11"
+ "systems": "systems_10"
},
"locked": {
"lastModified": 1710146030,
@@ -519,7 +540,7 @@
},
"flake-utils_4": {
"inputs": {
- "systems": "systems_12"
+ "systems": "systems_11"
},
"locked": {
"lastModified": 1710146030,
@@ -537,7 +558,7 @@
},
"flake-utils_5": {
"inputs": {
- "systems": "systems_13"
+ "systems": "systems_12"
},
"locked": {
"lastModified": 1701680307,
@@ -570,7 +591,7 @@
},
"flake-utils_7": {
"inputs": {
- "systems": "systems_14"
+ "systems": "systems_13"
},
"locked": {
"lastModified": 1694529238,
@@ -588,7 +609,7 @@
},
"flake-utils_8": {
"inputs": {
- "systems": "systems_15"
+ "systems": "systems_14"
},
"locked": {
"lastModified": 1710146030,
@@ -638,11 +659,11 @@
]
},
"locked": {
- "lastModified": 1719259945,
- "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=",
+ "lastModified": 1721042469,
+ "narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=",
"owner": "cachix",
"repo": "git-hooks.nix",
- "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07",
+ "rev": "f451c19376071a90d8c58ab1a953c6e9840527fd",
"type": "github"
},
"original": {
@@ -756,11 +777,11 @@
]
},
"locked": {
- "lastModified": 1720734513,
- "narHash": "sha256-neWQ8eNtLTd+YMesb7WjKl1SVCbDyCm46LUgP/g/hdo=",
+ "lastModified": 1721714663,
+ "narHash": "sha256-ZDW5+rlROxaOuoEfIQM7Gqhoa+WALEYdYIiZhyJjAu0=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "90ae324e2c56af10f20549ab72014804a3064c7f",
+ "rev": "7560dc942a6fbd37ebd1310b3dbda513de2d4b82",
"type": "github"
},
"original": {
@@ -777,11 +798,11 @@
]
},
"locked": {
- "lastModified": 1719827439,
- "narHash": "sha256-tneHOIv1lEavZ0vQ+rgz67LPNCgOZVByYki3OkSshFU=",
+ "lastModified": 1721534365,
+ "narHash": "sha256-XpZOkaSJKdOsz1wU6JfO59Rx2fqtcarQ0y6ndIOKNpI=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "59ce796b2563e19821361abbe2067c3bb4143a7d",
+ "rev": "635563f245309ef5320f80c7ebcb89b2398d2949",
"type": "github"
},
"original": {
@@ -827,11 +848,11 @@
]
},
"locked": {
- "lastModified": 1720108799,
- "narHash": "sha256-AxRkTJlbB8r7aG6gvc7IaLhc2T9TO4/8uqanKRxukBQ=",
+ "lastModified": 1721330371,
+ "narHash": "sha256-aYlHTWylczLt6ERJyg6E66Y/XSCbVL7leVcRuJmVbpI=",
"owner": "hyprwm",
"repo": "hyprcursor",
- "rev": "a5c0d57325c5f0814c39110a70ca19c070ae9486",
+ "rev": "4493a972b48f9c3014befbbf381ed5fff91a65dc",
"type": "github"
},
"original": {
@@ -843,15 +864,16 @@
"hypridle": {
"inputs": {
"hyprlang": "hyprlang",
- "nixpkgs": "nixpkgs_5",
+ "hyprutils": "hyprutils_2",
+ "nixpkgs": "nixpkgs_6",
"systems": "systems_5"
},
"locked": {
- "lastModified": 1719068457,
- "narHash": "sha256-q2p1YzCg9Dq2jt+6+kjHec9lb6BjCbg5rnVP2Uc/840=",
+ "lastModified": 1721332982,
+ "narHash": "sha256-UiNq9EDnnWXaG7d5AExvPlzapuw4VyWnFHTo38Q3kn4=",
"owner": "hyprwm",
"repo": "Hypridle",
- "rev": "7c5747b7855d06b4a63a4f515625ab3229278298",
+ "rev": "e5366d34b5e1f06a1233667cded3ef05b482778c",
"type": "github"
},
"original": {
@@ -862,20 +884,23 @@
},
"hyprland": {
"inputs": {
+ "aquamarine": [
+ "aquamarine-patched"
+ ],
"hyprcursor": "hyprcursor",
"hyprlang": "hyprlang_2",
- "hyprutils": "hyprutils",
- "hyprwayland-scanner": "hyprwayland-scanner",
- "nixpkgs": "nixpkgs_6",
+ "hyprutils": "hyprutils_3",
+ "hyprwayland-scanner": "hyprwayland-scanner_2",
+ "nixpkgs": "nixpkgs_7",
"systems": "systems_6",
"xdph": "xdph"
},
"locked": {
- "lastModified": 1720818319,
- "narHash": "sha256-HCjjU259K+7fD/l12u8CkBM9VjQqXleEGpmbdZ0r3oY=",
+ "lastModified": 1721770738,
+ "narHash": "sha256-8w1p5dJsz9ybK1xgfBoWBC1fS5jWcuLHwYClFgP700Y=",
"ref": "refs/heads/main",
- "rev": "f85c6416c6f5e56c75178ecb24c11e346069197d",
- "revCount": 4918,
+ "rev": "8a4548e4302b1cc00fca368a7cc2e3171516420c",
+ "revCount": 4967,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@@ -888,7 +913,7 @@
},
"hyprland-contrib": {
"inputs": {
- "nixpkgs": "nixpkgs_7"
+ "nixpkgs": "nixpkgs_8"
},
"locked": {
"lastModified": 1720709712,
@@ -921,11 +946,11 @@
]
},
"locked": {
- "lastModified": 1719784423,
- "narHash": "sha256-D7O5+nh2Wn9tQPJArWHrDSZeEfBCtj5zTGd86701LPE=",
+ "lastModified": 1721668405,
+ "narHash": "sha256-ZnIXa+jeMXoerhRz/ZJwVoYHaROjcLyQsr1b6JZ2AjQ=",
"owner": "hyprwm",
"repo": "hyprland-plugins",
- "rev": "98cb18c6fcfe8196ef4150d09fbae305b7bb2954",
+ "rev": "4c2cef8326711fbd91b7a313f095545eb50d2a57",
"type": "github"
},
"original": {
@@ -963,18 +988,25 @@
},
"hyprlang": {
"inputs": {
+ "hyprutils": [
+ "hypridle",
+ "hyprutils"
+ ],
"nixpkgs": [
"hypridle",
"nixpkgs"
],
- "systems": "systems_4"
+ "systems": [
+ "hypridle",
+ "systems"
+ ]
},
"locked": {
- "lastModified": 1713121246,
- "narHash": "sha256-502X0Q0fhN6tJK7iEUA8CghONKSatW/Mqj4Wappd++0=",
+ "lastModified": 1721324361,
+ "narHash": "sha256-BiJKO0IIdnSwHQBSrEJlKlFr753urkLE48wtt0UhNG4=",
"owner": "hyprwm",
"repo": "hyprlang",
- "rev": "78fcaa27ae9e1d782faa3ff06c8ea55ddce63706",
+ "rev": "adbefbf49664a6c2c8bf36b6487fd31e3eb68086",
"type": "github"
},
"original": {
@@ -999,11 +1031,11 @@
]
},
"locked": {
- "lastModified": 1720381373,
- "narHash": "sha256-lyC/EZdHULsaAKVryK11lgHY9u6pXr7qR4irnxNWC7k=",
+ "lastModified": 1721324361,
+ "narHash": "sha256-BiJKO0IIdnSwHQBSrEJlKlFr753urkLE48wtt0UhNG4=",
"owner": "hyprwm",
"repo": "hyprlang",
- "rev": "5df0174fd09de4ac5475233d65ffc703e89b82eb",
+ "rev": "adbefbf49664a6c2c8bf36b6487fd31e3eb68086",
"type": "github"
},
"original": {
@@ -1028,11 +1060,11 @@
]
},
"locked": {
- "lastModified": 1717881852,
- "narHash": "sha256-XeeVoKHQgfKuXoP6q90sUqKyl7EYy3ol2dVZGM+Jj94=",
+ "lastModified": 1721324361,
+ "narHash": "sha256-BiJKO0IIdnSwHQBSrEJlKlFr753urkLE48wtt0UhNG4=",
"owner": "hyprwm",
"repo": "hyprlang",
- "rev": "ec6938c66253429192274d612912649a0cfe4d28",
+ "rev": "adbefbf49664a6c2c8bf36b6487fd31e3eb68086",
"type": "github"
},
"original": {
@@ -1043,15 +1075,25 @@
},
"hyprlang_4": {
"inputs": {
- "nixpkgs": "nixpkgs_8",
- "systems": "systems_8"
+ "hyprutils": [
+ "hyprpaper",
+ "hyprutils"
+ ],
+ "nixpkgs": [
+ "hyprpaper",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprpaper",
+ "systems"
+ ]
},
"locked": {
- "lastModified": 1713121246,
- "narHash": "sha256-502X0Q0fhN6tJK7iEUA8CghONKSatW/Mqj4Wappd++0=",
+ "lastModified": 1721324361,
+ "narHash": "sha256-BiJKO0IIdnSwHQBSrEJlKlFr753urkLE48wtt0UhNG4=",
"owner": "hyprwm",
"repo": "hyprlang",
- "rev": "78fcaa27ae9e1d782faa3ff06c8ea55ddce63706",
+ "rev": "adbefbf49664a6c2c8bf36b6487fd31e3eb68086",
"type": "github"
},
"original": {
@@ -1063,18 +1105,16 @@
"hyprlock": {
"inputs": {
"hyprlang": "hyprlang_3",
- "hyprutils": "hyprutils_2",
- "nixpkgs": [
- "nixpkgs"
- ],
+ "hyprutils": "hyprutils_4",
+ "nixpkgs": "nixpkgs_9",
"systems": "systems_7"
},
"locked": {
- "lastModified": 1720707332,
- "narHash": "sha256-OpUjVqJIxuouqUMmOAQI63XEOVk5EYyHwFVWdyrUdC8=",
+ "lastModified": 1721563228,
+ "narHash": "sha256-w+AyYuqlZ/uWEimiptlHjtDFECm/JlUOD2ciCw8/+/8=",
"owner": "hyprwm",
"repo": "Hyprlock",
- "rev": "b407128caeb551ae808cf8d0fb653a252a271709",
+ "rev": "dba9d8b5175a6f23463035aafc6b0c741f9b73a5",
"type": "github"
},
"original": {
@@ -1086,15 +1126,17 @@
"hyprpaper": {
"inputs": {
"hyprlang": "hyprlang_4",
- "nixpkgs": "nixpkgs_9",
- "systems": "systems_9"
+ "hyprutils": "hyprutils_5",
+ "hyprwayland-scanner": "hyprwayland-scanner_3",
+ "nixpkgs": "nixpkgs_10",
+ "systems": "systems_8"
},
"locked": {
- "lastModified": 1719939251,
- "narHash": "sha256-N58i+BSqmz9n7WKFY0Q8c27NWetyzbJf/1NtJuNEQLg=",
+ "lastModified": 1721686135,
+ "narHash": "sha256-Hu2r0BX0/98FzNXI5Nmr+Y0C03iymd+TBiCdR8poW+M=",
"owner": "hyprwm",
"repo": "hyprpaper",
- "rev": "13fcdd79efe439a81d807572cc4b4737abbad918",
+ "rev": "f1f7fc60f5ae2609a369964aeb7ddbf6f9277de7",
"type": "github"
},
"original": {
@@ -1104,6 +1146,56 @@
}
},
"hyprutils": {
+ "inputs": {
+ "nixpkgs": [
+ "aquamarine-patched",
+ "nixpkgs"
+ ],
+ "systems": [
+ "aquamarine-patched",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1721324102,
+ "narHash": "sha256-WAZ0X6yJW1hFG6otkHBfyJDKRpNP5stsRqdEuHrFRpk=",
+ "owner": "hyprwm",
+ "repo": "hyprutils",
+ "rev": "962582a090bc233c4de9d9897f46794280288989",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprutils",
+ "type": "github"
+ }
+ },
+ "hyprutils_2": {
+ "inputs": {
+ "nixpkgs": [
+ "hypridle",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hypridle",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1721324102,
+ "narHash": "sha256-WAZ0X6yJW1hFG6otkHBfyJDKRpNP5stsRqdEuHrFRpk=",
+ "owner": "hyprwm",
+ "repo": "hyprutils",
+ "rev": "962582a090bc233c4de9d9897f46794280288989",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprutils",
+ "type": "github"
+ }
+ },
+ "hyprutils_3": {
"inputs": {
"nixpkgs": [
"hyprland",
@@ -1115,11 +1207,11 @@
]
},
"locked": {
- "lastModified": 1720545076,
- "narHash": "sha256-Pxacc2uoxI00koXp5+CyNqHOTQlqNlK0rlRHDBHX4+g=",
+ "lastModified": 1721324102,
+ "narHash": "sha256-WAZ0X6yJW1hFG6otkHBfyJDKRpNP5stsRqdEuHrFRpk=",
"owner": "hyprwm",
"repo": "hyprutils",
- "rev": "6174a2a25f4e216c0f1d0c4278adc23c476b1d09",
+ "rev": "962582a090bc233c4de9d9897f46794280288989",
"type": "github"
},
"original": {
@@ -1128,7 +1220,7 @@
"type": "github"
}
},
- "hyprutils_2": {
+ "hyprutils_4": {
"inputs": {
"nixpkgs": [
"hyprlock",
@@ -1140,11 +1232,36 @@
]
},
"locked": {
- "lastModified": 1717881334,
- "narHash": "sha256-a0inRgJhPL6v9v7RPM/rx1kbXdfe3xJA1c9z0ZkYnh4=",
+ "lastModified": 1721324102,
+ "narHash": "sha256-WAZ0X6yJW1hFG6otkHBfyJDKRpNP5stsRqdEuHrFRpk=",
+ "owner": "hyprwm",
+ "repo": "hyprutils",
+ "rev": "962582a090bc233c4de9d9897f46794280288989",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprutils",
+ "type": "github"
+ }
+ },
+ "hyprutils_5": {
+ "inputs": {
+ "nixpkgs": [
+ "hyprpaper",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprpaper",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1721324102,
+ "narHash": "sha256-WAZ0X6yJW1hFG6otkHBfyJDKRpNP5stsRqdEuHrFRpk=",
"owner": "hyprwm",
"repo": "hyprutils",
- "rev": "0693f9398ab693d89c9a0aa3b3d062dd61b7a60e",
+ "rev": "962582a090bc233c4de9d9897f46794280288989",
"type": "github"
},
"original": {
@@ -1154,6 +1271,31 @@
}
},
"hyprwayland-scanner": {
+ "inputs": {
+ "nixpkgs": [
+ "aquamarine-patched",
+ "nixpkgs"
+ ],
+ "systems": [
+ "aquamarine-patched",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1721324119,
+ "narHash": "sha256-SOOqIT27/X792+vsLSeFdrNTF+OSRp5qXv6Te+fb2Qg=",
+ "owner": "hyprwm",
+ "repo": "hyprwayland-scanner",
+ "rev": "a048a6cb015340bd82f97c1f40a4b595ca85cc30",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprwayland-scanner",
+ "type": "github"
+ }
+ },
+ "hyprwayland-scanner_2": {
"inputs": {
"nixpkgs": [
"hyprland",
@@ -1165,11 +1307,36 @@
]
},
"locked": {
- "lastModified": 1720215857,
- "narHash": "sha256-JPdL+Qul+jEueAn8CARfcWP83eJgwkhMejQYfDvrgvU=",
+ "lastModified": 1721324119,
+ "narHash": "sha256-SOOqIT27/X792+vsLSeFdrNTF+OSRp5qXv6Te+fb2Qg=",
+ "owner": "hyprwm",
+ "repo": "hyprwayland-scanner",
+ "rev": "a048a6cb015340bd82f97c1f40a4b595ca85cc30",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprwayland-scanner",
+ "type": "github"
+ }
+ },
+ "hyprwayland-scanner_3": {
+ "inputs": {
+ "nixpkgs": [
+ "hyprpaper",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprpaper",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1721324119,
+ "narHash": "sha256-SOOqIT27/X792+vsLSeFdrNTF+OSRp5qXv6Te+fb2Qg=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
- "rev": "d5fa094ca27e0039be5e94c0a80ae433145af8bb",
+ "rev": "a048a6cb015340bd82f97c1f40a4b595ca85cc30",
"type": "github"
},
"original": {
@@ -1230,11 +1397,11 @@
]
},
"locked": {
- "lastModified": 1719845423,
- "narHash": "sha256-ZLHDmWAsHQQKnmfyhYSHJDlt8Wfjv6SQhl2qek42O7A=",
+ "lastModified": 1721655289,
+ "narHash": "sha256-eJQQwXOKWjom9gtb7HvHd3+Wj5Sp+WrYR44r0EnaO5w=",
"owner": "lnl7",
"repo": "nix-darwin",
- "rev": "ec12b88104d6c117871fad55e931addac4626756",
+ "rev": "2ae24bcafdb88fdf70b061cc8b18d070dbd9013a",
"type": "github"
},
"original": {
@@ -1250,11 +1417,11 @@
]
},
"locked": {
- "lastModified": 1720334033,
- "narHash": "sha256-X9pEvvHTVWJphhbUYqXvlLedOndNqGB7rvhSvL2CIgU=",
+ "lastModified": 1721531260,
+ "narHash": "sha256-O72uxk4gYFQDwNkoBioyrR3GK9EReZmexCStBaORMW8=",
"owner": "nix-community",
"repo": "nix-index-database",
- "rev": "685e40e1348007d2cf76747a201bab43d86b38cb",
+ "rev": "b6db9fd8dc59bb2ccb403f76d16ba8bbc1d5263d",
"type": "github"
},
"original": {
@@ -1272,11 +1439,11 @@
]
},
"locked": {
- "lastModified": 1720830151,
- "narHash": "sha256-5m2CnO1fM1Ek7UAxWCMT4Wy3St9LOSAc4cJUJauLpWE=",
+ "lastModified": 1721394956,
+ "narHash": "sha256-VnayJVKngasaNNiMlBhkeA//+V9EpEuT/mkOsFUbFDg=",
"owner": "nix-community",
"repo": "nix-ld-rs",
- "rev": "971bf6fe2d8134b4ea0501b374be60fc2c7f22fb",
+ "rev": "2f1fe38bc69d2400652e0848d9d2ce2955a39cf6",
"type": "github"
},
"original": {
@@ -1294,11 +1461,11 @@
]
},
"locked": {
- "lastModified": 1720787015,
- "narHash": "sha256-U3IqoGmIzBKEJ0ihRQ10GRRtdoDBI6Oxl6aiGbUA59A=",
+ "lastModified": 1721650907,
+ "narHash": "sha256-2VX/zPeLhGTsHpToFH1gfI+oGNS6m7ZUWWaqwmw3HVY=",
"owner": "nix-community",
"repo": "nixos-wsl",
- "rev": "371b5076d718f7f637d3959d0203061f06af1263",
+ "rev": "6686cbe947cb8b135e229ad2a3447b88d1cf6da9",
"type": "github"
},
"original": {
@@ -1391,11 +1558,11 @@
},
"nixpkgs-stable_3": {
"locked": {
- "lastModified": 1720282526,
- "narHash": "sha256-dudRkHPRivMNOhd04YI+v4sWvn2SnN5ODSPIu5IVbco=",
+ "lastModified": 1721524707,
+ "narHash": "sha256-5NctRsoE54N86nWd0psae70YSLfrOek3Kv1e8KoXe/0=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "550ac3e955c30fe96dd8b2223e37e0f5d225c927",
+ "rev": "556533a23879fc7e5f98dd2e0b31a6911a213171",
"type": "github"
},
"original": {
@@ -1407,11 +1574,27 @@
},
"nixpkgs_10": {
"locked": {
- "lastModified": 1720542800,
- "narHash": "sha256-ZgnNHuKV6h2+fQ5LuqnUaqZey1Lqqt5dTUAiAnqH0QQ=",
+ "lastModified": 1721138476,
+ "narHash": "sha256-+W5eZOhhemLQxelojLxETfbFbc19NWawsXBlapYpqIA=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "ad0b5eed1b6031efaed382844806550c3dcb4206",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_11": {
+ "locked": {
+ "lastModified": 1721562059,
+ "narHash": "sha256-Tybxt65eyOARf285hMHIJ2uul8SULjFZbT9ZaEeUnP8=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "feb2849fdeb70028c70d73b848214b00d324a497",
+ "rev": "68c9ed8bbed9dfce253cc91560bf9043297ef2fe",
"type": "github"
},
"original": {
@@ -1421,13 +1604,13 @@
"type": "github"
}
},
- "nixpkgs_11": {
+ "nixpkgs_12": {
"locked": {
- "lastModified": 1719848872,
- "narHash": "sha256-H3+EC5cYuq+gQW8y0lSrrDZfH71LB4DAf+TDFyvwCNA=",
+ "lastModified": 1721562059,
+ "narHash": "sha256-Tybxt65eyOARf285hMHIJ2uul8SULjFZbT9ZaEeUnP8=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "00d80d13810dbfea8ab4ed1009b09100cca86ba8",
+ "rev": "68c9ed8bbed9dfce253cc91560bf9043297ef2fe",
"type": "github"
},
"original": {
@@ -1437,7 +1620,7 @@
"type": "github"
}
},
- "nixpkgs_12": {
+ "nixpkgs_13": {
"locked": {
"lastModified": 1719082008,
"narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=",
@@ -1453,13 +1636,13 @@
"type": "github"
}
},
- "nixpkgs_13": {
+ "nixpkgs_14": {
"locked": {
- "lastModified": 1718983919,
- "narHash": "sha256-+1xgeIow4gJeiwo4ETvMRvWoircnvb0JOt7NS9kUhoM=",
+ "lastModified": 1721466660,
+ "narHash": "sha256-pFSxgSZqZ3h+5Du0KvEL1ccDZBwu4zvOil1zzrPNb3c=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "90338afd6177fc683a04d934199d693708c85a3b",
+ "rev": "6e14bbce7bea6c4efd7adfa88a40dac750d80100",
"type": "github"
},
"original": {
@@ -1484,15 +1667,15 @@
},
"nixpkgs_3": {
"locked": {
- "lastModified": 1716948383,
- "narHash": "sha256-SzDKxseEcHR5KzPXLwsemyTR/kaM9whxeiJohbL04rs=",
- "owner": "nixos",
+ "lastModified": 1721138476,
+ "narHash": "sha256-+W5eZOhhemLQxelojLxETfbFbc19NWawsXBlapYpqIA=",
+ "owner": "NixOS",
"repo": "nixpkgs",
- "rev": "ad57eef4ef0659193044870c731987a6df5cf56b",
+ "rev": "ad0b5eed1b6031efaed382844806550c3dcb4206",
"type": "github"
},
"original": {
- "owner": "nixos",
+ "owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
@@ -1500,43 +1683,43 @@
},
"nixpkgs_4": {
"locked": {
- "lastModified": 1706487304,
- "narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=",
- "owner": "NixOS",
+ "lastModified": 1716948383,
+ "narHash": "sha256-SzDKxseEcHR5KzPXLwsemyTR/kaM9whxeiJohbL04rs=",
+ "owner": "nixos",
"repo": "nixpkgs",
- "rev": "90f456026d284c22b3e3497be980b2e47d0b28ac",
+ "rev": "ad57eef4ef0659193044870c731987a6df5cf56b",
"type": "github"
},
"original": {
- "owner": "NixOS",
- "ref": "nixpkgs-unstable",
+ "owner": "nixos",
+ "ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_5": {
"locked": {
- "lastModified": 1712963716,
- "narHash": "sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM=",
+ "lastModified": 1706487304,
+ "narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "cfd6b5fc90b15709b780a5a1619695a88505a176",
+ "rev": "90f456026d284c22b3e3497be980b2e47d0b28ac",
"type": "github"
},
"original": {
"owner": "NixOS",
- "ref": "nixos-unstable",
+ "ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_6": {
"locked": {
- "lastModified": 1720542800,
- "narHash": "sha256-ZgnNHuKV6h2+fQ5LuqnUaqZey1Lqqt5dTUAiAnqH0QQ=",
+ "lastModified": 1721138476,
+ "narHash": "sha256-+W5eZOhhemLQxelojLxETfbFbc19NWawsXBlapYpqIA=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "feb2849fdeb70028c70d73b848214b00d324a497",
+ "rev": "ad0b5eed1b6031efaed382844806550c3dcb4206",
"type": "github"
},
"original": {
@@ -1548,11 +1731,11 @@
},
"nixpkgs_7": {
"locked": {
- "lastModified": 1712163089,
- "narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=",
+ "lastModified": 1721379653,
+ "narHash": "sha256-8MUgifkJ7lkZs3u99UDZMB4kbOxvMEXQZ31FO3SopZ0=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "fd281bd6b7d3e32ddfa399853946f782553163b5",
+ "rev": "1d9c2c9b3e71b9ee663d11c5d298727dace8d374",
"type": "github"
},
"original": {
@@ -1564,11 +1747,11 @@
},
"nixpkgs_8": {
"locked": {
- "lastModified": 1708475490,
- "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=",
+ "lastModified": 1712163089,
+ "narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "0e74ca98a74bc7270d28838369593635a5db3260",
+ "rev": "fd281bd6b7d3e32ddfa399853946f782553163b5",
"type": "github"
},
"original": {
@@ -1580,11 +1763,11 @@
},
"nixpkgs_9": {
"locked": {
- "lastModified": 1712963716,
- "narHash": "sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM=",
+ "lastModified": 1721138476,
+ "narHash": "sha256-+W5eZOhhemLQxelojLxETfbFbc19NWawsXBlapYpqIA=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "cfd6b5fc90b15709b780a5a1619695a88505a176",
+ "rev": "ad0b5eed1b6031efaed382844806550c3dcb4206",
"type": "github"
},
"original": {
@@ -1602,15 +1785,15 @@
"git-hooks": "git-hooks",
"home-manager": "home-manager_2",
"nix-darwin": "nix-darwin",
- "nixpkgs": "nixpkgs_11",
+ "nixpkgs": "nixpkgs_12",
"treefmt-nix": "treefmt-nix"
},
"locked": {
- "lastModified": 1720804407,
- "narHash": "sha256-mLVzkOpfOqYPmwjAAHRmeVUoOUmpLpxmfKDObT1FVtc=",
+ "lastModified": 1721769661,
+ "narHash": "sha256-58PNElnK77DGprTqkakVi0wB9oTcOUtyYkw80wb/2Sk=",
"owner": "nix-community",
"repo": "nixvim",
- "rev": "89d74cdce173223f57754c6a315c929f8fc14229",
+ "rev": "10cc58d497ab422801b68ec8cde036b521f76a50",
"type": "github"
},
"original": {
@@ -1621,11 +1804,11 @@
},
"nur": {
"locked": {
- "lastModified": 1720843460,
- "narHash": "sha256-iUA+xNeyVZOAApZ+6hnueGQgNU3JybcRgsHwBttStcc=",
+ "lastModified": 1721771144,
+ "narHash": "sha256-XWOhdlTNf58pR8Mwu3a59vrA7aOftt/KSt4EI2GwZNY=",
"owner": "nix-community",
"repo": "NUR",
- "rev": "3aa39365e8468ecb3bad4494b37a784c325b986e",
+ "rev": "a6160422592deae0a754b2d969cf611f9339f212",
"type": "github"
},
"original": {
@@ -1669,15 +1852,15 @@
"inputs": {
"flake-compat": "flake-compat_6",
"gitignore": "gitignore_3",
- "nixpkgs": "nixpkgs_12",
+ "nixpkgs": "nixpkgs_13",
"nixpkgs-stable": "nixpkgs-stable_2"
},
"locked": {
- "lastModified": 1720524665,
- "narHash": "sha256-ni/87oHPZm6Gv0ECYxr1f6uxB0UKBWJ6HvS7lwLU6oY=",
+ "lastModified": 1721042469,
+ "narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
- "rev": "8d6a17d0cdf411c55f12602624df6368ad86fac1",
+ "rev": "f451c19376071a90d8c58ab1a953c6e9840527fd",
"type": "github"
},
"original": {
@@ -1690,6 +1873,7 @@
"inputs": {
"anyrun": "anyrun",
"anyrun-nixos-options": "anyrun-nixos-options",
+ "aquamarine-patched": "aquamarine-patched",
"catppuccin": "catppuccin",
"catppuccin-cursors": "catppuccin-cursors",
"darwin": "darwin",
@@ -1707,8 +1891,7 @@
"nix-index-database": "nix-index-database",
"nix-ld-rs": "nix-ld-rs",
"nixos-wsl": "nixos-wsl",
- "nixpkgs": "nixpkgs_10",
- "nixpkgs-small": "nixpkgs-small",
+ "nixpkgs": "nixpkgs_11",
"nixvim": "nixvim",
"nur": "nur",
"pre-commit-hooks-nix": "pre-commit-hooks-nix_2",
@@ -1724,7 +1907,7 @@
"rust-overlay": {
"inputs": {
"flake-utils": "flake-utils",
- "nixpkgs": "nixpkgs_4"
+ "nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1714529851,
@@ -1773,11 +1956,11 @@
]
},
"locked": {
- "lastModified": 1719022649,
- "narHash": "sha256-ZDS8x9XpFeSBs9gMTHoujKWPn+i9ecqE9NWEUF07Yuc=",
+ "lastModified": 1721441897,
+ "narHash": "sha256-gYGX9/22tPNeF7dR6bWN5rsrpU4d06GnQNNgZ6ZiXz0=",
"owner": "oxalica",
"repo": "rust-overlay",
- "rev": "ff019b65a656d36dca3e57b43c40c44eec7852c5",
+ "rev": "b7996075da11a2d441cfbf4e77c2939ce51506fd",
"type": "github"
},
"original": {
@@ -1862,11 +2045,11 @@
"nixpkgs-stable": "nixpkgs-stable_3"
},
"locked": {
- "lastModified": 1720479166,
- "narHash": "sha256-jqvhLDXzTLTHq9ZviFOpcTmXXmnbLfz7mWhgMNipMN4=",
+ "lastModified": 1721688883,
+ "narHash": "sha256-9jsjsRKtJRqNSTXKj9zuDFRf2PGix30nMx9VKyPgD2U=",
"owner": "Mic92",
"repo": "sops-nix",
- "rev": "67035a355b1d52d2d238501f8cc1a18706979760",
+ "rev": "aff2f88277dabe695de4773682842c34a0b7fd54",
"type": "github"
},
"original": {
@@ -1883,11 +2066,11 @@
]
},
"locked": {
- "lastModified": 1720757491,
- "narHash": "sha256-ctJJF0+SMA6ctYcmsYudGsWlYo8CvA3x/a0gW0M/bM8=",
+ "lastModified": 1721727694,
+ "narHash": "sha256-X3qaEUG5zgJi9G1ceLpjuvlC9euTVNGlnJilfCgWJu4=",
"owner": "Gerg-L",
"repo": "spicetify-nix",
- "rev": "45c8a1d76c34d95ff6f948fff8356f46bc8ef48c",
+ "rev": "597ae057680ac250083166efab806dcc2e47dd6b",
"type": "github"
},
"original": {
@@ -1986,22 +2169,22 @@
"type": "github"
}
},
- "systems_15": {
+ "systems_2": {
"locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "lastModified": 1689347949,
+ "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "repo": "default-linux",
+ "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
- "repo": "default",
+ "repo": "default-linux",
"type": "github"
}
},
- "systems_2": {
+ "systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -2016,7 +2199,7 @@
"type": "github"
}
},
- "systems_3": {
+ "systems_4": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -2031,21 +2214,6 @@
"type": "github"
}
},
- "systems_4": {
- "locked": {
- "lastModified": 1689347949,
- "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
- "owner": "nix-systems",
- "repo": "default-linux",
- "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
- "type": "github"
- },
- "original": {
- "owner": "nix-systems",
- "repo": "default-linux",
- "type": "github"
- }
- },
"systems_5": {
"locked": {
"lastModified": 1689347949,
@@ -2108,16 +2276,16 @@
},
"systems_9": {
"locked": {
- "lastModified": 1689347949,
- "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
- "repo": "default-linux",
- "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
- "repo": "default-linux",
+ "repo": "default",
"type": "github"
}
},
@@ -2129,11 +2297,11 @@
]
},
"locked": {
- "lastModified": 1719887753,
- "narHash": "sha256-p0B2r98UtZzRDM5miGRafL4h7TwGRC4DII+XXHDHqek=",
+ "lastModified": 1721458737,
+ "narHash": "sha256-wNXLQ/ATs1S4Opg1PmuNoJ+Wamqj93rgZYV3Di7kxkg=",
"owner": "numtide",
"repo": "treefmt-nix",
- "rev": "bdb6355009562d8f9313d9460c0d3860f525bc6c",
+ "rev": "888bfb10a9b091d9ed2f5f8064de8d488f7b7c97",
"type": "github"
},
"original": {
@@ -2144,7 +2312,7 @@
},
"utils": {
"inputs": {
- "systems": "systems_2"
+ "systems": "systems_3"
},
"locked": {
"lastModified": 1701680307,
@@ -2168,11 +2336,11 @@
]
},
"locked": {
- "lastModified": 1720847119,
- "narHash": "sha256-Lss9JGxfnEcmIYI/JDh2t2zU8GBZg9XI6saJ7xnB5T0=",
+ "lastModified": 1721631968,
+ "narHash": "sha256-BwBRNmGv2nX1nEhitOKyoOvmk+G6WoBaBHAlKYy5Edg=",
"owner": "Alexays",
"repo": "Waybar",
- "rev": "3d0fd14f3f26085d2669b0197ab23c241100a2b4",
+ "rev": "003dd3a9a260a212648b6ab4a70f058c6437d40d",
"type": "github"
},
"original": {
@@ -2187,17 +2355,17 @@
"freetype2": "freetype2",
"harfbuzz": "harfbuzz",
"libpng": "libpng",
- "nixpkgs": "nixpkgs_13",
+ "nixpkgs": "nixpkgs_14",
"rust-overlay": "rust-overlay_3",
"zlib": "zlib"
},
"locked": {
"dir": "nix",
- "lastModified": 1719842966,
- "narHash": "sha256-jZqQMXdyL5UypCVXqyKYH/GlDdjRPSMKrB0PzCjd1D8=",
+ "lastModified": 1721660996,
+ "narHash": "sha256-einWGKcn7zLSCYChDXN1aKrw1nz3P89dF/gK+OPD0Qw=",
"owner": "wez",
"repo": "wezterm",
- "rev": "69686f4564ea460111936dee3179ecf8c80e9930",
+ "rev": "7e8fdc118d2d7ceb51c720a966090f6cb65089b7",
"type": "github"
},
"original": {
@@ -2224,11 +2392,11 @@
]
},
"locked": {
- "lastModified": 1720194466,
- "narHash": "sha256-Rizg9efi6ue95zOp0MeIV2ZedNo+5U9G2l6yirgBUnA=",
+ "lastModified": 1721648131,
+ "narHash": "sha256-cyyxu/oj4QEFp3CVx2WeXa9T4OAUyynuBJHGkBZSxJI=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
- "rev": "b9b97e5ba23fe7bd5fa4df54696102e8aa863cf6",
+ "rev": "663be9cad424b170b28b9fa8a61042d721007f3b",
"type": "github"
},
"original": {
@@ -2240,11 +2408,11 @@
"yubikey-guide": {
"flake": false,
"locked": {
- "lastModified": 1720404778,
- "narHash": "sha256-LqZkHvA7bv0nldxe/cm51aHkTV0EBDbO3eU1g1C60Us=",
+ "lastModified": 1721595697,
+ "narHash": "sha256-xHsdj0ui2YzWNxUHbOXrvB73blIui9dwScKtzoruJxs=",
"owner": "drduh",
"repo": "YubiKey-Guide",
- "rev": "a46409e2e8e5e360290a2d720bfc3bc71b76be30",
+ "rev": "d9af1dea5014a229ddd639c30f7628bda7acf311",
"type": "github"
},
"original": {
diff --git a/flake.nix b/flake.nix
index 68c9c1b52..56a77e1a4 100644
--- a/flake.nix
+++ b/flake.nix
@@ -5,6 +5,8 @@
anyrun.url = "github:anyrun-org/anyrun";
anyrun-nixos-options.url = "github:n3oney/anyrun-nixos-options";
+ aquamarine-patched.url = "github:sjcobb2022/aquamarine-patched";
+
catppuccin-cursors.url = "github:catppuccin/cursors";
catppuccin.url = "github:catppuccin/nix";
@@ -40,12 +42,11 @@
# Hyprlock
hyprlock = {
url = "github:hyprwm/Hyprlock";
- # NOTE: required to prevent red screen on lock
- inputs.nixpkgs.follows = "nixpkgs";
};
# Hyprland
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
+ hyprland.inputs.aquamarine.follows = "aquamarine-patched";
# hyprland.url = "git+https://github.com/khaneliman/Hyprland?ref=windows&submodules=1";
# Hyprpaper
@@ -99,6 +100,7 @@
url = "github:nix-community/nix-ld-rs";
inputs.nixpkgs.follows = "nixpkgs";
};
+
# Neovim nix configuration
nixvim = {
url = "github:nix-community/nixvim";
diff --git a/homes/aarch64-darwin/khaneliman@khanelimac/default.nix b/homes/aarch64-darwin/khaneliman@khanelimac/default.nix
index a572ea2c1..0e9199407 100644
--- a/homes/aarch64-darwin/khaneliman@khanelimac/default.nix
+++ b/homes/aarch64-darwin/khaneliman@khanelimac/default.nix
@@ -68,12 +68,14 @@ in
suites = {
business = enabled;
common = enabled;
+ desktop = enabled;
development = {
enable = true;
nixEnable = true;
};
music = enabled;
+ networking = enabled;
photo = enabled;
social = enabled;
};
diff --git a/homes/x86_64-linux/khaneliman@khanelinix/default.nix b/homes/x86_64-linux/khaneliman@khanelinix/default.nix
index 900eb43ce..0ca4bfbf1 100644
--- a/homes/x86_64-linux/khaneliman@khanelinix/default.nix
+++ b/homes/x86_64-linux/khaneliman@khanelinix/default.nix
@@ -60,8 +60,8 @@ in
prependConfig = # bash
lib.concatStringsSep "\n" [
"# See https://wiki.hyprland.org/Configuring/Monitors/"
- "monitor=DP-3, 3840x2160@60, 1420x0, 2"
- "monitor=DP-1, 5120x1440@120, 0x1080, 1"
+ "monitor=DP-3, 3840x2160@60, 1420x0, 2, bitdepth, 10"
+ "monitor=DP-1, 5120x1440@120, 0x1080, 1, bitdepth, 10"
""
(
"exec-once = ${getExe pkgs.xorg.xrandr} "
@@ -80,6 +80,59 @@ in
"workspace = 9, monitor:DP-1, persistent:true"
];
};
+
+ sway = {
+ enable = true;
+
+ settings = {
+ output = {
+ "DP-3" = {
+ resolution = "3840x2160";
+ position = "1420,0";
+ scale = "2";
+ };
+ "DP-1" = {
+ resolution = "5120x1440";
+ position = "0,1080";
+ };
+ };
+
+ workspaceOutputAssign = [
+ {
+ workspace = "1";
+ output = "DP-3";
+ }
+ {
+ workspace = "2";
+ output = "DP-1";
+ }
+ {
+ workspace = "3";
+ output = "DP-1";
+ }
+ {
+ workspace = "4";
+ output = "DP-1";
+ }
+ {
+ workspace = "5";
+ output = "DP-1";
+ }
+ {
+ workspace = "6";
+ output = "DP-1";
+ }
+ {
+ workspace = "7";
+ output = "DP-1";
+ }
+ {
+ workspace = "8";
+ output = "DP-1";
+ }
+ ];
+ };
+ };
};
};
@@ -162,6 +215,7 @@ in
emulation = enabled;
games = enabled;
music = enabled;
+ networking = enabled;
photo = enabled;
social = enabled;
video = enabled;
diff --git a/lib/module/default.nix b/lib/module/default.nix
index f061275ad..2bf69ae23 100644
--- a/lib/module/default.nix
+++ b/lib/module/default.nix
@@ -32,5 +32,9 @@ rec {
default-attrs = mapAttrs (_key: mkDefault);
+ force-attrs = mapAttrs (_key: mkForce);
+
nested-default-attrs = mapAttrs (_key: default-attrs);
+
+ nested-force-attrs = mapAttrs (_key: force-attrs);
}
diff --git a/modules/darwin/archetypes/workstation/default.nix b/modules/darwin/archetypes/workstation/default.nix
index 4c116c5f5..178a89800 100644
--- a/modules/darwin/archetypes/workstation/default.nix
+++ b/modules/darwin/archetypes/workstation/default.nix
@@ -17,7 +17,7 @@ in
config = mkIf cfg.enable {
khanelinix = {
- desktop.addons.barrier = enabled;
+ # TODO: input-leap replace barrier
suites = {
business = enabled;
diff --git a/modules/darwin/desktop/addons/barrier/default.nix b/modules/darwin/desktop/addons/barrier/default.nix
deleted file mode 100644
index c6ee6bc49..000000000
--- a/modules/darwin/desktop/addons/barrier/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- config,
- lib,
- namespace,
- ...
-}:
-let
- inherit (lib) mkIf;
- inherit (lib.${namespace}) mkBoolOpt;
-
- cfg = config.${namespace}.desktop.addons.barrier;
-in
-{
- options.${namespace}.desktop.addons.barrier = {
- enable = mkBoolOpt false "Whether or not to enable barrier.";
- };
-
- config = mkIf cfg.enable {
- homebrew = {
- casks = [ "barrier" ];
- };
- };
-}
diff --git a/modules/darwin/suites/networking/default.nix b/modules/darwin/suites/networking/default.nix
index 5749c24a6..936466e5d 100644
--- a/modules/darwin/suites/networking/default.nix
+++ b/modules/darwin/suites/networking/default.nix
@@ -1,7 +1,6 @@
{
config,
lib,
- pkgs,
namespace,
...
}:
@@ -26,14 +25,5 @@ in
networking = enabled;
};
};
-
- environment.systemPackages = with pkgs; [
- # ifstat-legacy
- nmap
- openssh
- speedtest-cli
- ssh-copy-id
- wireguard-go
- ];
};
}
diff --git a/modules/home/programs/graphical/bars/sketchybar/config/items/today/weather.lua b/modules/home/programs/graphical/bars/sketchybar/config/items/today/weather.lua
index 74347a1e9..038b0368d 100644
--- a/modules/home/programs/graphical/bars/sketchybar/config/items/today/weather.lua
+++ b/modules/home/programs/graphical/bars/sketchybar/config/items/today/weather.lua
@@ -61,7 +61,7 @@ weather.details = Sbar.add("item", "weather.details", {
})
-- Update function
-weather.temp:subscribe({ "routine", "forced", "weather_update" }, function()
+weather.temp:subscribe({ "routine", "forced", "system_woke", "weather_update" }, function()
-- Reset popup state
weather.temp:set({ popup = { drawing = false } })
diff --git a/modules/home/programs/graphical/bars/waybar/default.nix b/modules/home/programs/graphical/bars/waybar/default.nix
index bc84fa76a..2f0803a16 100644
--- a/modules/home/programs/graphical/bars/waybar/default.nix
+++ b/modules/home/programs/graphical/bars/waybar/default.nix
@@ -30,6 +30,7 @@ let
default-modules = import ./modules/default-modules.nix { inherit lib pkgs; };
group-modules = import ./modules/group-modules.nix;
hyprland-modules = import ./modules/hyprland-modules.nix { inherit config lib; };
+ sway-modules = import ./modules/sway-modules.nix { inherit config lib; };
commonAttributes = {
layer = "top";
@@ -39,36 +40,45 @@ let
margin-left = 20;
margin-right = 20;
- modules-left = [
- "custom/power"
- "hyprland/workspaces"
- "custom/separator-left"
- "hyprland/window"
- ];
+ modules-left =
+ [ "custom/power" ]
+ ++ lib.optionals config.${namespace}.programs.graphical.wms.hyprland.enable [
+ "hyprland/workspaces"
+ ]
+ ++ lib.optionals config.${namespace}.programs.graphical.wms.sway.enable [ "sway/workspaces" ]
+ ++ [ "custom/separator-left" ]
+ ++ lib.optionals config.${namespace}.programs.graphical.wms.hyprland.enable [ "hyprland/window" ]
+ ++ lib.optionals config.${namespace}.programs.graphical.wms.sway.enable [ "sway/window" ];
};
fullSizeModules = {
- modules-right = [
- "group/tray"
- "custom/separator-right"
- "group/stats"
- "custom/separator-right"
- "group/control-center"
- "hyprland/submap"
- "custom/weather"
- "clock"
- ];
+ modules-right =
+ [
+ "group/tray"
+ "custom/separator-right"
+ "group/stats"
+ "custom/separator-right"
+ "group/control-center"
+ ]
+ ++ lib.optionals config.${namespace}.programs.graphical.wms.hyprland.enable [ "hyprland/submap" ]
+ ++ [
+ "custom/weather"
+ "clock"
+ ];
};
condensedModules = {
- modules-right = [
- "group/tray-drawer"
- "group/stats-drawer"
- "group/control-center"
- "hyprland/submap"
- "custom/weather"
- "clock"
- ];
+ modules-right =
+ [
+ "group/tray-drawer"
+ "group/stats-drawer"
+ "group/control-center"
+ ]
+ ++ lib.optionals config.${namespace}.programs.graphical.wms.hyprland.enable [ "hyprland/submap" ]
+ ++ [
+ "custom/weather"
+ "clock"
+ ];
};
mkBarSettings =
@@ -80,6 +90,7 @@ let
default-modules
group-modules
(lib.mkIf config.${namespace}.programs.graphical.wms.hyprland.enable hyprland-modules)
+ (lib.mkIf config.${namespace}.programs.graphical.wms.sway.enable sway-modules)
];
generateOutputSettings =
diff --git a/modules/home/programs/graphical/bars/waybar/modules/custom-modules.nix b/modules/home/programs/graphical/bars/waybar/modules/custom-modules.nix
index b442a7201..08bdd686e 100644
--- a/modules/home/programs/graphical/bars/waybar/modules/custom-modules.nix
+++ b/modules/home/programs/graphical/bars/waybar/modules/custom-modules.nix
@@ -128,21 +128,23 @@ in
menu-actions =
let
systemctl = getExe' pkgs.systemd "systemctl";
- lock = getExe config.programs.hyprlock.package;
+ hyprlock = getExe config.programs.hyprlock.package;
+ swaylock = getExe config.programs.swaylock.package;
poweroff = getExe' pkgs.systemd "poweroff";
reboot = getExe' pkgs.systemd "reboot";
terminal = getExe config.programs.kitty.package;
top = getExe config.programs.btop.package;
hyprctl = getExe' config.wayland.windowManager.hyprland.package "hyprctl";
+ swaymsg = getExe' config.wayland.windowManager.sway.package "swaymsg";
in
{
inherit poweroff reboot;
hibernate = "${systemctl} hibernate";
- lock = "${lock} --immediate";
+ lock = ''([[ "$XDG_CURRENT_DESKTOP" == "sway" ]] && ${swaylock} -defF) || ([[ "$XDG_CURRENT_DESKTOP" == "Hyprland" ]] && ${hyprlock} --immediate)'';
suspend = "${systemctl} suspend";
top = "${terminal} ${top}";
- logout = "${hyprctl} dispatch exit && ${systemctl} --user exit ";
+ logout = "$(${hyprctl} dispatch exit || ${swaymsg} exit) && ${systemctl} --user exit ";
};
};
diff --git a/modules/home/programs/graphical/bars/waybar/modules/default-modules.nix b/modules/home/programs/graphical/bars/waybar/modules/default-modules.nix
index 8ce01dbd1..1e628c09c 100644
--- a/modules/home/programs/graphical/bars/waybar/modules/default-modules.nix
+++ b/modules/home/programs/graphical/bars/waybar/modules/default-modules.nix
@@ -1,6 +1,8 @@
{ lib, pkgs, ... }:
let
inherit (lib) getExe getExe';
+
+ catppuccin = import (lib.snowfall.fs.get-file "modules/home/theme/catppuccin/colors.nix");
in
{
backlight =
@@ -83,6 +85,26 @@ in
clock = {
tooltip-format = "{:%Y %B}\n{calendar}";
format = " {:%a %d %b \n %I:%M %p}";
+ calendar = {
+ mode = "year";
+ mode-mon-col = 3;
+ weeks-pos = "right";
+ on-scroll = 1;
+ format = {
+ months = "{}";
+ days = "{}";
+ weeks = "W{}";
+ weekdays = "{}";
+ today = "{}";
+ };
+ };
+ actions = {
+ on-click-right = "mode";
+ on-click-forward = "tz_up";
+ on-click-backward = "tz_down";
+ on-scroll-up = "shift_up";
+ on-scroll-down = "shift_down";
+ };
};
cpu = {
diff --git a/modules/home/programs/graphical/bars/waybar/modules/hyprland-modules.nix b/modules/home/programs/graphical/bars/waybar/modules/hyprland-modules.nix
index aff561119..01134d9df 100644
--- a/modules/home/programs/graphical/bars/waybar/modules/hyprland-modules.nix
+++ b/modules/home/programs/graphical/bars/waybar/modules/hyprland-modules.nix
@@ -109,7 +109,7 @@ in
"class" = "";
"class" = "";
"class" = "";
- "class" = "";
+ "class" = "";
"class title<.*WL-1.*>" = "";
"class" = "";
"code-url-handler" = "";
diff --git a/modules/home/programs/graphical/bars/waybar/modules/sway-modules.nix b/modules/home/programs/graphical/bars/waybar/modules/sway-modules.nix
new file mode 100644
index 000000000..efcbb90bd
--- /dev/null
+++ b/modules/home/programs/graphical/bars/waybar/modules/sway-modules.nix
@@ -0,0 +1,121 @@
+{ config, lib, ... }:
+let
+ inherit (lib) getExe';
+in
+{
+ "sway/window" = {
+ format = "{}";
+ separate-outputs = true;
+ };
+
+ "sway/workspaces" = {
+ all-outputs = false;
+ active-only = "false";
+ on-click = "activate";
+ on-scroll-up = "${getExe' config.wayland.windowManager.sway.package "swaymsg"} workspace next";
+ on-scroll-down = "${getExe' config.wayland.windowManager.sway.package "swaymsg"} workspace prev";
+ format = "{icon} {windows}";
+ format-icons = {
+ "1" = "";
+ "2" = "";
+ "3" = "";
+ "4" = "";
+ "5" = "";
+ "6" = "";
+ "7" = "";
+ "8" = "";
+ "9" = "";
+ "10" = "";
+ "urgent" = "";
+ "default" = "";
+ "empty" = "";
+ };
+ persistent-workspaces = {
+ "1" = [ "DP-3" ];
+ "2" = [ "DP-1" ];
+ "3" = [ "DP-1" ];
+ "4" = [ "DP-1" ];
+ "5" = [ "DP-1" ];
+ "6" = [ "DP-1" ];
+ "7" = [ "DP-1" ];
+ "8" = [ "DP-1" ];
+ };
+ window-format = "{name}";
+ window-rewrite-default = "";
+ window-rewrite = {
+ "class<.blueman-manager-wrapped>" = "";
+ "class<.devede_ng.py-wrapped>" = "";
+ "class<.pitivi-wrapped>" = "";
+ "class<.xemu-wrapped>" = "";
+ "class<1Password>" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class title<.*github.*>" = "";
+ "class title<.*twitch|youtube|plex|tntdrama|bally sports.*>" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class" = "";
+ "class title<.*WL-1.*>" = "";
+ "class" = "";
+ "code-url-handler" = "";
+ "title" = "";
+ "title" = "";
+ "title" = "";
+ };
+ };
+}
diff --git a/modules/home/programs/graphical/bars/waybar/modules/wlr-modules.nix b/modules/home/programs/graphical/bars/waybar/modules/wlr-modules.nix
deleted file mode 100644
index 8763026b9..000000000
--- a/modules/home/programs/graphical/bars/waybar/modules/wlr-modules.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "wlr/workspaces" = {
- all-outputs = false;
- active-only = "false";
- on-click = "activate";
- format = "{icon}";
- format-icons = {
- "1" = "";
- "2" = "";
- "3" = "";
- "4" = "";
- "5" = "";
- "6" = "";
- "7" = "";
- "8" = "";
- "urgent" = "";
- "default" = "";
- };
- persistent_workspaces = {
- "1" = [ "DP-3" ];
- "2" = [ "DP-1" ];
- "3" = [ "DP-1" ];
- "4" = [ "DP-1" ];
- "5" = [ "DP-1" ];
- "6" = [ "DP-1" ];
- "7" = [ "DP-1" ];
- "8" = [ "DP-1" ];
- };
- };
-}
diff --git a/modules/home/programs/graphical/wms/hyprland/default.nix b/modules/home/programs/graphical/wms/hyprland/default.nix
index 7a8f6b631..922995fd2 100644
--- a/modules/home/programs/graphical/wms/hyprland/default.nix
+++ b/modules/home/programs/graphical/wms/hyprland/default.nix
@@ -52,7 +52,12 @@ in
config = mkIf cfg.enable {
home = {
- packages = with pkgs; [ xwaylandvideobridge ];
+ packages = with pkgs; [
+ xwaylandvideobridge
+ # NOTE: xdph requirement
+ grim
+ slurp
+ ];
sessionVariables =
{
@@ -95,6 +100,8 @@ in
};
services = {
+ cliphist.systemdTargets = [ "hyprland-session.target" ];
+
hypridle = enabled;
hyprpaper = {
@@ -113,8 +120,6 @@ in
};
};
- services.cliphist.systemdTarget = "hyprland-session.target";
-
wayland.windowManager.hyprland = {
enable = true;
@@ -138,6 +143,11 @@ in
systemd = {
enable = true;
enableXdgAutostart = true;
+ extraCommands = [
+ "systemctl --user stop hyprland-session.target"
+ "systemctl --user reset-failed"
+ "systemctl --user start hyprland-session.target"
+ ];
variables = [ "--all" ];
};
diff --git a/modules/home/programs/graphical/wms/hyprland/variables.nix b/modules/home/programs/graphical/wms/hyprland/variables.nix
index f8c2468af..ccdecfa8d 100644
--- a/modules/home/programs/graphical/wms/hyprland/variables.nix
+++ b/modules/home/programs/graphical/wms/hyprland/variables.nix
@@ -56,6 +56,7 @@ in
colored_stdout_logs = true;
disable_logs = false;
enable_stdout_logs = true;
+ error_position = -1;
};
decoration = {
@@ -88,7 +89,7 @@ in
};
general = {
- allow_tearing = true;
+ # allow_tearing = true;
border_size = 2;
"col.active_border" = "rgba(7793D1FF)";
"col.inactive_border" = "rgb(5e6798)";
@@ -139,6 +140,7 @@ in
sensitivity = 0; # -1.0 - 1.0, 0 means no modification.
scroll_factor = 1.0;
+ emulate_discrete_scroll = 1;
# repeat_delay = 500; # Mimic the responsiveness of mac setup
# repeat_rate = 50; # Mimic the responsiveness of mac setup
};
diff --git a/modules/home/programs/graphical/wms/sway/apps.nix b/modules/home/programs/graphical/wms/sway/apps.nix
new file mode 100644
index 000000000..bc0ba7650
--- /dev/null
+++ b/modules/home/programs/graphical/wms/sway/apps.nix
@@ -0,0 +1,34 @@
+{
+ config,
+ lib,
+ pkgs,
+ namespace,
+ ...
+}:
+let
+ inherit (lib) mkIf getExe;
+
+ cfg = config.${namespace}.programs.graphical.wms.sway;
+in
+{
+ config = mkIf cfg.enable {
+ wayland.windowManager.sway = {
+ config = {
+ startup = [
+ { command = getExe config.programs.firefox.package; }
+ { command = getExe pkgs.steam; }
+ { command = getExe pkgs.discord; }
+ { command = getExe pkgs.thunderbird; }
+
+ # Startup background apps
+ { command = "${getExe pkgs.openrgb-with-all-plugins} --startminimized --profile default"; }
+ { command = "${getExe pkgs._1password-gui} --silent"; }
+ { command = getExe pkgs.tailscale-systray; }
+ { command = "run-as-service $(${getExe pkgs.wayvnc} $(${getExe pkgs.tailscale} ip --4))"; }
+
+ { command = "${lib.getExe pkgs.libnotify} --icon ~/.face -u normal \"Hello $(whoami)\""; }
+ ];
+ };
+ };
+ };
+}
diff --git a/modules/home/programs/graphical/wms/sway/binds.nix b/modules/home/programs/graphical/wms/sway/binds.nix
new file mode 100644
index 000000000..a6a3dda7f
--- /dev/null
+++ b/modules/home/programs/graphical/wms/sway/binds.nix
@@ -0,0 +1,209 @@
+{
+ config,
+ inputs,
+ lib,
+ namespace,
+ pkgs,
+ system,
+ ...
+}:
+let
+ inherit (lib)
+ mkIf
+ getExe
+ getExe'
+ mkForce
+ ;
+ inherit (inputs) hyprland-contrib;
+
+ cfg = config.${namespace}.programs.graphical.wms.sway;
+in
+{
+ config = mkIf cfg.enable {
+ wayland.windowManager.sway = {
+ config = {
+ keybindings =
+ let
+ swayCfg = config.wayland.windowManager.sway.config;
+
+ convert = getExe' pkgs.imagemagick "convert";
+ grimblast = getExe hyprland-contrib.packages.${system}.grimblast;
+ wl-copy = getExe' pkgs.wl-clipboard "wl-copy";
+ wl-paste = getExe' pkgs.wl-clipboard "wl-paste";
+
+ getDateTime = getExe (
+ pkgs.writeShellScriptBin "getDateTime" # bash
+ ''
+ echo $(date +'%Y%m%d_%H%M%S')
+ ''
+ );
+
+ screenshot-path = "/home/${config.${namespace}.user.name}/Pictures/screenshots";
+ browser = "${getExe config.programs.firefox.package}";
+ explorer = "${getExe pkgs.xfce.thunar}";
+ notification_center = "${getExe' config.services.swaync.package "swaync-client"}";
+ launcher = "anyrun";
+ looking-glass = "${getExe pkgs.looking-glass-client}";
+ screen-locker = "${getExe config.programs.swaylock.package}";
+ # window-inspector = "${getExe sway-contrib.packages.${system}.hyprprop}";
+ screen-recorder = "${getExe pkgs.${namespace}.record_screen}";
+
+ # screenshot commands
+ grimblast_area_file = ''file="${screenshot-path}/$(${getDateTime}).png" && ${grimblast} --freeze --notify save area "$file"'';
+ grimblast_active_file = ''file="${screenshot-path}/$(${getDateTime}).png" && ${grimblast} --notify save active "$file"'';
+ grimblast_screen_file = ''file="${screenshot-path}/$(${getDateTime}).png" && ${grimblast} --notify save screen "$file"'';
+ grimblast_area_swappy = ''${grimblast} --freeze save area - | ${getExe pkgs.swappy} -f -'';
+ grimblast_active_swappy = ''${grimblast} save active - | ${getExe pkgs.swappy} -f -'';
+ grimblast_screen_swappy = ''${grimblast} save screen - | ${getExe pkgs.swappy} -f -'';
+ grimblast_area_clipboard = "${grimblast} --freeze --notify copy area";
+ grimblast_active_clipboard = "${grimblast} --notify copy active";
+ grimblast_screen_clipboard = "${grimblast} --notify copy screen";
+
+ # utility commands
+ color_picker = "${getExe pkgs.hyprpicker} -a && (${convert} -size 32x32 xc:$(${wl-paste}) /tmp/color.png && ${getExe pkgs.libnotify} \"Color Code:\" \"$(${wl-paste})\" -h \"string:bgcolor:$(${wl-paste})\" --icon /tmp/color.png -u critical -t 4000)";
+ cliphist = "${getExe pkgs.cliphist} list | anyrun --show-results-immediately true | ${getExe pkgs.cliphist} decode | ${wl-copy}";
+ in
+ lib.mkMerge [
+ (lib.mkOptionDefault {
+ "${swayCfg.modifier}+BackSpace" = "exec pkill -SIGUSR1 swaylock || WAYLAND_DISPLAY=wayland-1 $screen-locker";
+ "${swayCfg.modifier}+Return" = "exec ${swayCfg.terminal}";
+ "${swayCfg.modifier}+Shift+q" = "kill";
+
+ # "${swayCfg.modifier}+${swayCfg.left}" = "focus left";
+ # "${swayCfg.modifier}+${swayCfg.down}" = "focus down";
+ # "${swayCfg.modifier}+${swayCfg.up}" = "focus up";
+ # "${swayCfg.modifier}+${swayCfg.right}" = "focus right";
+
+ # Additional bindings
+ # "${swayCfg.modifier}+Space" = "exec run-as-service ${launcher}";
+ "Control+Space" = "exec run-as-service ${launcher}";
+ "Super_L+Shift+Return" = "exec ${swayCfg.terminal} zellij";
+ "Super_L+Shift+P" = "exec ${color_picker}";
+ "${swayCfg.modifier}+b" = "exec ${browser}";
+ "Super_L+Shift+E" = "exec ${explorer}";
+ "${swayCfg.modifier}+e" = "exec ${swayCfg.terminal} yazi";
+ "${swayCfg.modifier}+Control+l" = mkForce "exec ${screen-locker} --immediate";
+ "${swayCfg.modifier}+t" = "exec ${swayCfg.terminal} btop";
+ "${swayCfg.modifier}+n" = "exec ${notification_center} -t -sw";
+ "${swayCfg.modifier}+v" = "exec ${cliphist}";
+ "${swayCfg.modifier}+w" = "exec ${looking-glass}";
+ # "${swayCfg.modifier}+I" = "exec ${pkgs.libnotify}/bin/notify-send ${window-inspector}";
+
+ # Kill window
+ "${swayCfg.modifier}+Q" = "kill";
+ "Control+Shift+q" = "kill";
+
+ # File screenshots
+ "Print" = "exec ${grimblast_active_file}";
+ "Shift+Print" = "exec ${grimblast_area_file}";
+ "Super_L+Print" = "exec ${grimblast_screen_file}";
+
+ # Area / Window screenshots
+ "Alt+Print" = "exec ${grimblast_active_swappy}";
+ "Alt+Control+Print" = "exec ${grimblast_area_swappy}";
+ "Alt+Super_L+Print" = "exec ${grimblast_screen_swappy}";
+
+ # Clipboard screenshots
+ "Control+Print" = "exec ${grimblast_active_clipboard}";
+ "Control+Shift+Print" = "exec ${grimblast_area_clipboard}";
+ "Super_L+Control+Print" = "exec ${grimblast_screen_clipboard}";
+
+ # Screen recording
+ "Super_L+Control+Alt+Print" = "exec ${screen-recorder} screen";
+ "Super_L+Control+Alt+Shift+Print" = "exec ${screen-recorder} area";
+
+ # Floating toggle
+ "Super_L+Alt+v" = "floating toggle";
+ "${swayCfg.modifier}+p" = "layout tabbed";
+ "${swayCfg.modifier}+j" = "split vertical";
+ "${swayCfg.modifier}+f" = "fullscreen";
+
+ # Focus and move windows
+ "Alt+left" = "focus left";
+ "Alt+right" = "focus right";
+ "Alt+up" = "focus up";
+ "Alt+down" = "focus down";
+ "Super_L+left" = "move left";
+ "Super_L+right" = "move right";
+ "Super_L+up" = "move up";
+ "Super_L+down" = "move down";
+
+ "Control+Shift+h" = "resize shrink width 10px";
+ "Control+Shift+l" = "resize grow width 10px";
+
+ # Workspace switching
+ "Control+Alt+right" = "workspace next";
+ "Control+Alt+left" = "workspace prev";
+ "Control+Alt+l" = "workspace next";
+ "Control+Alt+h" = "workspace prev";
+
+ # Moving to workspace
+ "Alt+Shift+Control+right" = "move container to workspace next";
+ "Alt+Shift+Control+left" = "move container to workspace prev";
+
+ # Scratchpad
+ "Super_L+Shift+grave" = "move container to scratchpad";
+ "Super_L+grave" = "scratchpad show";
+
+ # Inactive
+ "Alt+Shift+grave" = "move container to workspace special:inactive";
+ "Alt+grave" = "workspace special:inactive";
+
+ # Monitor focus
+ "Super_L+Alt+up" = "focus output up";
+ "Super_L+Alt+down" = "focus output down";
+ "Super_L+Alt+left" = "focus output left";
+ "Super_L+Alt+right" = "focus output right";
+
+ # Move workspace to monitor
+ "Hyper_L+down" = "move workspace to output down";
+ "Hyper_L+up" = "move workspace to output up";
+ "Hyper_L+left" = "move workspace to output left";
+ "Hyper_L+right" = "move workspace to output right";
+
+ XF86AudioRaiseVolume = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 2.5%+";
+ XF86AudioLowerVolume = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 2.5%-";
+ XF86AudioMute = "exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
+ XF86MonBrightnessUp = "exec light -A 5";
+ XF86MonBrightnessDown = "exec light -U 5";
+ XF86AudioMedia = "exec ${getExe pkgs.playerctl} play-pause";
+ XF86AudioPlay = "exec ${getExe pkgs.playerctl} play-pause";
+ XF86AudioStop = "exec ${getExe pkgs.playerctl} stop";
+ XF86AudioPrev = "exec ${getExe pkgs.playerctl} previous";
+ XF86AudioNext = "exec ${getExe pkgs.playerctl} next";
+ })
+ (lib.mkOptionDefault (
+ builtins.listToAttrs (
+ builtins.concatLists (
+ builtins.genList (
+ x:
+ let
+ ws =
+ let
+ c = (x + 1) / 10;
+ in
+ builtins.toString (x + 1 - (c * 10));
+ in
+ [
+ {
+ name = "Control+Alt+${ws}";
+ value = "workspace number ${ws}";
+ }
+ {
+ name = "Control+Alt+Shift+${ws}";
+ value = "move container to workspace ${ws}";
+ }
+ {
+ name = "Mod4+Shift+${ws}";
+ value = "move container to workspace ${ws}";
+ }
+ ]
+ ) 10
+ )
+ )
+ ))
+ ];
+ };
+ };
+ };
+}
diff --git a/modules/home/programs/graphical/wms/sway/default.nix b/modules/home/programs/graphical/wms/sway/default.nix
new file mode 100644
index 000000000..2bf1c36fa
--- /dev/null
+++ b/modules/home/programs/graphical/wms/sway/default.nix
@@ -0,0 +1,217 @@
+{
+ config,
+ lib,
+ pkgs,
+ namespace,
+ ...
+}:
+let
+ inherit (lib) mkIf mkEnableOption getExe;
+ inherit (lib.${namespace}) enabled;
+
+ cfg = config.${namespace}.programs.graphical.wms.sway;
+
+in
+{
+ options.${namespace}.programs.graphical.wms.sway = {
+ enable = mkEnableOption "sway.";
+ enableDebug = mkEnableOption "Enable debug mode.";
+ appendConfig = lib.mkOption {
+ type = lib.types.lines;
+ default = "";
+ description = ''
+ Extra configuration lines to add to bottom of `~/.config/hypr/sway.conf`.
+ '';
+ };
+ prependConfig = lib.mkOption {
+ type = lib.types.lines;
+ default = "";
+ description = ''
+ Extra configuration lines to add to top of `~/.config/hypr/sway.conf`.
+ '';
+ };
+ extraSessionCommands = lib.mkOption {
+ type = lib.types.lines;
+ default = "";
+ description = ''
+ Extra shell commands to run at start of session.
+ '';
+ };
+
+ settings = lib.mkOption {
+ type = lib.types.attrs;
+ default = { };
+ description = ''
+ Configuration to pass through to the main sway module.
+ '';
+ };
+ };
+
+ imports = lib.snowfall.fs.get-non-default-nix-files ./.;
+
+ config = mkIf cfg.enable {
+ home = {
+ packages = with pkgs; [ xwaylandvideobridge ];
+
+ sessionVariables = {
+ CLUTTER_BACKEND = "wayland";
+ GDK_BACKEND = "wayland,x11";
+ MOZ_ENABLE_WAYLAND = "1";
+ MOZ_USE_XINPUT2 = "1";
+ SDL_VIDEODRIVER = "wayland";
+ WLR_DRM_NO_ATOMIC = "1";
+ XDG_CURRENT_DESKTOP = "sway";
+ XDG_SESSION_DESKTOP = "sway";
+ XDG_SESSION_TYPE = "wayland";
+ _JAVA_AWT_WM_NONREPARENTING = "1";
+ __GL_GSYNC_ALLOWED = "0";
+ __GL_VRR_ALLOWED = "0";
+ };
+ };
+
+ khanelinix = {
+ programs = {
+ graphical = {
+ launchers = {
+ anyrun = enabled;
+ };
+
+ screenlockers = {
+ swaylock = enabled;
+ };
+ };
+ };
+
+ services = {
+ cliphist.systemdTargets = [ "sway-session.target" ];
+
+ swayidle = enabled;
+ };
+
+ suites = {
+ wlroots = enabled;
+ };
+
+ theme = {
+ gtk = enabled;
+ qt = enabled;
+ };
+ };
+
+ wayland.windowManager.sway = {
+ enable = true;
+ package = pkgs.swayfx;
+ checkConfig = false;
+
+ config = {
+ bars = [ ];
+
+ floating = {
+ modifier = "Shift";
+ };
+
+ gaps = {
+ inner = 5;
+ outer = 20;
+ };
+
+ input = {
+ "*" = {
+ xkb_layout = "us";
+ xkb_numlock = "enabled";
+ # repeat_delay = 0;
+ # repeat_rate = 50;
+ };
+ };
+
+ modifier = "Mod4";
+
+ terminal = "${getExe config.programs.wezterm.package}";
+
+ workspaceAutoBackAndForth = true;
+ workspaceLayout = "default";
+ } // cfg.settings;
+
+ extraConfig = ''
+ blur enable
+ blur_passes 4
+ blur_radius 5
+
+ shadows_on_csd enable
+ titlebar_separator disable
+ scratchpad_minimize disable
+
+ ${cfg.appendConfig}
+ '';
+
+ extraConfigEarly = cfg.prependConfig;
+ inherit (cfg) extraSessionCommands;
+
+ systemd = {
+ enable = true;
+ xdgAutostart = true;
+
+ variables = [ "--all" ];
+ };
+
+ xwayland = true;
+ };
+ };
+}
+
+# TODO: get what we can into sway
+# decoration = {
+# active_opacity = 0.95;
+# fullscreen_opacity = 1.0;
+# inactive_opacity = 0.9;
+# rounding = 10;
+#
+# drop_shadow = true;
+# shadow_ignore_window = true;
+# shadow_range = 20;
+# shadow_render_power = 3;
+# "col.shadow" = "0x55161925";
+# "col.shadow_inactive" = "0x22161925";
+# };
+#
+# dwindle = {
+# # See https://wiki.sway.org/Configuring/Dwindle-Layout/ for more
+# # force_split = 0;
+# preserve_split = true; # you probably want this
+# pseudotile = false; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
+# no_gaps_when_only = false;
+# special_scale_factor = 0.9;
+# };
+#
+# general = {
+# # allow_tearing = true;
+# border_size = 2;
+# "col.active_border" = "rgba(7793D1FF)";
+# "col.inactive_border" = "rgb(5e6798)";
+# gaps_in = 5;
+# gaps_out = 20;
+# layout = "dwindle";
+# };
+#
+# group = {
+# # new windows in a group spawn after current or at group tail
+# insert_after_current = true;
+# # focus on the window that has just been moved out of the group
+# focus_removed_window = true;
+#
+# "col.border_active" = "rgba(88888888)";
+# "col.border_inactive" = "rgba(00000088)";
+#
+# groupbar = {
+# # groupbar stuff
+# # this removes the ugly gradient around grouped windows - which sucks
+# gradients = false;
+# font_size = 14;
+#
+# # titles look ugly, and I usually know what I'm looking at
+# render_titles = false;
+#
+# # scrolling in the groupbar changes group active window
+# scrolling = true;
+# };
+# };
diff --git a/modules/home/programs/graphical/wms/sway/windowrules.nix b/modules/home/programs/graphical/wms/sway/windowrules.nix
new file mode 100644
index 000000000..8c70cad11
--- /dev/null
+++ b/modules/home/programs/graphical/wms/sway/windowrules.nix
@@ -0,0 +1,126 @@
+{
+ config,
+ lib,
+ namespace,
+ ...
+}:
+let
+ inherit (lib) mkIf;
+ cfg = config.${namespace}.programs.graphical.wms.sway;
+in
+{
+ config = mkIf cfg.enable {
+ wayland.windowManager.sway = {
+ config = {
+ # hide_edge_borders vertical
+ # mouse_warping none
+ # default_border pixel 1
+ # default_floating_border pixel 1
+ #
+ # #set the variables
+ # set {
+ # $float floating enable; border pixel 1; shadows enable
+ # }
+
+ # TODO: use sway's app_id for wayland and class for xwayland
+ # use xlsclients to check which are x11
+ assigns = {
+ "1" = [
+ { title = "^(.*(Twitch|TNTdrama|YouTube|Bally Sports|Video Entertainment|Plex)).*(Firefox).*$"; }
+ ];
+ "2" = [
+ { title = "^(?!.*(Twitch|TNTdrama|YouTube|Bally Sports|Video Entertainment|Plex)).*(Firefox).*$"; }
+ # TODO: hide/minimize
+ # { title = "^(.*(hidden tabs - Workona)).*(Firefox).*$"; }
+ ];
+ "3" = [
+ { app_id = "^Code$"; }
+ { app_id = "^neovide$"; }
+ { app_id = "^GitHub Desktop$"; }
+ { app_id = "^GitKraken$"; }
+ ];
+ "4" = [
+ { class = "[Ss]team$"; }
+ { title = "[Ss]team$"; }
+ { class = "^gamescope|steam_app.*$"; }
+ { app_id = "^heroic$"; }
+ { app_id = "^lutris$"; }
+ { app_id = ".*(cemu|yuzu|Ryujinx|emulationstation|retroarch).*"; }
+ { title = ".*(cemu|yuzu|Ryujinx|emulationstation|retroarch).*"; }
+ ];
+ "5" = [
+ { app_id = "^Slack$"; }
+ { class = "[Cc]aprine$"; }
+ { app_id = "^org.telegram.desktop$"; }
+ { app_id = "^discord$"; }
+ # { class = "^zoom$"; }
+ { app_id = "^Element$"; }
+ { app_id = "^teams-for-linux$"; }
+ ];
+ "6" = [
+ { app_id = "^thunderbird$"; }
+ # { class = "^Mailspring$"; }
+ ];
+ "7" = [
+ { app_id = "^mpv|vlc|VLC|mpdevil$"; }
+ { app_id = "^Spotify$"; }
+ { title = "^Spotify$"; }
+ { title = "^Spotify Free$"; }
+ { class = "^elisa$"; }
+ ];
+ "8" = [
+ { class = "^virt-manager|qemu$"; }
+ { class = "^gnome-connections$"; }
+ { class = "^looking-glass-client$"; }
+ ];
+ };
+
+ floating = {
+ criteria = [
+ # Float specific applications
+ { class = "Rofi"; }
+ { class = "viewnior"; }
+ { class = "feh"; }
+ { class = "wlogout"; }
+ { class = "file_progress"; }
+ { class = "confirm"; }
+ { class = "dialog"; }
+ { class = "download"; }
+ { class = "notification"; }
+ { class = "error"; }
+ { class = "splash"; }
+ { class = "confirmreset"; }
+ { class = "org.kde.polkit-kde-authentication-agent-1"; }
+ { class = "wdisplays"; }
+ { class = "blueman-manager"; }
+ { class = "nm-connection-editor"; }
+ { title = "^(floatterm)$"; }
+ ];
+
+ # TODO: convert rules
+ # # Floating terminal
+ # [title="floatterm"] $float; resize set 1100 600; move position center; animation none
+ #
+ # # Calendar reminders
+ # [class="thunderbird" title=".*(Reminders)"] $float; resize set 1100 600; move position 78% 6%; sticky enable
+ #
+ # # Thunar file operation progress
+ # [class="thunar" title="^(File Operation Progress)$"] $float; resize set 800 600; move position 78% 6%; sticky enable
+ #
+ # # Workspace 8 (VM) layout
+ # [class="virt-manager" title="^(Virtual Machine Manager)$"] $float; resize set 1000 1330; move position 80% 6%
+ # [class="looking-glass-client"] $float; resize set 2360 1330; move position 25% 6%
+ # [class="virt-manager" title=".*(on QEMU/KVM)$"] $float; resize set 2360 1330; move position 25% 6%
+ # [class="qemu"] $float; resize set 2360 1330; move position 25% 6%
+ #
+ # # Make Firefox PiP window floating and sticky
+ # [title="^(Picture-in-Picture)$"] $float; sticky enable
+ #
+ # # Fix xwayland apps
+ # [class=".*jetbrains.*" title="^(Confirm Exit|Open Project|win424|win201|splash)$"] $float; move position center
+ # [class=".*jetbrains.*" title="^(splash)$"] $float; resize set 640 400
+ };
+ };
+ };
+ };
+}
diff --git a/modules/home/programs/terminal/editors/neovim/plugins/catppuccin.nix b/modules/home/programs/terminal/editors/neovim/plugins/catppuccin.nix
index 324523843..6107fec7e 100644
--- a/modules/home/programs/terminal/editors/neovim/plugins/catppuccin.nix
+++ b/modules/home/programs/terminal/editors/neovim/plugins/catppuccin.nix
@@ -1,8 +1,6 @@
_: {
programs.nixvim = {
colorschemes.catppuccin = {
- enable = true;
-
settings = {
dim_inactive = {
enabled = false;
diff --git a/modules/home/programs/terminal/editors/neovim/plugins/clangd-extensions.nix b/modules/home/programs/terminal/editors/neovim/plugins/clangd-extensions.nix
new file mode 100644
index 000000000..8610b92e1
--- /dev/null
+++ b/modules/home/programs/terminal/editors/neovim/plugins/clangd-extensions.nix
@@ -0,0 +1,30 @@
+_: {
+ programs.nixvim = {
+ plugins = {
+ clangd-extensions = {
+ enable = true;
+ enableOffsetEncodingWorkaround = true;
+
+ ast = {
+ roleIcons = {
+ type = "";
+ declaration = "";
+ expression = "";
+ specifier = "";
+ statement = "";
+ templateArgument = "";
+ };
+ kindIcons = {
+ compound = "";
+ recovery = "";
+ translationUnit = "";
+ packExpansion = "";
+ templateTypeParm = "";
+ templateTemplateParm = "";
+ templateParamObject = "";
+ };
+ };
+ };
+ };
+ };
+}
diff --git a/modules/home/programs/terminal/editors/neovim/plugins/markview.nix b/modules/home/programs/terminal/editors/neovim/plugins/markview.nix
index debcb332b..9bb2cdc24 100644
--- a/modules/home/programs/terminal/editors/neovim/plugins/markview.nix
+++ b/modules/home/programs/terminal/editors/neovim/plugins/markview.nix
@@ -1,17 +1,7 @@
{ pkgs, ... }:
{
programs.nixvim = {
- extraPlugins = [
- (pkgs.vimUtils.buildVimPlugin {
- name = "markview.nvim";
- src = pkgs.fetchFromGitHub {
- owner = "OXY2DEV";
- repo = "markview.nvim";
- rev = "00b988f92e52d8cb75a7f2cc61042d851a358fd7";
- hash = "sha256-jUZ6dH4JMVs5Gm6Mp/wQAtkjoXEUElNQ0I8TxOdGwaU=";
- };
- })
- ];
+ extraPlugins = [ pkgs.vimPlugins.markview-nvim ];
extraConfigLuaPre = # lua
''
diff --git a/modules/home/programs/terminal/editors/neovim/plugins/precognition.nix b/modules/home/programs/terminal/editors/neovim/plugins/precognition.nix
index ce6691571..fc38e02e5 100644
--- a/modules/home/programs/terminal/editors/neovim/plugins/precognition.nix
+++ b/modules/home/programs/terminal/editors/neovim/plugins/precognition.nix
@@ -1,18 +1,7 @@
{ pkgs, ... }:
{
programs.nixvim = {
- extraPlugins = [
- # TODO: Replace when https://github.com/NixOS/nixpkgs/pull/323435 is in nixos-unstable
- (pkgs.vimUtils.buildVimPlugin {
- name = "precognition.nvim";
- src = pkgs.fetchFromGitHub {
- owner = "tris203";
- repo = "precognition.nvim";
- rev = "2a566f03eb06859298eff837f3a6686dfa5304a5";
- hash = "sha256-XLcyRB4ow5nPoQ0S29bx0utV9Z/wogg7c3rozYSqlWE=";
- };
- })
- ];
+ extraPlugins = [ pkgs.vimPlugins.precognition-nvim ];
keymaps = [
{
diff --git a/modules/home/programs/terminal/editors/neovim/plugins/yazi.nix b/modules/home/programs/terminal/editors/neovim/plugins/yazi.nix
index d13f1f9ed..93020b28e 100644
--- a/modules/home/programs/terminal/editors/neovim/plugins/yazi.nix
+++ b/modules/home/programs/terminal/editors/neovim/plugins/yazi.nix
@@ -1,18 +1,7 @@
{ pkgs, ... }:
{
programs.nixvim = {
- extraPlugins = [
- # TODO: Replace when https://github.com/NixOS/nixpkgs/pull/323432 is in unstable
- (pkgs.vimUtils.buildVimPlugin {
- name = "yazi.nvim";
- src = pkgs.fetchFromGitHub {
- owner = "mikavilpas";
- repo = "yazi.nvim";
- rev = "05849f390175f2ba8fd277b224d4fd9e35455895";
- hash = "sha256-zj+lmxsOEW+YaCk5hb7u454gACUmqYPA/IeW6av4D7k=";
- };
- })
- ];
+ extraPlugins = [ pkgs.vimPlugins.yazi-nvim ];
keymaps = [
{
diff --git a/modules/home/services/barrier/default.nix b/modules/home/services/barrier/default.nix
deleted file mode 100644
index bd3c8f498..000000000
--- a/modules/home/services/barrier/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- config,
- lib,
- namespace,
- ...
-}:
-let
- inherit (lib) mkEnableOption mkIf types;
- inherit (lib.${namespace}) mkOpt;
-
- cfg = config.${namespace}.services.barrier;
-in
-{
- options.${namespace}.services.barrier = {
- enable = mkEnableOption "barrier";
- server = mkOpt types.str "192.168.1.3:24800" "Server address";
- };
-
- config = mkIf cfg.enable {
- services = {
- barrier = {
- client = {
- inherit (cfg) server;
-
- enable = true;
- enableCrypto = true;
- enableDragDrop = true;
- };
- };
- };
- };
-}
diff --git a/modules/home/services/cliphist/default.nix b/modules/home/services/cliphist/default.nix
new file mode 100644
index 000000000..833191872
--- /dev/null
+++ b/modules/home/services/cliphist/default.nix
@@ -0,0 +1,36 @@
+{
+ config,
+ lib,
+ namespace,
+ ...
+}:
+let
+ inherit (lib) mkEnableOption mkIf;
+
+ cfg = config.${namespace}.services.cliphist;
+in
+{
+ options.${namespace}.services.cliphist = {
+ enable = mkEnableOption "cliphist";
+
+ systemdTargets = lib.mkOption {
+ type = lib.types.listOf lib.types.str;
+ default = [ ];
+ description = ''
+ Systemd targets for cliphist
+ '';
+ };
+ };
+
+ config = mkIf cfg.enable {
+ services = {
+
+ cliphist = {
+ enable = true;
+ allowImages = true;
+
+ systemdTarget = lib.concatStringsSep " " cfg.systemdTargets;
+ };
+ };
+ };
+}
diff --git a/modules/home/services/hypridle/default.nix b/modules/home/services/hypridle/default.nix
index b1b571cc5..3ffc775c0 100644
--- a/modules/home/services/hypridle/default.nix
+++ b/modules/home/services/hypridle/default.nix
@@ -43,5 +43,7 @@ in
];
};
};
+
+ systemd.user.services.hypridle.Install.WantedBy = [ "hyprland-session.target" ];
};
}
diff --git a/modules/home/services/swayidle/default.nix b/modules/home/services/swayidle/default.nix
index f57e7b9ef..db9abf707 100644
--- a/modules/home/services/swayidle/default.nix
+++ b/modules/home/services/swayidle/default.nix
@@ -21,15 +21,16 @@ in
enable = true;
package = pkgs.swayidle;
+ systemdTarget = "sway-session.target";
+
events = [
{
event = "before-sleep";
command = "${getExe config.programs.swaylock.package} -defF";
}
{
- # TODO: Make dynamic for window manager
event = "after-resume";
- command = "${getExe' config.wayland.windowManager.hyprland.package "hyprctl"} dispatch dpms on";
+ command = ''${getExe' config.wayland.windowManager.sway.package "swaymsg"} "output * dpms on"'';
}
{
event = "lock";
@@ -38,13 +39,12 @@ in
];
timeouts = [
{
- timeout = 900;
+ timeout = 300;
command = "${getExe config.programs.swaylock.package} -defF";
}
{
- # TODO: Make dynamic for window manager
- timeout = 1200;
- command = "${getExe' config.wayland.windowManager.hyprland.package "hyprctl"} dispatch dpms off";
+ timeout = 600;
+ command = ''${getExe' config.wayland.windowManager.sway.package "swaymsg"} "output * dpms off"'';
}
];
};
diff --git a/modules/home/suites/desktop/default.nix b/modules/home/suites/desktop/default.nix
index 7182a5b03..1434ad217 100644
--- a/modules/home/suites/desktop/default.nix
+++ b/modules/home/suites/desktop/default.nix
@@ -17,18 +17,20 @@ in
};
config = mkIf cfg.enable {
- home.packages = with pkgs; [
- barrier
- bitwarden
- bleachbit
- dropbox
- # TODO: remove override after https://github.com/NixOS/nixpkgs/pull/325740 is in unstable
- (dupeguru.override { python3Packages = pkgs.python311Packages; })
- filelight
- fontpreview
- gparted
- pkgs.${namespace}.pocketcasts
- realvnc-vnc-viewer
- ];
+ home.packages =
+ with pkgs;
+ lib.optionals pkgs.stdenv.isLinux [
+ bitwarden
+ bleachbit
+ dropbox
+ dupeguru
+ filelight
+ fontpreview
+ gparted
+ input-leap
+ pkgs.${namespace}.pocketcasts
+ realvnc-vnc-viewer
+ rustdesk
+ ];
};
}
diff --git a/modules/home/suites/networking/default.nix b/modules/home/suites/networking/default.nix
new file mode 100644
index 000000000..b2be29345
--- /dev/null
+++ b/modules/home/suites/networking/default.nix
@@ -0,0 +1,31 @@
+{
+ config,
+ lib,
+ pkgs,
+ namespace,
+ ...
+}:
+let
+ inherit (lib) mkIf;
+ inherit (lib.${namespace}) mkBoolOpt;
+
+ cfg = config.${namespace}.suites.networking;
+in
+{
+ options.${namespace}.suites.networking = {
+ enable = mkBoolOpt false "Whether or not to enable networking configuration.";
+ };
+
+ config = mkIf cfg.enable {
+
+ home.packages =
+ with pkgs;
+ [
+ nmap
+ openssh
+ speedtest-cli
+ ssh-copy-id
+ ]
+ ++ lib.optionals pkgs.stdenv.isLinux [ iproute2 ];
+ };
+}
diff --git a/modules/home/suites/video/default.nix b/modules/home/suites/video/default.nix
index 70a6d54b3..4e5943655 100644
--- a/modules/home/suites/video/default.nix
+++ b/modules/home/suites/video/default.nix
@@ -22,7 +22,7 @@ in
lib.optionals stdenv.isLinux [
celluloid
devede
- handbrake
+ # handbrake
mediainfo-gui
shotcut
vlc
diff --git a/modules/home/suites/wlroots/default.nix b/modules/home/suites/wlroots/default.nix
index 972723ffc..bc95cc75e 100644
--- a/modules/home/suites/wlroots/default.nix
+++ b/modules/home/suites/wlroots/default.nix
@@ -41,6 +41,7 @@ in
};
services = {
+ cliphist = enabled;
keyring = enabled;
};
};
@@ -49,11 +50,6 @@ in
# services.network-manager-applet.enable = true;
services = {
blueman-applet.enable = true;
-
- cliphist = {
- enable = true;
- allowImages = true;
- };
};
};
}
diff --git a/modules/home/theme/catppuccin/default.nix b/modules/home/theme/catppuccin/default.nix
index 7a0155900..012cd8f4d 100644
--- a/modules/home/theme/catppuccin/default.nix
+++ b/modules/home/theme/catppuccin/default.nix
@@ -125,7 +125,7 @@ in
};
catppuccin = {
- # NOTE: Need some customization and merging of configuration files so cant just enable all
+ # NOTE: Need some customization and merging of configuration files so cant just enable all
enable = false;
accent = "blue";
@@ -178,10 +178,94 @@ in
};
};
- wayland.windowManager.hyprland.catppuccin = mkIf pkgs.stdenv.isLinux {
- enable = true;
+ wayland.windowManager.hyprland.catppuccin =
+ mkIf config.${namespace}.programs.graphical.wms.hyprland.enable
+ {
+ enable = true;
- inherit (cfg) accent;
+ inherit (cfg) accent;
+ };
+
+ wayland.windowManager.sway = {
+ catppuccin = mkIf config.${namespace}.programs.graphical.wms.sway.enable { enable = true; };
+
+ config.colors = {
+ background = "$base";
+
+ focused = {
+ childBorder = "$lavender";
+ background = "$base";
+ text = "$text";
+ indicator = "$rosewater";
+ border = "$lavender";
+ };
+
+ focusedInactive = {
+ childBorder = "$overlay0";
+ background = "$base";
+ text = "$text";
+ indicator = "$rosewater";
+ border = "$overlay0";
+ };
+
+ unfocused = {
+ childBorder = "$overlay0";
+ background = "$base";
+ text = "$text";
+ indicator = "$rosewater";
+ border = "$overlay0";
+ };
+
+ urgent = {
+ childBorder = "$peach";
+ background = "$base";
+ text = "$peach";
+ indicator = "$overlay0";
+ border = "$peach";
+ };
+
+ placeholder = {
+ childBorder = "$overlay0";
+ background = "$base";
+ text = "$text";
+ indicator = "$overlay0";
+ border = "$overlay0";
+ };
+
+ # bar
+ # focusedBackground = "$base";
+ # focusedStatusline = "$text";
+ # focusedSeparator = "$base";
+ # focusedWorkspace = {
+ # border = "$base";
+ # background = "$base";
+ # text = "$green";
+ # };
+ #
+ # activeWorkspace = {
+ # border = "$base";
+ # background = "$base";
+ # text = "$blue";
+ # };
+ #
+ # inactiveWorkspace = {
+ # border = "$base";
+ # background = "$base";
+ # text = "$surface1";
+ # };
+ #
+ # urgentWorkspace = {
+ # border = "$base";
+ # background = "$base";
+ # text = "$peach";
+ # };
+ #
+ # bindingMode = {
+ # border = "$base";
+ # background = "$base";
+ # text = "$surface1";
+ # };
+ };
};
programs =
@@ -220,8 +304,8 @@ in
"btop"
"cava"
"fish"
- "fzf"
"foot"
+ "fzf"
"gh-dash"
"gitui"
"glamour"
@@ -289,7 +373,7 @@ in
# rofi.catppuccin.enable = true;
};
- # TODO: conditional enable
+ # TODO: conditional enable
xdg.configFile = mkIf pkgs.stdenv.isLinux {
"ArmCord/themes/Catppuccin-Macchiato-BD".source = ./Catppuccin-Macchiato-BD;
"BetterDiscord/themes/catppuccin-macchiato.theme.css".source = ./catppuccin-macchiato.theme.css;
diff --git a/modules/nixos/programs/graphical/addons/looking-glass-client/default.nix b/modules/nixos/programs/graphical/addons/looking-glass-client/default.nix
index 1ab01002b..0ef5cee5e 100644
--- a/modules/nixos/programs/graphical/addons/looking-glass-client/default.nix
+++ b/modules/nixos/programs/graphical/addons/looking-glass-client/default.nix
@@ -27,5 +27,16 @@ in
user = "+${toString config.users.users.${user.name}.uid}";
source = ./client.ini;
};
+
+ systemd.tmpfiles.settings = {
+ "looking-glass" = {
+ "/dev/shm/looking-glass".f = {
+ age = "-";
+ group = "kvm";
+ mode = "0660";
+ user = toString config.users.users.${user.name}.uid;
+ };
+ };
+ };
};
}
diff --git a/modules/nixos/programs/graphical/addons/xdg-portal/default.nix b/modules/nixos/programs/graphical/addons/xdg-portal/default.nix
index 109c5f657..fd013f544 100644
--- a/modules/nixos/programs/graphical/addons/xdg-portal/default.nix
+++ b/modules/nixos/programs/graphical/addons/xdg-portal/default.nix
@@ -23,29 +23,35 @@ in
xdg = {
portal = {
enable = true;
+
config = {
- common =
- let
- portal =
- if config.${namespace}.programs.graphical.wms.hyprland.enable == "Hyprland" then
- "hyprland"
- else if config.${namespace}.programs.graphical.wms.sway.enable == "sway" then
- "wlr"
- else
- "gtk";
- in
- {
- default = [
- "hyprland"
- "gtk"
- ];
+ hyprland = mkIf config.${namespace}.programs.graphical.wms.hyprland.enable {
+ default = [
+ "hyprland"
+ "gtk"
+ ];
+ "org.freedesktop.impl.portal.Screencast" = "hyprland";
+ "org.freedesktop.impl.portal.Screenshot" = "hyprland";
+ };
+
+ sway = mkIf config.${namespace}.programs.graphical.wms.sway.enable {
+ default = [
+ "wlr"
+ "gtk"
+ ];
+ "org.freedesktop.impl.portal.Screencast" = "wlr";
+ "org.freedesktop.impl.portal.Screenshot" = "wlr";
+ };
- # for flameshot to work
- # https://github.com/flameshot-org/flameshot/issues/3363#issuecomment-1753771427
- "org.freedesktop.impl.portal.Screencast" = "${portal}";
- "org.freedesktop.impl.portal.Screenshot" = "${portal}";
- };
+ common = {
+ default = [ "gtk" ];
+
+ "org.freedesktop.impl.portal.Screencast" = "gtk";
+ "org.freedesktop.impl.portal.Screenshot" = "gtk";
+ "org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ];
+ };
};
+
extraPortals =
with pkgs;
[ xdg-desktop-portal-gtk ]
diff --git a/modules/nixos/programs/graphical/wms/hyprland/default.nix b/modules/nixos/programs/graphical/wms/hyprland/default.nix
index 59543b783..8eb6bb2ae 100644
--- a/modules/nixos/programs/graphical/wms/hyprland/default.nix
+++ b/modules/nixos/programs/graphical/wms/hyprland/default.nix
@@ -138,7 +138,6 @@ in
};
};
- # TODO: make sure it references same package as home-manager
services.displayManager.sessionPackages = [ hyprland.packages.${system}.hyprland ];
};
}
diff --git a/modules/nixos/programs/graphical/wms/sway/background.png b/modules/nixos/programs/graphical/wms/sway/background.png
deleted file mode 100644
index 1a5a078b5..000000000
Binary files a/modules/nixos/programs/graphical/wms/sway/background.png and /dev/null differ
diff --git a/modules/nixos/programs/graphical/wms/sway/config b/modules/nixos/programs/graphical/wms/sway/config
deleted file mode 100644
index d38c2253d..000000000
--- a/modules/nixos/programs/graphical/wms/sway/config
+++ /dev/null
@@ -1,274 +0,0 @@
-###########################################
-#░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░#
-#░░█▀█░█░░░█░█░█▀▀░░░█░█░█░░░▀█▀░█▀▄░█▀█░░#
-#░░█▀▀░█░░░█░█░▀▀█░░░█░█░█░░░░█░░█▀▄░█▀█░░#
-#░░▀░░░▀▀▀░▀▀▀░▀▀▀░░░▀▀▀░▀▀▀░░▀░░▀░▀░▀░▀░░#
-#░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░#
-###########################################
-
-
-#########################################
-#░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░#
-#░░█░█░█▀█░█▀▄░▀█▀░█▀█░█▀▄░█░░░█▀▀░█▀▀░░#
-#░░▀▄▀░█▀█░█▀▄░░█░░█▀█░█▀▄░█░░░█▀▀░▀▀█░░#
-#░░░▀░░▀░▀░▀░▀░▀▀▀░▀░▀░▀▀░░▀▀▀░▀▀▀░▀▀▀░░#
-#░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░#
-#########################################
-
-# Modifier key (Mod1 = Alt, Mod4 = Meta)
-set $mod Mod4
-
-# Movement keys
-set $left h
-set $down j
-set $up k
-set $right l
-
-# Terminal
-set $term env @term@
-
-# Swaylock
-set $swaylock swaylock-fancy -f "Hack-Regular-Nerd-Font-Complete"
-
-# Menu
-set $menu-run wofi --show drun --prompt search
-
-# Output names
-set $laptop-screen eDP-1
-# set $monitor-left HDMI-A-1
-# set $monitor-center HDMI-A-2
-
-# Workspace names
-set $workspace1 1
-set $workspace2 2
-set $workspace3 3
-set $workspace4 4
-set $workspace5 5
-set $workspace6 6
-set $workspace7 7
-set $workspace8 8
-set $workspace9 9
-set $workspace10 10
-
-#############################
-#░░░░░░░░░░░░░░░░░░░░░░░░░░░#
-#░░█▀█░█░█░▀█▀░█▀█░█░█░▀█▀░░#
-#░░█░█░█░█░░█░░█▀▀░█░█░░█░░░#
-#░░▀▀▀░▀▀▀░░▀░░▀░░░▀▀▀░░▀░░░#
-#░░░░░░░░░░░░░░░░░░░░░░░░░░░#
-#############################
-
-# Backgrounds
-# output $monitor-left bg /home/short/Photos/wallpapers/left.jpg fill
-# output $monitor-center bg /home/short/Photos/wallpapers/center.jpg fill
-
-# Positioning
-# output $monitor-left resolution 1920x1080 position 0,300
-# output $monitor-center resolution 1920x1080 position 1920,0
-
-###################################################
-#░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░#
-#░░█░█░█▀▀░█░█░░░█▀▄░▀█▀░█▀█░█▀▄░▀█▀░█▀█░█▀▀░█▀▀░░#
-#░░█▀▄░█▀▀░░█░░░░█▀▄░░█░░█░█░█░█░░█░░█░█░█░█░▀▀█░░#
-#░░▀░▀░▀▀▀░░▀░░░░▀▀░░▀▀▀░▀░▀░▀▀░░▀▀▀░▀░▀░▀▀▀░▀▀▀░░#
-#░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░#
-###################################################
-
-# Start a terminal
-bindsym $mod+Return exec $term
-
-# Kill focused window
-bindsym $mod+q kill
-
-# Reload configuration
-bindsym $mod+Shift+r reload
-
-# Exit sway
-bindsym $mod+Shift+e exit
-
-# Lock
-bindsym $mod+Control+l exec $swaylock
-
-# Open run menu
-bindsym $mod+d exec $menu-run
-
-# Drag floating windows while holding down modifier key
-floating_modifier $mod normal
-
-# Sticky windows
-bindsym $mod+Shift+s sticky toggle
-
-# Toggle fullscreen
-bindsym $mod+f fullscreen
-
-# Toggle floating
-bindsym $mod+Shift+space floating toggle
-
-# Toggle floating focus
-bindsym $mod+space focus mode_toggle
-
-# Focus the parent container
-bindsym $mod+a focus parent
-
-# Focus the child container
-bindsym $mod+c focus child
-
-# Split horizontal
-bindsym $mod+b splith
-
-# Split vertical
-bindsym $mod+v splitv
-
-# Move window into scratchpad
-bindsym $mod+Shift+minus move scratchpad
-
-# Get window out of scratchpad
-bindsym $mod+minus scratchpad show
-
-# Change layout style
-bindsym $mod+s layout stacking
-bindsym $mod+w layout tabbed
-bindsym $mod+e layout toggle split
-bindsym $mod+Shift+v layout splitv
-bindsym $mod+Shift+b layout splith
-
-# Moving focus
-bindsym $mod+$left focus left
-bindsym $mod+$down focus down
-bindsym $mod+$up focus up
-bindsym $mod+$right focus right
-
-# Moving windows
-bindsym $mod+Shift+$left move left
-bindsym $mod+Shift+$down move down
-bindsym $mod+Shift+$up move up
-bindsym $mod+Shift+$right move right
-
-# Switching workspace
-bindsym $mod+1 workspace $workspace1
-bindsym $mod+2 workspace $workspace2
-bindsym $mod+3 workspace $workspace3
-bindsym $mod+4 workspace $workspace4
-bindsym $mod+5 workspace $workspace5
-bindsym $mod+6 workspace $workspace6
-bindsym $mod+7 workspace $workspace7
-bindsym $mod+8 workspace $workspace8
-bindsym $mod+9 workspace $workspace9
-bindsym $mod+0 workspace $workspace10
-
-# Moving windows to workspace
-bindsym $mod+Shift+1 move container to workspace $workspace1
-bindsym $mod+Shift+2 move container to workspace $workspace2
-bindsym $mod+Shift+3 move container to workspace $workspace3
-bindsym $mod+Shift+4 move container to workspace $workspace4
-bindsym $mod+Shift+5 move container to workspace $workspace5
-bindsym $mod+Shift+6 move container to workspace $workspace6
-bindsym $mod+Shift+7 move container to workspace $workspace7
-bindsym $mod+Shift+8 move container to workspace $workspace8
-bindsym $mod+Shift+9 move container to workspace $workspace9
-bindsym $mod+Shift+0 move container to workspace $workspace10
-
-# Brightness
-bindsym XF86MonBrightnessUp exec brightnessctl set 5%+
-bindsym XF86MonBrightnessDown exec brightnessctl set 5%-
-
-# Sound
-bindsym XF86AudioMute exec pulsemixer --toggle-mute
-bindsym XF86AudioRaiseVolume exec pulsemixer --change-volume +10
-bindsym XF86AudioLowerVolume exec pulsemixer --change-volume -10
-
-# Media
-bindsym XF86AudioPrev exec playerctl previous
-bindsym XF86AudioPlay exec playerctl play-pause
-bindsym XF86AudioNext exec playerctl next
-
-# Print screen
-bindsym Print exec grimshot --notify save screen - | swappy -f -
-bindsym Shift+Print exec grimshot --notify save area - | swappy -f -
-bindsym Control+Print exec grimshot --notify save window - | swappy -f -
-bindsym $mod+Print exec grimshot --notify copy screen
-bindsym $mod+Shift+Print exec grimshot --notify copy area
-bindsym $mod+Control+Print exec grimshot --notify copy window
-
-# Airplane mode
-# bindsym XF86RFKill exec nmcli radio all $(test $(nmcli -g wifi radio all) == "enabled" && "off" || echo "on")
-
-# Resize mode
-mode "resize" {
- # Shrink the width
- bindsym $left resize shrink width 10px
-
- # Grow the width
- bindsym $right resize grow width 10px
-
- # Grow the height
- bindsym $up resize grow height 10px
-
- # Shrink the height
- bindsym $down resize shrink height 10px
-
- # Return to default mode
- bindsym Return mode "default"
- bindsym Escape mode "default"
-}
-
-# Enter resize mode
-bindsym $mod+r mode "resize"
-
-######################
-#░░░░░░░░░░░░░░░░░░░░#
-#░▀█▀░█▀█░█▀█░█░█░▀█▀#
-#░░█░░█░█░█▀▀░█░█░░█░#
-#░▀▀▀░▀░▀░▀░░░▀▀▀░░▀░#
-#░░░░░░░░░░░░░░░░░░░░#
-######################
-
-input type:keyboard {
- xkb_options caps:swapescape
-}
-
-input type:touchpad {
- natural_scroll enabled
- tap enabled
- tap_button_map lrm
-}
-
-#################
-#░░░░░░░░░░░░░░░#
-#░░█▀▄░█▀█░█▀▄░░#
-#░░█▀▄░█▀█░█▀▄░░#
-#░░▀▀░░▀░▀░▀░▀░░#
-#░░░░░░░░░░░░░░░#
-#################
-
-bar {
- # Run waybar
- swaybar_command waybar
-}
-
-#########################
-#░░░░░░░░░░░░░░░░░░░░░░░#
-#░░█▀▀░▀█▀░█░█░█░░░█▀▀░░#
-#░░▀▀█░░█░░░█░░█░░░█▀▀░░#
-#░░▀▀▀░░▀░░░▀░░▀▀▀░▀▀▀░░#
-#░░░░░░░░░░░░░░░░░░░░░░░#
-#########################
-
-# Remove title bars
-default_border pixel 1
-default_floating_border pixel 1
-
-client.focused #8fbcbb #8fbcbb #eceff4 #eceff4
-client.focused_inactive #2E3440 #2E3440 #e5e9f0 #5e81ac
-client.unfocused #3b4252 #3b4252 #4c566a #5e81ac
-client.urgent #d08770 #d08770 #eceff4 #bf616a
-
-for_window [app_id="wofi"] border none
-# for_window [app_id="firefox"] border none
-
-# Don't focus moused over windows
-focus_follows_mouse no
-
-# Gaps
-gaps outer 4
-gaps inner 5
diff --git a/modules/nixos/programs/graphical/wms/sway/default.nix b/modules/nixos/programs/graphical/wms/sway/default.nix
index 5e3c5c488..f98ae397e 100644
--- a/modules/nixos/programs/graphical/wms/sway/default.nix
+++ b/modules/nixos/programs/graphical/wms/sway/default.nix
@@ -6,27 +6,10 @@
...
}:
let
- inherit (lib)
- types
- mkIf
- getExe
- getExe'
- ;
- inherit (lib.${namespace})
- mkBoolOpt
- mkOpt
- enabled
- fileWithText
- optionalString
- ;
- inherit (config.${namespace}.desktop.addons) term;
+ inherit (lib) types mkIf;
+ inherit (lib.${namespace}) mkBoolOpt mkOpt enabled;
cfg = config.${namespace}.programs.graphical.wms.sway;
-
- substitutedConfig = pkgs.substituteAll {
- src = ./config;
- term = term.pkg.pname or term.pkg.name;
- };
in
{
options.${namespace}.programs.graphical.wms.sway = with types; {
@@ -36,87 +19,31 @@ in
};
config = mkIf cfg.enable {
- environment.systemPackages = [
- (pkgs.writeTextFile {
- name = "startsway";
- destination = "/bin/startsway";
- executable = true;
- text = # bash
- ''
- #! ${getExe pkgs.bash}
-
- # Import environment variables from the login manager
- systemctl --user import-environment
-
- # Start Sway
- exec systemctl --user start sway.service
- '';
- })
- pkgs.brightnessctl
- pkgs.playerctl
- ];
-
khanelinix = {
display-managers = {
- gdm = {
+ sddm = {
enable = true;
- defaultSession = "sway";
};
};
programs = {
graphical = {
addons = {
- # TODO: moved to home-manager
- # kanshi = enabled;
keyring = enabled;
- # TODO: moved to home-manager
- # mako = enabled;
- # TODO: moved to home-manager
- # wofi = enabled;
xdg-portal = enabled;
};
+ apps = {
+ partitionmanager = enabled;
+ };
+
file-managers = {
nautilus = enabled;
+ thunar = enabled;
};
};
-
- # TODO: moved to home-manager
- # terminal = {
- # emulators = {
- # foot = enabled;
- # };
- # };
};
- home.configFile."sway/config".text =
- fileWithText substitutedConfig # bash
- ''
- #############################
- #░░░░░░░░░░░░░░░░░░░░░░░░░░░#
- #░░█▀▀░█░█░█▀▀░▀█▀░█▀▀░█▄█░░#
- #░░▀▀█░░█░░▀▀█░░█░░█▀▀░█░█░░#
- #░░▀▀▀░░▀░░▀▀▀░░▀░░▀▀▀░▀░▀░░#
- #░░░░░░░░░░░░░░░░░░░░░░░░░░░#
- #############################
-
- # Launch services waiting for the systemd target sway-session.target
- exec "systemctl --user import-environment; systemctl --user start sway-session.target"
-
- # Start a user session dbus (required for things like starting
- # applications through wofi).
- exec dbus-daemon --session --address=unix:path=$XDG_RUNTIME_DIR/bus
-
- ${optionalString (cfg.wallpaper != null) ''
- output * {
- bg ${cfg.wallpaper.gnomeFilePath or cfg.wallpaper} fill
- }
- ''}
-
- ${cfg.extraConfig}
- '';
-
security = {
keyring = enabled;
polkit = enabled;
@@ -135,55 +62,8 @@ in
programs.sway = {
enable = true;
package = pkgs.sway;
-
- extraPackages = with pkgs; [
- sway-contrib.grimshot
- swaylock-fancy
- gnome.gnome-control-center
- ];
-
- extraSessionCommands = # bash
- ''
- export SDL_VIDEODRIVER=wayland
- export QT_QPA_PLATFORM=wayland
- export QT_WAYLAND_DISABLE_WINDOWDECORATION="1"
- export _JAVA_AWT_WM_NONREPARENTING=1
- export MOZ_ENABLE_WAYLAND=1
- export XDG_SESSION_TYPE=wayland
- export XDG_SESSION_DESKTOP=sway
- export XDG_CURRENT_DESKTOP=sway
- '';
};
- systemd.user = {
- targets.sway-session = {
- description = "Sway compositor session";
- documentation = [ "man:systemd.special(7)" ];
- bindsTo = [ "graphical-session.target" ];
- wants = [ "graphical-session-pre.target" ];
- after = [ "graphical-session-pre.target" ];
- };
-
- services.sway = {
- description = "Sway - Wayland window manager";
- documentation = [ "man:sway(5)" ];
- bindsTo = [ "graphical-session.target" ];
- wants = [ "graphical-session-pre.target" ];
- after = [ "graphical-session-pre.target" ];
- # We explicitly unset PATH here, as we want it to be set by
- # systemctl --user import-environment in startsway
- environment.PATH = lib.mkForce null;
- serviceConfig = {
- Type = "simple";
- ExecStart = # bash
- ''
- ${getExe' pkgs.dbus "dbus-run-session"} ${getExe config.programs.sway.package} --debug
- '';
- Restart = "on-failure";
- RestartSec = 1;
- TimeoutStopSec = 10;
- };
- };
- };
+ services.displayManager.sessionPackages = [ pkgs.sway ];
};
}
diff --git a/modules/nixos/services/barrier/default.nix b/modules/nixos/services/barrier/default.nix
deleted file mode 100644
index 97b9b3c94..000000000
--- a/modules/nixos/services/barrier/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- config,
- lib,
- pkgs,
- namespace,
- ...
-}:
-let
- inherit (lib) mkEnableOption mkIf;
-
- cfg = config.${namespace}.services.barrier;
-in
-{
- options.${namespace}.services.barrier = {
- enable = mkEnableOption "barrier";
- };
-
- config = mkIf cfg.enable {
- environment.systemPackages = with pkgs; [ barrier ];
-
- networking.firewall = {
- allowedTCPPorts = [ 24800 ];
- };
- };
-}
diff --git a/modules/nixos/services/openssh/default.nix b/modules/nixos/services/openssh/default.nix
index 9a9170bcf..37e6b3810 100644
--- a/modules/nixos/services/openssh/default.nix
+++ b/modules/nixos/services/openssh/default.nix
@@ -102,7 +102,7 @@ in
PubkeyAuthentication = "yes";
StreamLocalBindUnlink = "yes";
UseDns = false;
- UsePAM = false;
+ UsePAM = true;
X11Forwarding = false;
# key exchange algorithms recommended by `nixpkgs#ssh-audit`
diff --git a/shells/angular/default.nix b/shells/angular/default.nix
index aa4329244..954054ee8 100644
--- a/shells/angular/default.nix
+++ b/shells/angular/default.nix
@@ -1,11 +1,12 @@
{ mkShell, pkgs, ... }:
mkShell {
packages = with pkgs; [
+ nodePackages."@angular/cli"
+ nodejs-18_x
+ pnpm
vimPlugins.nvim-treesitter-parsers.angular
vscode-extensions.angular.ng-template
- nodejs-18_x
yarn
- nodePackages."@angular/cli"
];
shellHook = ''
diff --git a/systems/x86_64-linux/khanelilab/default.nix b/systems/x86_64-linux/khanelilab/default.nix
index fc590f4ca..cb512692b 100644
--- a/systems/x86_64-linux/khanelilab/default.nix
+++ b/systems/x86_64-linux/khanelilab/default.nix
@@ -28,7 +28,7 @@ in
services = {
# avahi = enabled;
- barrier = enabled;
+ # TODO: input-leap replace barrier
geoclue = enabled;
printing = enabled;
diff --git a/systems/x86_64-linux/khanelinix/default.nix b/systems/x86_64-linux/khanelinix/default.nix
index 1b0b77a8c..f9044478b 100644
--- a/systems/x86_64-linux/khanelinix/default.nix
+++ b/systems/x86_64-linux/khanelinix/default.nix
@@ -88,13 +88,17 @@ in
hyprland = {
enable = true;
};
+
+ sway = {
+ enable = true;
+ };
};
};
};
services = {
avahi = enabled;
- barrier = enabled;
+ # TODO: input-leap replace barrier
geoclue = enabled;
power = enabled;
printing = enabled;
diff --git a/systems/x86_64-linux/khanelinix/hyprlandOutput b/systems/x86_64-linux/khanelinix/hyprlandOutput
index 3daefe9dd..dfb66f80b 100644
--- a/systems/x86_64-linux/khanelinix/hyprlandOutput
+++ b/systems/x86_64-linux/khanelinix/hyprlandOutput
@@ -1,5 +1,5 @@
-monitor=DP-3, 3840x2160@60, 1420x0, 2
-monitor=DP-1, 5120x1440@120, 0x1080, 1
+monitor=DP-3, 3840x2160@60, 1420x0, 2, bitdepth, 10
+monitor=DP-1, 5120x1440@120, 0x1080, 1, bitdepth, 10
workspace = name:hello, monitor:DP-1, defafult:true
windowrulev2 = workspace name:hello, class:^(nwg-hello)$