diff --git a/.sops.yaml b/.sops.yaml index 5be858cb..68d86324 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -9,6 +9,7 @@ keys: - &mai age1fv5dafs4n3r5n83qm2hfz7xmnflsz0xf9r3saralrptpgf8mvuxq4t8k3u - &daiyousei age120530yclr75k6nrzp6k5jjftj8j4q9v3533guupzk4ct86mjxszqg9e5t5 - &goliath age1c4atxfp05u7zm875s6q8p82ve96rqqpq9smktxlur8pk2yc3qvgql46dp9 +- &goliath_kat age1rjldv3fn3q686647exmcukthr32gmp6s3axs0lhyenvru9ajp9rs24ukvz creation_rules: - path_regex: tf/terraform.tfvars.sops$ shamir_threshold: 1 @@ -29,6 +30,7 @@ creation_rules: - *mai - *daiyousei - *goliath + - *goliath_kat - path_regex: ci/.*\.yaml shamir_threshold: 1 key_groups: diff --git a/flake.lock b/flake.lock index 51596315..fb68a0dc 100644 --- a/flake.lock +++ b/flake.lock @@ -75,11 +75,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1739934729, - "narHash": "sha256-PcrLk10meIJICzUJqtCMOJxoITzbH52fZg2XAB7SSsM=", + "lastModified": 1741985801, + "narHash": "sha256-EnjiCpEi8p1kFgNUCVPuDUYoOSYBlr7ByMEF8qMGZws=", "owner": "catppuccin", "repo": "nix", - "rev": "b1ff2a638afa827f1473498190a2c1cae1cf41cf", + "rev": "f833a338ff6c091c84e041ee77ce88f8b242ca79", "type": "github" }, "original": { @@ -88,6 +88,29 @@ "type": "github" } }, + "chaotic": { + "inputs": { + "fenix": "fenix", + "flake-schemas": "flake-schemas", + "home-manager": "home-manager", + "jovian": "jovian", + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1741962175, + "narHash": "sha256-ZydxDII0DOv1Ut/QXFL9WtKLs9D+rS/khV8Nu0X+D3I=", + "owner": "chaotic-cx", + "repo": "nyx", + "rev": "30d7b193ce1e6d39390d7f6ffb700d33aedeffe6", + "type": "github" + }, + "original": { + "owner": "chaotic-cx", + "ref": "nyxpkgs-unstable", + "repo": "nyx", + "type": "github" + } + }, "ci": { "flake": false, "locked": { @@ -133,11 +156,11 @@ ] }, "locked": { - "lastModified": 1739933872, - "narHash": "sha256-UhuvTR4OrWR+WBaRCZm4YMkvjJhZ1KZo/jRjE41m+Ek=", + "lastModified": 1741906019, + "narHash": "sha256-c9L0yCdpBzPVTcExcqTti6vP6GuPVaCaVCDf0M8eu+I=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "6ab392f626a19f1122d1955c401286e1b7cf6b53", + "rev": "4d8a451649b6de429ea7e169378488305d0d9399", "type": "github" }, "original": { @@ -189,6 +212,28 @@ "type": "github" } }, + "fenix": { + "inputs": { + "nixpkgs": [ + "chaotic", + "nixpkgs" + ], + "rust-analyzer-src": "rust-analyzer-src" + }, + "locked": { + "lastModified": 1741847799, + "narHash": "sha256-muvsng8/+e9AC+xg5HuHgHwuQ/etKlTevNgr8fw5r9s=", + "owner": "nix-community", + "repo": "fenix", + "rev": "05f331e61277f70f55769060f783457fdacf8da1", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "fenix", + "type": "github" + } + }, "fl-config": { "locked": { "lastModified": 1653159448, @@ -205,6 +250,22 @@ "type": "github" } }, + "fl-config_2": { + "locked": { + "lastModified": 1653159448, + "narHash": "sha256-PvB9ha0r4w6p412MBPP71kS/ZTBnOjxL0brlmyucPBA=", + "owner": "flakelib", + "repo": "fl", + "rev": "fcefb9738d5995308a24cda018a083ccb6b0f460", + "type": "github" + }, + "original": { + "owner": "flakelib", + "ref": "config", + "repo": "fl", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -327,6 +388,20 @@ "type": "github" } }, + "flake-schemas": { + "locked": { + "lastModified": 1721999734, + "narHash": "sha256-G5CxYeJVm4lcEtaO87LKzOsVnWeTcHGKbKxNamNWgOw=", + "rev": "0a5c42297d870156d9c57d8f99e476b738dcd982", + "revCount": 75, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.5/0190ef2f-61e0-794b-ba14-e82f225e55e6/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%3D0.1.5.tar.gz" + } + }, "flake-utils": { "inputs": { "systems": "systems" @@ -433,6 +508,25 @@ "type": "github" } }, + "flakelib_2": { + "inputs": { + "fl-config": "fl-config_2", + "std": "std" + }, + "locked": { + "lastModified": 1701802971, + "narHash": "sha256-Zo5fJpXbe+xXOTiDT4JG2rExobMJTmFZ72+3XTMMHrQ=", + "owner": "flakelib", + "repo": "fl", + "rev": "b71a91517f6b16aa5faefe8ec491d9f3062d7a20", + "type": "github" + }, + "original": { + "owner": "flakelib", + "repo": "fl", + "type": "github" + } + }, "flakelibstd": { "inputs": { "nix-std": [ @@ -512,15 +606,36 @@ "home-manager": { "inputs": { "nixpkgs": [ + "chaotic", "nixpkgs" ] }, "locked": { - "lastModified": 1740265252, - "narHash": "sha256-+LFsCsIUF/pJWL9S21m5NLcK5bgwRB4MwfV0Iu7tggY=", + "lastModified": 1741879521, + "narHash": "sha256-GylyCwdUe2Kd69bC8txEX+A3H/DXBZl2a+GcmTcJw/g=", "owner": "nix-community", "repo": "home-manager", - "rev": "fb568d75cf6c81f30d49eeb73787e9b56454ba16", + "rev": "1b0efe3d335f452595512c7b275e5dddfbfb28a5", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1741955947, + "narHash": "sha256-2lbURKclgKqBNm7hVRtWh0A7NrdsibD0EaWhahUVhhY=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "4e12151c9e014e2449e0beca2c0e9534b96a26b4", "type": "github" }, "original": { @@ -530,6 +645,83 @@ "type": "github" } }, + "infrastructure": { + "inputs": { + "arcexprs": [ + "arcexprs" + ], + "barcodebuddy": [ + "empty" + ], + "ci": [ + "empty" + ], + "deploy-rs": [ + "empty" + ], + "flake-compat": [ + "empty" + ], + "flake-utils": [ + "empty" + ], + "flakelib": [ + "flakelib" + ], + "home-manager": [ + "home-manager" + ], + "nixpkgs": [ + "nixpkgs" + ], + "nixpkgs-2405": "nixpkgs-2405", + "sops-nix": [ + "sops-nix" + ], + "std-fl": "std-fl", + "systemd2mqtt": "systemd2mqtt", + "tree": "tree", + "website": [ + "empty" + ] + }, + "locked": { + "lastModified": 1741994450, + "narHash": "sha256-jlJnDeRaWZjfC6gCvmi8BXA53eDmmRHOxDRUpiitUk0=", + "owner": "gensokyo-zone", + "repo": "infrastructure", + "rev": "d8ca3a9bd425ff7b0b344ddc18468b4b7adde55a", + "type": "github" + }, + "original": { + "owner": "gensokyo-zone", + "ref": "main", + "repo": "infrastructure", + "type": "github" + } + }, + "jovian": { + "inputs": { + "nix-github-actions": "nix-github-actions", + "nixpkgs": [ + "chaotic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1741874414, + "narHash": "sha256-gtIrDkG/iap32MYyaSAlWaixshiqMyFB9eKyhcF66eM=", + "owner": "Jovian-Experiments", + "repo": "Jovian-NixOS", + "rev": "662d117ac0ffc81f3e91b5f0fb800c3effd904a1", + "type": "github" + }, + "original": { + "owner": "Jovian-Experiments", + "repo": "Jovian-NixOS", + "type": "github" + } + }, "konawall-py": { "inputs": { "flake-utils": [ @@ -614,11 +806,11 @@ ] }, "locked": { - "lastModified": 1740188624, - "narHash": "sha256-z5G/JoTGICMdhxkN+sztsrcCD7vRFHIJiw/fchHX580=", + "lastModified": 1741917036, + "narHash": "sha256-xuSv3MSi+yyKWQjQBhVFfZDhNr00aMddEGUtnkjOeiM=", "owner": "Infinidoge", "repo": "nix-minecraft", - "rev": "8c0d05c3ce359b0d08226298ff7e4200486cbed3", + "rev": "0eca0c6771d7b355f7ef6f734c5ce7e16addf81f", "type": "github" }, "original": { @@ -630,11 +822,11 @@ "neorg": { "flake": false, "locked": { - "lastModified": 1740095503, - "narHash": "sha256-YhAsGFAe/Qf/quc4banoV7FjMCJ0xxUY8QUzd59RGpg=", + "lastModified": 1741966512, + "narHash": "sha256-6sl/061ME0b3P2in8hARTn5JdDbKrkRQC8+A9zssEPU=", "owner": "nvim-neorg", "repo": "neorg", - "rev": "e726cbb3103bc7c2a86e7e341188600b7a3a6d7d", + "rev": "6f0b4eefa591fbc4c9344f110b0c0bac5b49078c", "type": "github" }, "original": { @@ -648,16 +840,16 @@ "flake-utils": "flake-utils", "neorg": "neorg", "neorg-telescope": "neorg-telescope", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_4", "norg": "norg", "norg-meta": "norg-meta" }, "locked": { - "lastModified": 1740100467, - "narHash": "sha256-0nQHelWbhQqsv/844mNSzH9ue+oQC7f4ZDhRP5HSvzQ=", + "lastModified": 1741969223, + "narHash": "sha256-i5DJtkD/I8eXLLtycCh1zEOicWw00n4XU1dk8SGidUg=", "owner": "nvim-neorg", "repo": "nixpkgs-neorg-overlay", - "rev": "f967b1ff98b6a065b7b1b92c34e89f044a7cde23", + "rev": "204fda90319f10653f3d1113d37e99e1dd538b35", "type": "github" }, "original": { @@ -682,6 +874,29 @@ "type": "github" } }, + "nix-github-actions": { + "inputs": { + "nixpkgs": [ + "chaotic", + "jovian", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729697500, + "narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=", + "owner": "zhaofengli", + "repo": "nix-github-actions", + "rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf", + "type": "github" + }, + "original": { + "owner": "zhaofengli", + "ref": "matrix-name", + "repo": "nix-github-actions", + "type": "github" + } + }, "nix-index-database": { "inputs": { "nixpkgs": [ @@ -689,11 +904,11 @@ ] }, "locked": { - "lastModified": 1739676768, - "narHash": "sha256-U1HQ7nzhJyVVXUgjU028UCkbLQLEIkg42+G7iIiBmlU=", + "lastModified": 1741619381, + "narHash": "sha256-koZtlJRqi0/MD/AKd0KrXLA2NuBOVzlIyAJprjzpxZE=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "ae15068e79e22b76c344f0d7f8aed1bb1c5b0b63", + "rev": "66537fb185462ba9b07f4e6f2d54894a1b2d04ab", "type": "github" }, "original": { @@ -702,13 +917,43 @@ "type": "github" } }, + "nix-std": { + "locked": { + "lastModified": 1701658249, + "narHash": "sha256-KIt1TUuBvldhaVRta010MI5FeQlB8WadjqljybjesN0=", + "owner": "chessai", + "repo": "nix-std", + "rev": "715db541ffff4194620e48d210b76f73a74b5b5d", + "type": "github" + }, + "original": { + "owner": "chessai", + "repo": "nix-std", + "type": "github" + } + }, + "nix-std_2": { + "locked": { + "lastModified": 1701658249, + "narHash": "sha256-KIt1TUuBvldhaVRta010MI5FeQlB8WadjqljybjesN0=", + "owner": "chessai", + "repo": "nix-std", + "rev": "715db541ffff4194620e48d210b76f73a74b5b5d", + "type": "github" + }, + "original": { + "owner": "chessai", + "repo": "nix-std", + "type": "github" + } + }, "nixos-hardware": { "locked": { - "lastModified": 1740089251, - "narHash": "sha256-Y78mDBWoO8CLLTjQfPfII+KXFb6lAmF9GrLbyVBsIMM=", + "lastModified": 1741792691, + "narHash": "sha256-f0BVt1/cvA0DQ/q3rB+HY4g4tKksd03ZkzI4xehC2Ew=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "18e9f9753e9ae261bcc7d3abe15745686991fd30", + "rev": "e1f12151258b12c567f456d8248e4694e9390613", "type": "github" }, "original": { @@ -731,6 +976,22 @@ "type": "indirect" } }, + "nixpkgs-2405": { + "locked": { + "lastModified": 1735563628, + "narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "b134951a4c9f3c995fd7be05f3243f8ecd65d798", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-stable": { "locked": { "lastModified": 1710695816, @@ -749,11 +1010,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1736012469, - "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", + "lastModified": 1741851582, + "narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", + "rev": "6607cf789e541e7873d40d3a8f7815ea92204f32", "type": "github" }, "original": { @@ -765,27 +1026,27 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1740019556, - "narHash": "sha256-vn285HxnnlHLWnv59Og7muqECNMS33mWLM14soFIv2g=", + "lastModified": 1741513245, + "narHash": "sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dad564433178067be1fbdfcce23b546254b6d641", + "rev": "e3e32b642a31e6714ec1b712de8c91a3352ce7e1", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-unstable", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_4": { "locked": { - "lastModified": 1644486793, - "narHash": "sha256-EeijR4guVHgVv+JpOX3cQO+1XdrkJfGmiJ9XVsVU530=", + "lastModified": 1741865919, + "narHash": "sha256-4thdbnP6dlbdq+qZWTsm4ffAwoS8Tiq1YResB+RP6WE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1882c6b7368fd284ad01b0a5b5601ef136321292", + "rev": "573c650e8a14b2faa0041645ab18aed7e60f0c9a", "type": "github" }, "original": { @@ -813,27 +1074,27 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1739866667, - "narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=", - "owner": "nixos", + "lastModified": 1644486793, + "narHash": "sha256-EeijR4guVHgVv+JpOX3cQO+1XdrkJfGmiJ9XVsVU530=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680", + "rev": "1882c6b7368fd284ad01b0a5b5601ef136321292", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", + "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_7": { "locked": { - "lastModified": 1739866667, - "narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=", + "lastModified": 1741851582, + "narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680", + "rev": "6607cf789e541e7873d40d3a8f7815ea92204f32", "type": "github" }, "original": { @@ -843,11 +1104,41 @@ "type": "github" } }, + "nixpkgs_8": { + "locked": { + "lastModified": 1741851582, + "narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "6607cf789e541e7873d40d3a8f7815ea92204f32", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_9": { + "locked": { + "lastModified": 1724517639, + "narHash": "sha256-3eTrclsS5OYShbw0MRiiF3GJ8emUTwVzAZo96pdD7hM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9edd5ddbd2453e22d4c4820992563c7ba0930f7a", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, "norg": { "inputs": { "flake-compat": "flake-compat_2", "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_5" }, "locked": { "lastModified": 1672582520, @@ -868,7 +1159,7 @@ "inputs": { "flake-compat": "flake-compat_3", "flake-utils": "flake-utils_3", - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_6" }, "locked": { "lastModified": 1713028366, @@ -887,15 +1178,15 @@ "nur": { "inputs": { "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_7", + "nixpkgs": "nixpkgs_8", "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1740255824, - "narHash": "sha256-2JqThJ+VgT2xPhVKCsIuWMEAEskXDZc++JQqiR6Pfk4=", + "lastModified": 1741986038, + "narHash": "sha256-LEu/GCV4LVhikw1IXDMe2IuPVBZSjnewCXs1gXr2Dq8=", "owner": "nix-community", "repo": "NUR", - "rev": "bca836cda440d41eb616125da37d881f1e4d94e8", + "rev": "23fb3cc211add382809379c2d652a7a807f88fb1", "type": "github" }, "original": { @@ -914,11 +1205,11 @@ ] }, "locked": { - "lastModified": 1739557722, - "narHash": "sha256-XikzLpPUDYiNyJ4w2SfRShdbSkIgE3btYdxCGInmtc4=", + "lastModified": 1740569341, + "narHash": "sha256-WV8nY2IOfWdzBF5syVgCcgOchg/qQtpYh6LECYS9XkY=", "owner": "pjones", "repo": "plasma-manager", - "rev": "1f3e1f38dedbbb8aad77e184fb54ec518e2d9522", + "rev": "5eeb0172fb74392053b66a8149e61b5e191b2845", "type": "github" }, "original": { @@ -954,12 +1245,34 @@ "type": "github" } }, + "rbw-bitw": { + "inputs": { + "flakelib": "flakelib_2", + "nixpkgs": "nixpkgs_9", + "rust": "rust_2" + }, + "locked": { + "lastModified": 1726883574, + "narHash": "sha256-XQSrCtTEw65JhAdGSE3JOuAFfQCxmeOr4MjSMiuie4w=", + "owner": "arcnmx", + "repo": "rbw", + "rev": "795e2425ee312b175514115be28bcc3494178912", + "type": "github" + }, + "original": { + "owner": "arcnmx", + "ref": "bitw-v1.12.x", + "repo": "rbw", + "type": "github" + } + }, "root": { "inputs": { "arcexprs": "arcexprs", "base16": "base16", "base16-data": "base16-data", "catppuccin": "catppuccin", + "chaotic": "chaotic", "ci": "ci", "darwin": "darwin", "deploy-rs": "deploy-rs", @@ -967,28 +1280,69 @@ "flake-compat": "flake-compat", "flakelib": "flakelib", "flakelibstd": "flakelibstd", - "home-manager": "home-manager", + "home-manager": "home-manager_2", + "infrastructure": "infrastructure", "konawall-py": "konawall-py", "lanzaboote": "lanzaboote", "minecraft": "minecraft", "neorg-overlay": "neorg-overlay", "nix-index-database": "nix-index-database", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_7", "nur": "nur", "plasma-manager": "plasma-manager", + "rbw-bitw": "rbw-bitw", "scalpel": "scalpel", "solaar": "solaar", "sops-nix": "sops-nix", "spacebar": "spacebar", - "std": "std", + "std": "std_2", "systems": "systems_3", - "tree": "tree", + "tree": "tree_2", "utils": "utils", "wezterm": "wezterm", "wsl": "wsl" } }, + "rust": { + "inputs": { + "nixpkgs": [ + "infrastructure", + "systemd2mqtt", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1696701304, + "narHash": "sha256-RAS+QPumpiSMwNHmEg+rJBImSh8JHdGu3iyfwZUDRE8=", + "owner": "arcnmx", + "repo": "nixexprs-rust", + "rev": "e45a3dc4f4cbd70071860f0170d88c7aa499bb55", + "type": "github" + }, + "original": { + "owner": "arcnmx", + "repo": "nixexprs-rust", + "type": "github" + } + }, + "rust-analyzer-src": { + "flake": false, + "locked": { + "lastModified": 1741807049, + "narHash": "sha256-/tH4gSW/0ePa2+0DAzk5xuHAa5qeaB4T8RnmiG3Ex4w=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "3fc655b239058deb93f503f9d25cc69a32ca7675", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + }, "rust-overlay": { "inputs": { "flake-utils": [ @@ -1035,6 +1389,27 @@ "type": "github" } }, + "rust_2": { + "inputs": { + "nixpkgs": [ + "rbw-bitw", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1715288797, + "narHash": "sha256-E7tcuQWs2QZHPnV5eeB5wAfNZ6aeqqOOzANyypTPY6w=", + "owner": "arcnmx", + "repo": "nixexprs-rust", + "rev": "32cce853be1fa59e3238256d06b229a7eece7724", + "type": "github" + }, + "original": { + "owner": "arcnmx", + "repo": "nixexprs-rust", + "type": "github" + } + }, "scalpel": { "inputs": { "flake-utils": [ @@ -1113,11 +1488,11 @@ ] }, "locked": { - "lastModified": 1739262228, - "narHash": "sha256-7JAGezJ0Dn5qIyA2+T4Dt/xQgAbhCglh6lzCekTVMeU=", + "lastModified": 1741861888, + "narHash": "sha256-ynOgXAyToeE1UdLNfrUn/hL7MN0OpIS2BtNdLjpjPf0=", "owner": "Mic92", "repo": "sops-nix", - "rev": "07af005bb7d60c7f118d9d9f5530485da5d1e975", + "rev": "d016ce0365b87d848a57c12ffcfdc71da7a2b55f", "type": "github" }, "original": { @@ -1151,6 +1526,42 @@ } }, "std": { + "inputs": { + "nix-std": "nix-std_2" + }, + "locked": { + "lastModified": 1701802337, + "narHash": "sha256-JCVCyjDZ6LA0xyVoDZzRXjy0OgWOZo3OpeZEVm/U97w=", + "owner": "flakelib", + "repo": "std", + "rev": "443d1c8246b3d96a4822b02af907ca0d833e8b63", + "type": "github" + }, + "original": { + "owner": "flakelib", + "repo": "std", + "type": "github" + } + }, + "std-fl": { + "inputs": { + "nix-std": "nix-std" + }, + "locked": { + "lastModified": 1706552916, + "narHash": "sha256-Dh7qUXNTjmvwMOikm8EAarcmxCCiLaXHAFEeWKsNsHk=", + "owner": "flakelib", + "repo": "std", + "rev": "c5cffcaff4b82b353462cf49c1ae950b7c87bf78", + "type": "github" + }, + "original": { + "owner": "flakelib", + "repo": "std", + "type": "github" + } + }, + "std_2": { "locked": { "lastModified": 1710870712, "narHash": "sha256-e+7MJF2gsgTBuOWv4mCimSP0D9+naeFSw9a7N3yEmv4=", @@ -1165,6 +1576,32 @@ "type": "github" } }, + "systemd2mqtt": { + "inputs": { + "flakelib": [ + "infrastructure", + "flakelib" + ], + "nixpkgs": [ + "infrastructure", + "nixpkgs" + ], + "rust": "rust" + }, + "locked": { + "lastModified": 1714513005, + "narHash": "sha256-An97O4aa2yw80jYY9eucFnlBuVSYU8JAszpWjfWgju8=", + "owner": "arcnmx", + "repo": "systemd2mqtt", + "rev": "7cd09aa52685fa1a3d18f36b039754a149b4d941", + "type": "github" + }, + "original": { + "owner": "arcnmx", + "repo": "systemd2mqtt", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -1211,6 +1648,32 @@ } }, "tree": { + "inputs": { + "nixpkgs": [ + "infrastructure", + "nixpkgs" + ], + "std": [ + "infrastructure", + "std-fl", + "nix-std" + ] + }, + "locked": { + "lastModified": 1676505934, + "narHash": "sha256-jeqZtNLOKXRSDmD1v+b9+v+hwVyH6kcKzZ9f0gcJpdk=", + "owner": "kittywitch", + "repo": "tree", + "rev": "a831f6fd209e3d00c5026303994de28d0031ab3b", + "type": "github" + }, + "original": { + "owner": "kittywitch", + "repo": "tree", + "type": "github" + } + }, + "tree_2": { "inputs": { "nixpkgs": [ "nixpkgs" @@ -1290,11 +1753,11 @@ }, "locked": { "dir": "nix", - "lastModified": 1740259252, - "narHash": "sha256-Aoqs7WupQProspwQFLQ4ZfweGgCAA+kBiwy2F9yhkNI=", + "lastModified": 1741559821, + "narHash": "sha256-LWD3DlXIRXnv5hS4i9Z84qIrwxMertI60TxmAc8veRw=", "owner": "wez", "repo": "wezterm", - "rev": "f7db9554f532e12d3cb68b6877d1323e9a3fd6ca", + "rev": "12b971ac44738f37c120160da165cd9072c0e6d2", "type": "github" }, "original": { @@ -1315,11 +1778,11 @@ ] }, "locked": { - "lastModified": 1740046902, - "narHash": "sha256-Xbhz8eEqBmNpvqaGFbF5JopmfNJccWUr8eExtU/iGX4=", + "lastModified": 1741870048, + "narHash": "sha256-odXRdNZGdXg1LmwlAeWL85kgy/FVHsgKlDwrvbR2BsU=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "c4f6ae89468939d9fcf1a317c062cf5dd02004ea", + "rev": "5d76001e33ee19644a598ad80e7318ab0957b122", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 5b77c284..8efee8f9 100644 --- a/flake.nix +++ b/flake.nix @@ -8,6 +8,7 @@ url = "github:edolstra/flake-compat"; flake = false; }; + rbw-bitw.url = "github:arcnmx/rbw/bitw-v1.12.x"; # better than nixpkgs.lib std = { url = "github:chessai/nix-std"; @@ -18,6 +19,23 @@ nixpkgs = { url = "github:nixos/nixpkgs/nixos-unstable"; }; + infrastructure = { + url = "github:gensokyo-zone/infrastructure/main"; + inputs = { + nixpkgs.follows = "nixpkgs"; + arcexprs.follows = "arcexprs"; + flakelib.follows = "flakelib"; + sops-nix.follows = "sops-nix"; + home-manager.follows = "home-manager"; + flake-utils.follows = "empty"; + website.follows = "empty"; + ci.follows = "empty"; + deploy-rs.follows = "empty"; + flake-compat.follows = "empty"; + barcodebuddy.follows = "empty"; + }; + }; + chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; solaar = { # ewww flakehub ;; url = "https://flakehub.com/f/Svenum/Solaar-flake/*.tar.gz"; diff --git a/home/environments/i3/i3.nix b/home/environments/i3/i3.nix index 1f4dc34c..79a6101b 100644 --- a/home/environments/i3/i3.nix +++ b/home/environments/i3/i3.nix @@ -1,12 +1,12 @@ { - pkgs, - lib, +pkgs, +lib, std, - config, - ... +config, +... }: let - inherit (std) list; + inherit (std) list; inherit (lib.modules) mkMerge; inherit (lib) mkOptionDefault mkDefault mapAttrs; in { @@ -19,16 +19,18 @@ in { services.i3gopher.enable = true; xsession.windowManager.i3 = { enable = true; - package = pkgs.i3-gaps; - extraConfig = '' - workspace 1 output DP-2 - workspace 11 output HDMI-0 - ''; + extraConfig = '' + workspace 1 output DP-2 + workspace 11 output HDMI-0 + for_window [class="^steam_app_default$"] floating enable + ''; config = let modifier = "Mod4"; other_modifier = "Mod1"; mod = modifier; mod2 = other_modifier; + + runCommand = "${config.programs.rofi.finalPackage}/bin/rofi -show combi -modes combi"; workspaceNames = { "1" = ""; "2" = ""; @@ -38,7 +40,14 @@ in { }; workspaceNamer = num: let numStr = builtins.toString num; - in if numStr ? workspaceNames then "${numStr}:${numStr} ${workspaceNames.numStr}" else "${numStr}:${numStr}"; + in if numStr ? workspaceNames then "${numStr}:${numStr} ${workspaceNames.numStr}" else "${numStr}:${numStr}"; + + lockCommand = "sh -c '${pkgs.i3lock-fancy-rapid}/bin/i3lock 5 3 & sleep 5 && xset dpms force off'"; + + actionMode = "(l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown"; + gapsMode = "Gaps: (o) outer, (i) inner"; + gapsOuterMode = "Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)"; + gapsInnerMode = "Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)"; in { inherit modifier; fonts = { @@ -49,17 +58,19 @@ in { "FontAwesome 6" ]; }; + startup = [ { command = "~/.screenlayout/main.sh"; } { command = "blueman-applet"; } ]; + keybindings = let bindWorkspace = key: workspace: { "${mod}+${key}" = "workspace number ${workspaceNamer workspace}"; "${mod}+shift+${key}" = "move container to workspace number ${workspaceNamer workspace}"; }; mapDefaultAttrs = e: mapAttrs (_: mkDefault) e; - workspaceBindings = + workspaceBindings = list.map (v: bindWorkspace v "${v}") (list.map builtins.toString (list.range 1 9)) ++ [ ( @@ -67,35 +78,97 @@ in { ) ] ++ list.imap (i: v: bindWorkspace v "${toString (11 + i)}") (list.map (n: "F${builtins.toString n}") (std.list.range 1 12)); - normalBindings = { - "Print" = "exec --no-startup-id maim \"/home/$USER/Pictures/$(date).png\""; - "${mod2}+Print" = "exec --no-startup-id maim --window $(xdotool getactivewindow) \"/home/$USER/Pictures/Screenshots/$(date).png\""; - "Shift+Print" = "exec --no-startup-id maim --select \"/home/$USER/Pictures/Screenshots/$(date).png\""; + normalBindings = { + "Print" = "exec --no-startup-id maim \"/home/$USER/Pictures/$(date).png\""; + "${mod2}+Print" = "exec --no-startup-id maim --window $(xdotool getactivewindow) \"/home/$USER/Pictures/Screenshots/$(date).png\""; + "Shift+Print" = "exec --no-startup-id maim --select \"/home/$USER/Pictures/Screenshots/$(date).png\""; - "Ctrl+Print" = "exec --no-startup-id maim | xclip -selection clipboard -t image/png"; - "Ctrl+${mod2}+Print" = "exec --no-startup-id maim --window $(xdotool getactivewindow) | xclip -selection clipboard -t image/png"; - "Ctrl+Shift+Print" = "exec --no-startup-id maim --select | xclip -selection clipboard -t image/png"; - "${mod}+p" = "exec ${pkgs.dmenu}/bin/dmenu_run"; - "${mod}+x" = "exec sh -c '${pkgs.maim}/bin/maim -s | xclip -selection clipboard -t image/png'"; - "${mod}+Shift+x" = "exec sh -c '${pkgs.i3lock}/bin/i3lock -c 222222 & sleep 5 && xset dpms force of'"; - "${mod}+Return" = "exec ${config.programs.wezterm.package}/bin/wezterm"; - "${mod}+Tab" = "workspace back_and_forth"; - "${mod}+Shift+Tab" = "exec ${config.services.i3gopher.focus-last}"; - }; + "Ctrl+Print" = "exec --no-startup-id maim | xclip -selection clipboard -t image/png"; + "Ctrl+${mod2}+Print" = "exec --no-startup-id maim --window $(xdotool getactivewindow) | xclip -selection clipboard -t image/png"; + "Ctrl+Shift+Print" = "exec --no-startup-id maim --select | xclip -selection clipboard -t image/png"; + + "${mod}+r" = "exec ${runCommand}"; + "${mod}+p" = "mode resize"; + "${mod}+x" = "exec sh -c '${pkgs.maim}/bin/maim -s | xclip -selection clipboard -t image/png'"; + "${mod}+Shift+x" = "exec ${lockCommand}"; + "${mod}+Return" = "exec ${config.programs.wezterm.package}/bin/wezterm"; + "${mod}+Tab" = "workspace back_and_forth"; + "${mod}+Shift+Tab" = "exec ${config.services.i3gopher.focus-last}"; + "${mod}+Shift+g" = ''mode "${gapsMode}"''; + "${mod}+Delete" = ''mode "${actionMode}"''; + }; in mkMerge (map mapDefaultAttrs ([ normalBindings ] ++ workspaceBindings)); + assigns = { - ${workspaceNamer 2} = [ + /*${workspaceNamer 2} = [ { class = "^steam_app_default$"; } - ]; + ];*/ ${workspaceNamer 13} = [ { class = "^Spotify$"; } ]; }; + modes = let + defaultPath = { + "Return" = "mode default"; + "Escape" = "mode default"; + "${mod}+z" = "mode default"; + }; + in { + ${gapsOuterMode} = + defaultPath + // { + "equal" = "gaps outer current plus 5"; + "minus" = "gaps outer current minus 5"; + "0" = "gaps outer current set 0"; + "plus" = "gaps outer all plus 5"; + "Shift+minus" = "gaps outer all minus 5"; + "Shift+0" = "gaps outer all set 0"; + }; + ${gapsInnerMode} = + defaultPath + // { + "equal" = "gaps inner current plus 5"; + "minus" = "gaps inner current minus 5"; + "0" = "gaps inner current set 0"; + "plus" = "gaps inner all plus 5"; + "Shift+minus" = "gaps inner all minus 5"; + "Shift+0" = "gaps inner all set 0"; + }; + ${gapsMode} = + defaultPath + // { + "o" = "mode '${gapsOuterMode}'"; + "i" = "mode '${gapsInnerMode}'"; + }; + ${actionMode} = + defaultPath + // { + "l" = "exec ${lockCommand}, mode default"; + "e" = "exec swaymsg exit, mode default"; + "s" = "exec systemctl suspend, mode default"; + "h" = "exec systemctl hibernate, mode default"; + "r" = "exec systemctl reboot, mode default"; + "Shift+s" = "exec systemctl shutdown, mode default"; + }; + resize = + defaultPath + // { + "a" = "resize shrink width 4 px or 4 ppt"; + "s" = "resize shrink height 4 px or 4 ppt"; + "w" = "resize grow height 4 px or 4 ppt"; + "d" = "resize grow width 4 px or 4 ppt"; + "Left" = "resize shrink width 4 px or 4 ppt"; + "Down" = "resize shrink height 4 px or 4 ppt"; + "Up" = "resize grow height 4 px or 4 ppt"; + "Right" = "resize grow width 4 px or 4 ppt"; + }; + }; workspaceAutoBackAndForth = true; + colors = { focused = { border = "$lavender"; @@ -132,8 +205,9 @@ in { indicator = "$overlay0"; childBorder = "$overlay0"; }; - background = "$base"; + background = "$base00"; }; + bars = [ { # as if anyone was questioning that, @@ -144,10 +218,10 @@ in { "FontAwesome 6 Free" "FontAwesome 6 Brands" ]; - size = 10.0; + size = 9.0; }; colors = { - background = "$base"; + background = "$base00"; statusline = "$text"; separator = "$text"; focusedBackground = "$base"; diff --git a/home/environments/i3/i3status-rust.nix b/home/environments/i3/i3status-rust.nix index 7dfab5bd..2b9187b8 100644 --- a/home/environments/i3/i3status-rust.nix +++ b/home/environments/i3/i3status-rust.nix @@ -16,7 +16,7 @@ _: { } { block = "memory"; - format = " $icon $mem_total_used_percents.eng(w:2) "; + format = " $icon $mem_used_percents.eng(w:2) $zram_comp_ratio "; } { block = "memory"; diff --git a/home/environments/i3/konawall.nix b/home/environments/i3/konawall.nix index bf43f349..31d07bfb 100644 --- a/home/environments/i3/konawall.nix +++ b/home/environments/i3/konawall.nix @@ -9,9 +9,21 @@ rotate = true; source = "e621"; tags = [ - #"rating:s" + "rating:s" #"touhou" - "-my_little_pony" + "-large_breasts" + "-scalie" + #"-my_little_pony" + "-sonic_the_hedgehog" + "-amputee" + "-inflation" + "-pool_toy" + "-cuckold" + "-gore" + "-human" + "-animated" + "-hyper" + "-death" "ratio:>=1.3" "-muscular_male" "-model_sheet" diff --git a/home/environments/i3/konawall.yaml b/home/environments/i3/konawall.yaml index e40b8563..b78565ad 100644 --- a/home/environments/i3/konawall.yaml +++ b/home/environments/i3/konawall.yaml @@ -9,96 +9,105 @@ sops: - recipient: age1n4kdchmkk3rfkaknxhveqr2ftprdpgwckutt23y6u8639lazzuks77tgav enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4Mjg4YWl2UTZoR09vV1do - UE9PNVlJcHpiV0FreW9iaHVkWVVmYmF5MnhRClB4VU1pbTM2ZS9hOGluRkp2S1N1 - SlExQytDOGVGL1U1QnBtK25Qek92RkkKLS0tIG9PSDB2QjY1SDNPUmh5NWJBY1Bv - dzRpa0Rudi9NTmRPY1VaVmpMbzlhNXcKetbzUqlKbHl2ArhmurT+qglmS34Kfbqw - YMpgTTVPcDpdowpVWm9kh4sLNYqFLoDF76buJCT2bt3NwhpRcMiPKg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2MlhnTkE3Z3UrSElkZHJh + ZUt4dTMxL3IxaWJlZzB5TFk1NEJiTXJ2ZGhZClNoNDJ1OURLVk0yVS90aWVRUE9y + bjU0WFROQ2o3bVBHb1JIUkVVSkdQU00KLS0tIGN4UXFvakRkTGJFNEw4R0pObTBG + Sml0UThGcTVQRWNzYnNmWGdjTmlhamsK48cpqQc+2/A9k9Mzv9mruYT7abchdpLd + Qy7igZJmtomOLrN8/P7m4+Mve+Xp37N/xo1lWJQzcCGfuPGV+99kEw== -----END AGE ENCRYPTED FILE----- - recipient: age1cnu37d5fqyahh9vvc4hj6z6k8ur9ksuefln7sr6g3emmn927eutqxdawuh enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzMkMvV1lVcWVSNy8rVE5G - NUpQZ25Gc0tUVlRZM2t0VzR2RmNkUUhWZG1JCm1yUVkvQzF2c082K0VsVHlwQVVW - QVZDN05qc3orb01PbTJZQnNBZDdGUEEKLS0tIG1acmZ0NE1qWjdsZ2MvMlJ1TjUv - dmJiNDhNNEJ0UWxkRnd5SmUvc3lteFkKgbSuJYAXoWAQwGvhi4YJB6NSVihBge8h - MAgnI5ICADLOTdrP6aVz0t05sGDqRdkvraxNDDUAaGSjieIbUmDzeQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByem4zelR5NFM0dUtCWDJH + VDJ6cG1QRWpIdHA3OURBUzBCbjltaWdlQ0M0CnVPR2haKy9SUXJEc2lRK3NYdjM3 + TVNCbnRabGtNRVM2RUlUcVZaMHNZQ28KLS0tIHB5U3RQdTdGWWw5Nzd0SSsvWS8r + dTk3a3JOVGNpWGJKR0FxQW1qVmpNVFEKDFZT6Yi1xcSmc93o+eW80DkfV3OrDu04 + IwrKQ/8Whda9qQL0PgHuTmFCkOA9SsQXCU4tYbPGy3kTqpSKTUya8g== -----END AGE ENCRYPTED FILE----- - recipient: age1nr0qds8w3gldmdvhwu0p6w2ys8f4sd0h3xy94h9dsafjzttaypxquzmswc enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuWEY1eEFNMW11eTZjTjRW - K1VjcW9yOVd6c1grS1BBUzJYcUtEYVh5Mnd3CmQvb09admpPZ1RRVE5KdkxFdThN - dkErbFErQ0dYSjY1QzFvRmIrUy90a0kKLS0tIEN4dWdmaDBNUENBWXIxSXlLd2hG - QUVZVm90OW9LN1dGMGJHRE93MEcxNGsKTC4HNR752SfLGbczvXW3sF2jsevKSTlC - 3pNuCK3N6GHn3j/WF6RsJbiBSd4JMVRDw0OsWO7PU1GyzahWXI7zZA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzTG5qcW81MDljL1AwRGpU + N3p6amN4OGd3NjBnM2w5YlhvdlArRFFHUVNzCmFwSXNlR082b1NiRlE2bUNOaTlH + c1Z0WDF1MTJIZXo0VlZMRkFHRE9DNm8KLS0tIE95SFhqUDRlYnBjN2FkUENUa1RO + U0hYczdZSjNSS0toaGl0QkM0V2VKeWMK4Z8KswSqS9uVMc2i5Oo2NJnClB62THtl + QQeY0bxnRZGbr4edXU9m2Xdr72Fp08HfON3rQ4YATDn+jMEPHvaeUg== -----END AGE ENCRYPTED FILE----- - recipient: age18hpxz0ghvswv9k30cle73prvnzrsuczqh87jjdk9fl50j3ddndmq9xae0n enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOdnRIZkFlVy9DOVl5cDhH - NVpOOGtUeTBpVTQweFU0Q3F0dWwzUlA3b2s0ClBxVkE1bUN1bzU4c0hkTW03STBG - YjlIRHNNa3lpa0FyQmlRdHdIUXI4Y0EKLS0tIFpldCs1WDJoRzlzN3R3QmRqTENt - WVZNUmJ6RG1iMHpYTmd0elVkK3hCbncKIbAyXtsyYFtSPJkQDwLjKHC0+Imf9TYU - Gu64M77AyvBLEgjt9FrHQImzvDozrec+rpXxJcqS6GJ+gvjpQapVwQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQSEFXN2YxOEE1V0Z0aVlB + UmJaVCswcndyaEM4VG9nYVY4VmdQeHBsalZFCnRtTGk1TVJLdG5tZzlkcHJ2WDMy + NGNOVmZhRnRQRndiN1MvZnhqa3dLOU0KLS0tIGpVQXNJZ2ViUUJoelJEeTZLaHBP + OWluMUVEaU9KT3EzeWJodGZzTXJValUKUMPNmxUjyGSlWXWJLhoxH+t3cK5q3aTB + QMgmKJPWwIwzpIlENsk/ItI0wUW4eoZNByqo4boV/oKYXw+9me5OzQ== -----END AGE ENCRYPTED FILE----- - recipient: age1xgy03g3vjydsxcl0qpdgm8rahjcjq95ucxfwlgr22zwjx3p7jf2s9jk6u5 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLL3FQVUJFQk9ZeHBNYlZi - cUtWa2VKWkdxOVZBMHVEN0JZVVB6YTQ5Wm1BCmNKTVF0ZjU0d0xyRWlySWczbWY1 - djU4bmZYN1BzU2F3bUMyYUllTEVYMjgKLS0tIGlRT0JpUTlmMHdjVFJoU09QLy9m - YXhrOHFnYW5wRlQ4SFNRTjJRNDVONEEKCJgvk3gXJ9m6wB0cUWTjbfS+xvzmp9l7 - Fu4zsEkVT2QpTid/X/VviB2osj8p8yjAMIrKduwWsYtyfG29BuQE4Q== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0amY0UGR3cDFnZTBBVEkx + UlZCUERNTlRrYklUdVNTY0xxMmJkMFNTUzBnClF4eEVVQjBKUzU5bkxnV1h5S0d6 + N1FXZzEzcEhxY1p5c3dMc1RGMHg2c00KLS0tIFNIWGNzTjk0c3dWTlp4UFc4dUVl + aXh0Zyt0enBGZnFOdnI1b2lwNE1ETnMKEiJf46LtKsV3YQMF/phhLgGhVBUYGL8t + RF+f7GfOcri4iQyfqgrajO+b2FMg6teK7GkDTjPpV7DVRThI/Ekedg== -----END AGE ENCRYPTED FILE----- - recipient: age1fv5dafs4n3r5n83qm2hfz7xmnflsz0xf9r3saralrptpgf8mvuxq4t8k3u enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBES0xLQmdBc3lWaXJtVjcy - VW9OY1lFUkVVN0dJVXByZ2o3UzE5SkFPcmtrCk9vMDdQdW1Ib2x2Q2h4MStFS3dR - aHJZa1VpWUd6Qm5SVktRY2I0ZUEzamsKLS0tIDJMbEpXNjdXTCtMVHV5RmZuODJX - TUFYYzZUNFk1UDZvNE9mNmN0S1VPMkkKIxS/8muZK4cp0kMbLUM0hBOc1MP3wVFN - TBxBxv7jl67bCpvm3xDeoJZqkBuLgUDQUMy6joB+FSh94HEUvqOQiw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQeW5oWHovS2NkSThJdzZV + bTN5WlNOMkpibzR0NGNQN2hyOWhGMXJrRTNZCk9VUGtyb2RYYW42Rlgwd0FRQzdF + QUNSbEJiczRYWWdPaEpGdzVsMTJLMEkKLS0tIGdyMjZPcjZnTWJDdVdSZmxHWm1y + by9XaWx0N1VuUHA3QnR1T3I2RnBKOFEKce+lkpeTKbSwkw3s64/MIgFnzX7QShrW + tQBAaVi/iF2GpuxtR5D1cR5tLJWshF4hkQJmXVrGLhel6Ss7MeHoyg== -----END AGE ENCRYPTED FILE----- - recipient: age120530yclr75k6nrzp6k5jjftj8j4q9v3533guupzk4ct86mjxszqg9e5t5 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBySGJRcUdqUWhkNE9zaStD - V0tkMmcxRm94cmtvNHAxZm45NVZNQTNEWEg4CkJmelhTMlFYS0szY2c5SEdiZm81 - Sjk2cFd3UjY2RzRkVmlOaW9aR2YwaXMKLS0tIDhUc0FMcytCbGNaei9RNlcvUFJX - dDhDN0ttRU9WMWw3SmY1NUJkQWV2eG8KVygcdIIUuBSSSr+DLYQS7zmEtGMSOEgZ - X3HpbsqD+XdtCdy+3J0piq2qBb8YLfeaZsKDPyK6tuidhP60gVnFsA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTaitxNWRQZHA0MkVmL3dR + eXFITVZZNUFteHNxTDhxQ0ZRS2lkSlR3MWkwCnVGeVN6VEE4QWN3ZWg1VldhclVU + UC82blluMnhSQnpDbHorVjRvOGNKaXcKLS0tIHV1UUpQc3IxWExqQjVjSU9GRjlI + dUduV3hkRVdhTWluazQ2RUNkU3lDWVUKmU24Jjc/d7YrBIyMbFAo53bw0megt14K + BQrPXnQpr1QoSERIBcwqhRp7Pp0RTEYSojRIGFJ0Ovn9FIYFdPsESw== -----END AGE ENCRYPTED FILE----- - recipient: age1c4atxfp05u7zm875s6q8p82ve96rqqpq9smktxlur8pk2yc3qvgql46dp9 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBweVJzK3I5cFJMRUZSM0Jv - Z3BXb1NoSndna2dwbjZXUG5wS3RpaXh6YVNFCjRNdTdaVHVuMkNiNFAvaEhwbE94 - UTF3OFZqZ29CYnp6MDEvQVF1ZjJzdzQKLS0tIDNXUm45OWVmdHluSE1keDF6aWw4 - MHZFVllVS083U2t6aFRmVU1CUG44M3cKqoSWjxRXVluxdXfJq8fzYwVhjU1NoCFv - xk6ogjiOClByPpBgpQe92YUnrS2uJwQN8PofqO7QMvgQnfigZJJ1eA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuNDR5eXRUd2RzVU85Z2VW + dmNaaVoyZENibU5KQ1MwVXZYcTZaR3dsSVVjCnFmaW1ZQ1ZkdTBBdlEzQkpTWWY5 + OFF1eDFUU0JWcFpKZTVBOEsyQ0FCOFkKLS0tIERhdEZHTkt5SHNuakgxUmh4L2Y1 + Wk5RN2tHcjF1aFNUTEdJYkdLM3FXSGcKJT1xD9J0+sl6EZl7eQYS3inqiLH9DVE1 + S5dLK0MJw7lJn7+EsnWlt0EVrPcGN8w0BiCY/qFJSj+HvP8s+PHh+A== + -----END AGE ENCRYPTED FILE----- + - recipient: age1rjldv3fn3q686647exmcukthr32gmp6s3axs0lhyenvru9ajp9rs24ukvz + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5a3VTbFVUaElnZXFVd044 + MS9Ha1dkamVHVHRXNjllT3EydkZ3Sm5rd0JjCmFJTGtMbjVXMkpJZ3hDRHpickRE + VzlZN3FMR01RSDdhMkNCSGhzOWtDK2MKLS0tIHV1VmcxWlY0eVdEbi9leXllamV2 + cnlhdC9iSVN4SmxJWFlXL3N6SUpqOUkKnhnfOTfBc7r/B5uSrGddaZOK9IKQ3AG8 + 2YJ5PLj1HED8SOaflxAgYzHSwvCFbb6GX13O+zbOrl5Ki/1eWH6xBw== -----END AGE ENCRYPTED FILE----- lastmodified: "2025-02-28T21:15:38Z" mac: ENC[AES256_GCM,data:2QggqmZhRgx+kpvDZOBU/KBLruwxbD4F3NHTiNK2N8Ux133pgLDjP88HDmBy8ZRXmGFdkUK0IqOSx1Axy3qpy14DlSdOw9L/WQhOCybEX21ib+ANb90275FtD+7J8luIvOPbCtus9c9gpqYQIirlQMqwkMZ1QADv62ewmVUJD6w=,iv:4V9KA9oq1TR5+cFtZdEop7haPOavRaRd6wwgJDyJeXQ=,tag:MXwB98KN5kit4Oyl+qQFLw==,type:str] pgp: - - created_at: "2025-02-28T21:14:20Z" + - created_at: "2025-03-17T00:23:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA82M54yws73UAQ//YeE1Ickufb62oHQ+iblQvalg8LXpwTTyUHyNxBcm7vN0 - tosUGt5WZz1rQm91QvZAtfDXOryYPGkaj5oDQ0PcMZtDsLuqwfCVFAhmftQIyQhF - BdtAAo93MojM/vfUkx55THBdzxI5f3RCgJZHkqKpB6AHQwya2twMRWUEmWQJmPD+ - YoZTZR7y2ba8xk7HHtKh5825/syP+3qjTGN4GkesKJSXZu/cvZlDDDp7v6d+irzL - OI52+1y2J13dX1pU1ZhokCEJ5YS9wKicgo6FU7ssC4VJxzXz7Y+bC9EWizCkrwNo - P3bdxQPK1ommnT86//026CmARzwEvQWVq7OailZr4MApjzm0silyQyXjKBN1BUhN - FtvC1Q5QZfjH/KsWx1xcDOKcEacD3MH9wVLMf73bWtSTAEsFOCVVRCPiCDzAx2Lj - NPiAcBFvnMyaS2PLdLiDXR4OwtW3SR7bvcIMkm1swCE81R9O/tWmyYU82NpJMX2l - p4Xjg5QkzO72/5Uxp74/O/+FD9ZstGflEhj82lt3iwyMS727nHzrQzui5okXZMvg - +hf9leELyxSl+KCvOmzouXdoJqHdRBR0JoTRJbaJrGEXuynahAFHnM4wvu/mFxxP - 9m0m6zxTxQbmtKyldXEzq6Ff0UC4ebH+rN03J0wGkEQ7lAQUr0sGSb/vKXMGV27S - XgEcsL2geD2U/kf5cuJQJ0h3oAk8A9wDcRoTRbaIFUh8rz0BLSYYiCNPRM9Mz/HS - Z8TSL21+1fo3VF0iuyqXPHgTqZ6KPEXeJNANwVzThCM9BhyN9oLegZkaMZhvrsM= - =q+UF + hQIMA82M54yws73UAQ/+Nq5oA5kzaq0qgEN1imppTvELUi/sY1bGfXsCREeOn1e+ + hVK/Qgk3kDXpj0Iug5h1n6MGWcvDY+hDHiFVejzX1ixTupYjKA8Or0P/eaWCcgTA + BNiJkkz91jgMMqnzOUKE/rBNRU5/a3rK3OzbEurqBGixWwSJ1s/3ux3roaj+zsqX + phBeS/mCDiUjpPYY6SVvT+Er1/WOq1Ali1ONOXgq68svGWSgJxIZ/OaHRj5qnjj4 + 0cFRb/mdGZYZkVRtivG9xzbcItQgv+2GW2RrPzdiNTvIEwiFqWUUUvN3L5xLAF7x + PNDD2I1Ei2F4GSLT+bTV2IUCIHyBQDfuJJ8a8fQ30uGGdzRX1HZHczPAl8YNlnSy + tea1w7cfPfoYVHtWnN5OnCbrbahbTqvq+4j2Dbj1hXc5NBfX38CPRWQyUyrAPdsL + ghsg9uuZJtEtL6Z73gDbf+xCSb6hJ8WH7QYj8juFMs06Vi9m03Wa650ksIsOAE2y + YE9LqqnVU6AXFwdrC62n4FGFVP2wyMH1XNoD1bHLILEcMbJpfsOcM12fpQxo3A55 + 6hRBof6sHMY+TrRzhLhdFy4WCahBvkKwvy9PtJqILo5zAjz2XN6GjzVynobauDyp + jox7Cu+2VntceJQ2H3INJ+ALe9DQWIgevFmkk3frhPPSdtEFf7s/gUG/kiYYip/S + XgE2iObZ16neZNqe3XkDRtcVRERnJ1xt0CFx2NTMzma4qB3AddNvX7tAwZuAs6Fn + V8cCXbLofER/KjwKTGcmYOC6SaYn+R3ybdTsRBGox2XTl3qJvCWB/GdtZWihWj0= + =cZR3 -----END PGP MESSAGE----- fp: CD8CE78CB0B3BDD4 unencrypted_suffix: _unencrypted diff --git a/home/environments/i3/rofi.nix b/home/environments/i3/rofi.nix new file mode 100644 index 00000000..b0b396fd --- /dev/null +++ b/home/environments/i3/rofi.nix @@ -0,0 +1,15 @@ +{ pkgs, config, ... }: { + home.packages = [ + config.programs.rofi.finalPackage + ]; + programs.rofi = { + enable = true; + font = "Monaspace Krypton"; + terminal = "wezterm"; + plugins = with pkgs; [ + rofi-games + rofimoji + rofi-rbw + ]; + }; +} diff --git a/home/profiles/common/base16.nix b/home/profiles/common/base16.nix index 68aa8136..494a35df 100644 --- a/home/profiles/common/base16.nix +++ b/home/profiles/common/base16.nix @@ -19,9 +19,9 @@ in { }; dark = { schemeData = schemeSources.tinted.schemes.catppuccin-mocha; - ansi.palette.background.alpha = "ee00"; + ansi.palette.background.alpha = "d000"; }; }; - defaultSchemeName = "light"; + defaultSchemeName = "dark"; }; } diff --git a/home/profiles/common/catppuccin.nix b/home/profiles/common/catppuccin.nix index 5591ab37..ef48f925 100644 --- a/home/profiles/common/catppuccin.nix +++ b/home/profiles/common/catppuccin.nix @@ -1,7 +1,15 @@ -_: { +{ lib, ... }: let + inherit (lib) mkForce; +in { catppuccin = { enable = true; - flavor = "latte"; - gtk.enable = true; + flavor = "frappe"; + gtk = { + enable = true; + icon.enable = true; + gnomeShellTheme = mkForce false; + }; }; + dconf.settings = mkForce { }; + gtk.enable = true; } diff --git a/home/profiles/graphical/documents.nix b/home/profiles/graphical/documents.nix index ba5eebf2..bf8114e7 100644 --- a/home/profiles/graphical/documents.nix +++ b/home/profiles/graphical/documents.nix @@ -1,6 +1,6 @@ { pkgs, ... }: { home.packages = with pkgs; [ calibre - okular + pkgs.kdePackages.okular ]; } diff --git a/home/profiles/graphical/vscode.nix b/home/profiles/graphical/vscode.nix index bcb4e4b7..90bdd394 100644 --- a/home/profiles/graphical/vscode.nix +++ b/home/profiles/graphical/vscode.nix @@ -4,7 +4,6 @@ extensions = with pkgs.vscode-extensions; [ vscodevim.vim catppuccin.catppuccin-vsc - github.copilot kamadorueda.alejandra mkhl.direnv hashicorp.terraform diff --git a/home/profiles/neovim/default.nix b/home/profiles/neovim/default.nix index 3db08f48..5dcb405e 100644 --- a/home/profiles/neovim/default.nix +++ b/home/profiles/neovim/default.nix @@ -11,6 +11,7 @@ name = "init.lua"; src = ./init.lua; base16ShellPath = config.base16.shell.package; + catppuccin_flavour = config.catppuccin.flavor; inherit (config.base16) defaultSchemeName; defaultSchemeSlug = config.base16.defaultScheme.slug; } diff --git a/home/profiles/neovim/init.lua b/home/profiles/neovim/init.lua index de35b140..1df11e92 100644 --- a/home/profiles/neovim/init.lua +++ b/home/profiles/neovim/init.lua @@ -340,4 +340,4 @@ vim.keymap.set("", "F", function() hop.hint_char1({ direction = directions.BEFORE_CURSOR, current_line_only = true }) end, {remap=true}) -vim.cmd("colorscheme catppuccin-latte") +vim.cmd("colorscheme catppuccin-@catppuccin_flavour@") diff --git a/home/profiles/shell/bitw.nix b/home/profiles/shell/bitw.nix index 703e3e2a..4d549d27 100644 --- a/home/profiles/shell/bitw.nix +++ b/home/profiles/shell/bitw.nix @@ -4,12 +4,12 @@ ... }: { programs.rbw = { - enable = false; - package = pkgs.rbw-bitw; + enable = true; settings = { inherit (tree.home.user.data) email; - base_url = "https://vault.kittywit.ch"; + base_url = "https://bw.gensokyo.zone"; identity_url = null; + pinentry = pkgs.pinentry-gnome3; lock_timeout = 3600; }; }; diff --git a/nixos/common/catppuccin.nix b/nixos/common/catppuccin.nix index 464cad60..351e9dc7 100644 --- a/nixos/common/catppuccin.nix +++ b/nixos/common/catppuccin.nix @@ -1,6 +1,6 @@ _: { catppuccin = { enable = true; - flavor = "latte"; + flavor = "frappe"; }; } diff --git a/nixos/common/tailscale.nix b/nixos/common/tailscale.nix index 2594dda3..5117938a 100644 --- a/nixos/common/tailscale.nix +++ b/nixos/common/tailscale.nix @@ -30,7 +30,7 @@ in { sops.secrets.tailscale-key = mkIf cfg.enable { sopsFile = ./secrets.yaml; }; - systemd.services.tailscale-autoconnect = mkIf cfg.enable rec { +/* systemd.services.tailscale-autoconnect = mkIf cfg.enable rec { description = "Automatic connection to Tailscale"; # make sure tailscale is running before trying to connect to tailscale @@ -72,6 +72,6 @@ in { # otherwise authenticate with tailscale ${getExe tailscale} up ${advertiseExitNode} -authkey $(cat ${config.sops.secrets.tailscale-key.path}) ''; - }; + };*/ }; } diff --git a/nixos/environments/i3/xserver.nix b/nixos/environments/i3/xserver.nix index 7e464bb3..4c29af0d 100644 --- a/nixos/environments/i3/xserver.nix +++ b/nixos/environments/i3/xserver.nix @@ -8,9 +8,7 @@ enable = true; extraPackages = with pkgs; [ dmenu - i3status i3lock - i3blocks ]; }; }; diff --git a/nixos/profiles/gaming/lutris.nix b/nixos/profiles/gaming/lutris.nix index a909760f..566217f5 100644 --- a/nixos/profiles/gaming/lutris.nix +++ b/nixos/profiles/gaming/lutris.nix @@ -9,7 +9,10 @@ driversi686Linux.mesa ]; }; -programs.gamescope.enable = true; +programs.gamescope = { + enable = true; + package = pkgs.gamescope_git; + }; environment.systemPackages = with pkgs; [ (lutris.override { extraPkgs = pkgs: [ diff --git a/nixos/profiles/graphical/infra.nix b/nixos/profiles/graphical/infra.nix new file mode 100644 index 00000000..313f5a9e --- /dev/null +++ b/nixos/profiles/graphical/infra.nix @@ -0,0 +1,38 @@ +{ config, lib, ... }: let + inherit (lib.modules) mkIf mkDefault; +in { + gensokyo-zone = { + access = { + tail.enable = mkDefault true; + local.enable = mkDefault (config.networking.hostName == "goliath"); + }; + nix = { + enable = true; + cache.infrastructure.enable = true; + builder.enable = true; + }; + kyuuto = { + enable = mkDefault true; + shared.enable = mkDefault true; + #domain = mkIf config.gensokyo-zone.access.local.enable "local.${domain}"; + }; + /*krb5 = { + enable = mkDefault true; + sssd = { + enable = mkDefault true; + # TODO: sssd ldap backend config is currently broken for unknown reasons + # EDIT: wait ifp was disabled maybe it's actually just fine and I'm dumb? + backend = "ipa"; + }; + nfs.enable = mkDefault true; + #nfs.debug.enable = true; + ipa.enable = mkDefault true; + };*/ + dns = { + enable = mkDefault true; + }; + monitoring = { + enable = mkIf config.gensokyo-zone.access.local.enable (mkDefault true); + }; + }; +} diff --git a/nixos/profiles/graphical/kernel.nix b/nixos/profiles/graphical/kernel.nix new file mode 100644 index 00000000..59abb1d5 --- /dev/null +++ b/nixos/profiles/graphical/kernel.nix @@ -0,0 +1,4 @@ +{ pkgs, ... }: { + boot.zfs.package = pkgs.zfs_cachyos; + boot.kernelPackages = pkgs.linuxPackages_cachyos; +} diff --git a/nixos/profiles/graphical/mounting.nix b/nixos/profiles/graphical/mounting.nix new file mode 100644 index 00000000..74af35ae --- /dev/null +++ b/nixos/profiles/graphical/mounting.nix @@ -0,0 +1,7 @@ +_: { + services = { + gvfs.enable = true; + udisks2.enable = true; + devmon.enable = true; + }; +} diff --git a/nixos/profiles/graphical/packages.nix b/nixos/profiles/graphical/packages.nix index db59a439..42c5911f 100644 --- a/nixos/profiles/graphical/packages.nix +++ b/nixos/profiles/graphical/packages.nix @@ -9,7 +9,6 @@ usbutils plexamp super-slicer-beta - barrier ]; services.udev.packages = [ pkgs.android-udev-rules diff --git a/nixos/profiles/graphical/sound.nix b/nixos/profiles/graphical/sound.nix index b1c80d33..c3f84803 100644 --- a/nixos/profiles/graphical/sound.nix +++ b/nixos/profiles/graphical/sound.nix @@ -5,6 +5,32 @@ security.rtkit.enable = true; +services.pipewire.extraConfig.pipewire-pulse."92-low-latency" = { + context.modules = [ + { + name = "libpipewire-module-protocol-pulse"; + args = { + pulse.min.req = "32/48000"; + pulse.default.req = "32/48000"; + pulse.max.req = "32/48000"; + pulse.min.quantum = "32/48000"; + pulse.max.quantum = "32/48000"; + }; + } + ]; + stream.properties = { + node.latency = "32/48000"; + resample.quality = 1; + }; +}; + services.pipewire.extraConfig.pipewire."92-low-latency" = { + "context.properties" = { + "default.clock.rate" = 48000; + "default.clock.quantum" = 32; + "default.clock.min-quantum" = 32; + "default.clock.max-quantum" = 32; + }; + }; services.pipewire = { enable = true; pulse.enable = true; diff --git a/overlays.nix b/overlays.nix index a798707c..e5896610 100644 --- a/overlays.nix +++ b/overlays.nix @@ -3,6 +3,7 @@ tree, ... }: [ + inputs.rbw-bitw.overlays.default inputs.arcexprs.overlays.default inputs.darwin.overlays.default inputs.deploy-rs.overlay diff --git a/systems/goliath.nix b/systems/goliath.nix index 609ed02d..f14582ce 100644 --- a/systems/goliath.nix +++ b/systems/goliath.nix @@ -2,37 +2,45 @@ _: let hostConfig = { config, lib, + pkgs, tree, ... }: let inherit (lib.lists) singleton; + inherit (lib.attrsets) nameValuePair listToAttrs; + + datasets = [ + "root" + "nix" + "games" + "home" + "var" + ]; + datasetEntry = dataset: nameValuePair (if dataset == "root" then "/" else "/${dataset}") { + device = "zpool/${dataset}"; + fsType = "zfs"; + options = [ "zfsutils" ]; + }; + datasetEntries = listToAttrs (map datasetEntry datasets); + drives = { - root = rec { - raw = "/dev/disk/by-uuid/ca1a4c5f-3fe2-4259-a078-b49dca804f1a"; - result = { - device = raw; - fsType = "ext4"; - }; - }; boot = rec { - raw = "/dev/disk/by-uuid/E1BE-2C63"; + raw = "/dev/disk/by-uuid/C494-AA77"; result = { device = raw; fsType = "vfat"; }; }; swap = rec { - raw = "/dev/disk/by-uuid/d1e46d2a-5e08-444c-b48e-17744c5edcff"; + raw = "/dev/disk/by-partuuid/e18a5e2a-4888-4d74-b3af-855a70c6b7f9"; result = { device = raw; + randomEncryption = true; }; }; }; in { - imports = - (with tree.nixos.hardware; [ - ]) - ++ (with tree.nixos.profiles; [ + imports = (with tree.nixos.profiles; [ graphical wireless gaming @@ -41,7 +49,6 @@ _: let i3 ]); - zramSwap.enable = true; home-manager.users.kat.imports = (with tree.home.profiles; [ graphical @@ -51,6 +58,8 @@ _: let i3 ]); + networking.hostId = "c3b94e85"; + services.xserver.videoDrivers = ["nvidia"]; hardware.nvidia = { @@ -61,7 +70,10 @@ _: let powerManagement.enable = true; }; + zramSwap.enable = true; + boot = { + zfs.requestEncryptionCredentials = true; loader = { systemd-boot.enable = true; efi.canTouchEfiVariables = true; @@ -70,22 +82,20 @@ _: let availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"]; }; kernelModules = ["nct6775" "kvm-amd"]; - supportedFilesystems = ["ntfs"]; + supportedFilesystems = ["ntfs" "zfs"]; }; - fileSystems = { - "/" = drives.root.result; + fileSystems = datasetEntries // { "/boot" = drives.boot.result; }; swapDevices = [ - drives.swap.result - { - device = "/swapfile"; - size = 16 * 1024; # 16GB - } + drives.swap.result ]; + environment.systemPackages = with pkgs; [ + ledfx + ]; system.stateVersion = "21.11"; }; in { diff --git a/tree.nix b/tree.nix index 74431145..1d77d326 100644 --- a/tree.nix +++ b/tree.nix @@ -78,9 +78,11 @@ minecraft.nixosModules.minecraft-servers sops-nix.nixosModules.sops base16.nixosModules.base16 + infrastructure.nixosModules.default lanzaboote.nixosModules.lanzaboote solaar.nixosModules.default catppuccin.nixosModules.catppuccin + chaotic.nixosModules.default ]; }; }; @@ -102,6 +104,7 @@ base16.homeModules.base16 catppuccin.homeManagerModules.catppuccin inputs.sops-nix.homeManagerModules.sops + chaotic.homeManagerModules.default ] ++ (with (import (inputs.arcexprs + "/modules")).home-manager; [ i3gopher