diff options
Diffstat (limited to '')
| -rw-r--r-- | flake.lock | 965 | ||||
| -rw-r--r-- | flake.nix | 385 | ||||
| -rw-r--r-- | flake/apps/default.nix | 23 | ||||
| -rw-r--r-- | flake/default.nix | 129 | ||||
| -rw-r--r-- | flake/nixosConfigurations/common.nix | 122 | ||||
| -rw-r--r-- | flake/nixosConfigurations/default.nix | 91 | ||||
| -rw-r--r-- | flake/packages/default.nix | 29 | ||||
| -rw-r--r-- | flake/treefmt.nix | 9 |
8 files changed, 142 insertions, 1611 deletions
diff --git a/flake.lock b/flake.lock deleted file mode 100644 index c52bac02..00000000 --- a/flake.lock +++ /dev/null @@ -1,965 +0,0 @@ -{ - "nodes": { - "agenix": { - "inputs": { - "darwin": [ - "nix-darwin" - ], - "home-manager": [ - "home-manager" - ], - "nixpkgs": [ - "nixpkgs" - ], - "systems": [ - "systems" - ] - }, - "locked": { - "lastModified": 1736955230, - "narHash": "sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA=", - "owner": "ryantm", - "repo": "agenix", - "rev": "e600439ec4c273cf11e06fe4d9d906fb98fa097c", - "type": "github" - }, - "original": { - "owner": "ryantm", - "repo": "agenix", - "type": "github" - } - }, - "beautysh": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ], - "poetry2nix": [ - "poetry2nix" - ], - "utils": [ - "flake-utils" - ] - }, - "locked": { - "lastModified": 1680308980, - "narHash": "sha256-aUEHV0jk2qIFP3jlsWYWhBbm+w/N9gzH3e4I5DcdB5s=", - "owner": "lovesegfault", - "repo": "beautysh", - "rev": "9845efc3ea3e86cc0d41465d720a47f521b2799c", - "type": "github" - }, - "original": { - "owner": "lovesegfault", - "repo": "beautysh", - "type": "github" - } - }, - "crane": { - "locked": { - "lastModified": 1737689766, - "narHash": "sha256-ivVXYaYlShxYoKfSo5+y5930qMKKJ8CLcAoIBPQfJ6s=", - "owner": "ipetkov", - "repo": "crane", - "rev": "6fe74265bbb6d016d663b1091f015e2976c4a527", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "repo": "crane", - "type": "github" - } - }, - "devshell": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1735644329, - "narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=", - "owner": "numtide", - "repo": "devshell", - "rev": "f7795ede5b02664b57035b3b757876703e2c3eac", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", - "type": "github" - } - }, - "disko": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738148035, - "narHash": "sha256-KYOATYEwaKysL3HdHdS5kbQMXvzS4iPJzJrML+3TKAo=", - "owner": "nix-community", - "repo": "disko", - "rev": "18d0a984cc2bc82cf61df19523a34ad463aa7f54", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "disko", - "type": "github" - } - }, - "flake-compat": { - "flake": false, - "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-parts": { - "inputs": { - "nixpkgs-lib": [ - "nixpkgs-lib" - ] - }, - "locked": { - "lastModified": 1736143030, - "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-utils": { - "inputs": { - "systems": [ - "systems" - ] - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake_version_update": { - "inputs": { - "flake-utils": [ - "flake-utils" - ], - "nixpkgs": [ - "nixpkgs" - ], - "systems": [ - "systems" - ] - }, - "locked": { - "lastModified": 1685288691, - "narHash": "sha256-oP6h34oJ8rm6KlUpyZrX+ww3hnoWny2ecrEXxkU7F3c=", - "ref": "refs/heads/prime", - "rev": "e9a97e01eca780bd16e1dbdbd8856b59558f4959", - "revCount": 5, - "type": "git", - "url": "https://codeberg.org/soispha/flake_version_update.git" - }, - "original": { - "type": "git", - "url": "https://codeberg.org/soispha/flake_version_update.git" - } - }, - "git-hooks": { - "inputs": { - "flake-compat": [ - "flake-compat" - ], - "gitignore": [ - "gitignore" - ], - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1737465171, - "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, - "gitignore": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "haumea": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1708375098, - "narHash": "sha256-DaFJp3wDHgOqx98U0SF57bXaH2Orp106c+jSdPCVu1E=", - "owner": "nix-community", - "repo": "haumea", - "rev": "ec6350fd9353e7f27ce0e85d31f82e3ed73e4d70", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "haumea", - "type": "github" - } - }, - "home-manager": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738145391, - "narHash": "sha256-/9mfbWYN9HDQbKa2HdAe2T5e3FfY8e4eqc1FIvAyvLg=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "1b4f2a48168b3d90e11365552d1e7e601a4be6b6", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "master", - "repo": "home-manager", - "type": "github" - } - }, - "impermanence": { - "locked": { - "lastModified": 1737831083, - "narHash": "sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI=", - "owner": "nix-community", - "repo": "impermanence", - "rev": "4b3e914cdf97a5b536a889e939fb2fd2b043a170", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "impermanence", - "type": "github" - } - }, - "ixx": { - "inputs": { - "flake-utils": [ - "nuschtosSearch", - "flake-utils" - ], - "nixpkgs": [ - "nuschtosSearch", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1729958008, - "narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=", - "owner": "NuschtOS", - "repo": "ixx", - "rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb", - "type": "github" - }, - "original": { - "owner": "NuschtOS", - "ref": "v0.0.6", - "repo": "ixx", - "type": "github" - } - }, - "lanzaboote": { - "inputs": { - "crane": [ - "crane" - ], - "flake-compat": [ - "flake-compat" - ], - "flake-parts": [ - "flake-parts" - ], - "nixpkgs": [ - "nixpkgs-stable" - ], - "pre-commit-hooks-nix": [ - "pre-commit-hooks" - ], - "rust-overlay": [ - "rust-overlay" - ] - }, - "locked": { - "lastModified": 1737639419, - "narHash": "sha256-AEEDktApTEZ5PZXNDkry2YV2k6t0dTgLPEmAZbnigXU=", - "owner": "nix-community", - "repo": "lanzaboote", - "rev": "a65905a09e2c43ff63be8c0e86a93712361f871e", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "v0.4.2", - "repo": "lanzaboote", - "type": "github" - } - }, - "library": { - "locked": { - "lastModified": 1738161079, - "narHash": "sha256-YDiu0DbtwOSo1GO3D9A0Q+dHzsYJ6pJ8ZYEkgmK1szI=", - "ref": "prime", - "rev": "847a8167fe3b52c3b8e19017b31a97e12ad411ea", - "revCount": 16, - "type": "git", - "url": "https://git.foss-syndicate.org/vhack.eu/nix-library" - }, - "original": { - "ref": "prime", - "type": "git", - "url": "https://git.foss-syndicate.org/vhack.eu/nix-library" - } - }, - "nix-darwin": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738033138, - "narHash": "sha256-qlIM8A3bdL9c6PexhpS+QyZLO9y/8a3V75HVyJgDE5Q=", - "owner": "lnl7", - "repo": "nix-darwin", - "rev": "349a74c66c596ef97ee97b4d80a3ca61227b6120", - "type": "github" - }, - "original": { - "owner": "lnl7", - "repo": "nix-darwin", - "type": "github" - } - }, - "nix-github-actions": { - "inputs": { - "nixpkgs": [ - "poetry2nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1729742964, - "narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=", - "owner": "nix-community", - "repo": "nix-github-actions", - "rev": "e04df33f62cdcf93d73e9a04142464753a16db67", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nix-github-actions", - "type": "github" - } - }, - "nix-index-database": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1737861961, - "narHash": "sha256-LIRtMvAwLGb8pBoamzgEF67oKlNPz4LuXiRPVZf+TpE=", - "owner": "nix-community", - "repo": "nix-index-database", - "rev": "79b7b8eae3243fc5aa9aad34ba6b9bbb2266f523", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nix-index-database", - "type": "github" - } - }, - "nixVim": { - "inputs": { - "devshell": [ - "devshell" - ], - "flake-compat": [ - "flake-compat" - ], - "flake-parts": [ - "flake-parts" - ], - "git-hooks": [ - "git-hooks" - ], - "home-manager": [ - "home-manager" - ], - "nix-darwin": [ - "nix-darwin" - ], - "nixpkgs": [ - "nixpkgs" - ], - "nuschtosSearch": [ - "nuschtosSearch" - ], - "treefmt-nix": [ - "treefmt-nix" - ] - }, - "locked": { - "lastModified": 1738170240, - "narHash": "sha256-4Sj34kjdmGVwwvCPOL4zztLOLMUv2jfvBDkvq6/KySc=", - "owner": "nix-community", - "repo": "nixvim", - "rev": "e908e344f4cd7b3eb629b93e8af312888f3ee681", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixvim", - "type": "github" - } - }, - "nixos-generators": { - "inputs": { - "nixlib": [ - "nixpkgs-lib" - ], - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1737057290, - "narHash": "sha256-3Pe0yKlCc7EOeq1X/aJVDH0CtNL+tIBm49vpepwL1MQ=", - "owner": "nix-community", - "repo": "nixos-generators", - "rev": "d002ce9b6e7eb467cd1c6bb9aef9c35d191b5453", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixos-generators", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1737885589, - "narHash": "sha256-Zf0hSrtzaM1DEz8//+Xs51k/wdSajticVrATqDrfQjg=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "852ff1d9e153d8875a83602e03fdef8a63f0ecf8", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-lib": { - "locked": { - "lastModified": 1737853225, - "narHash": "sha256-ZqbbvE9MVNHxSObvAoqRExBsQpfz81u3Ry77agBJIyo=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "31d08f4e55442d13eb8766b4d6852d9fb8292382", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, - "nixpkgs-onlykey": { - "locked": { - "lastModified": 1711294706, - "narHash": "sha256-KhDQnSH2cZNiw8QUvcaTmz/xRR0TdsAGz1S5yvCSbls=", - "owner": "soispha", - "repo": "nixpkgs", - "rev": "16367bebf75f1beaa64dcda55ebcc2c87cb7cd34", - "type": "github" - }, - "original": { - "owner": "soispha", - "ref": "fix-onlykey-agent", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable": { - "locked": { - "lastModified": 1738023785, - "narHash": "sha256-BPHmb3fUwdHkonHyHi1+x89eXB3kA1jffIpwPVJIVys=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "2b4230bf03deb33103947e2528cac2ed516c5c89", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-tfc": { - "locked": { - "lastModified": 1723544577, - "narHash": "sha256-OclFNxcgAFCBQPSxCzy7mO/sB5TGzhe/JWmbUGVV7Lw=", - "owner": "soispha", - "repo": "nixpkgs", - "rev": "727bfcd1e1ffba0f4f58c9eea91087703025670a", - "type": "github" - }, - "original": { - "owner": "soispha", - "ref": "add-termfilechooser", - "repo": "nixpkgs", - "type": "github" - } - }, - "nuschtosSearch": { - "inputs": { - "flake-utils": [ - "flake-utils" - ], - "ixx": "ixx", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1737924095, - "narHash": "sha256-9RO/IlxiE7bpY7GYsdDMNB533PnDOBo9UvYyXXqlN4c=", - "owner": "NuschtOS", - "repo": "search", - "rev": "5efc9c966bb9bdad07a3c28667eac38b758c6f18", - "type": "github" - }, - "original": { - "owner": "NuschtOS", - "repo": "search", - "type": "github" - } - }, - "poetry2nix": { - "inputs": { - "flake-utils": [ - "flake-utils" - ], - "nix-github-actions": "nix-github-actions", - "nixpkgs": [ - "nixpkgs" - ], - "systems": [ - "systems" - ], - "treefmt-nix": [ - "treefmt-nix" - ] - }, - "locked": { - "lastModified": 1736884309, - "narHash": "sha256-eiCqmKl0BIRiYk5/ZhZozwn4/7Km9CWTbc15Cv+VX5k=", - "owner": "nix-community", - "repo": "poetry2nix", - "rev": "75d0515332b7ca269f6d7abfd2c44c47a7cbca7b", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "poetry2nix", - "type": "github" - } - }, - "pre-commit-hooks": { - "inputs": { - "flake-compat": [ - "flake-compat" - ], - "gitignore": [ - "gitignore" - ], - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1737465171, - "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "type": "github" - } - }, - "qmk_firmware": { - "inputs": { - "flake-utils": [ - "flake-utils" - ], - "nixpkgs": [ - "nixpkgs" - ], - "systems": [ - "systems" - ], - "treefmt-nix": [ - "treefmt-nix" - ] - }, - "locked": { - "lastModified": 1735599473, - "narHash": "sha256-lKKA9AI7uk+G+OY4fX3EcnTWqq9pr7Vryxxrm4aiT28=", - "ref": "prime", - "rev": "a91e8256a3adc1ab7ee94bfcea7198b51cfb6b37", - "revCount": 18, - "type": "git", - "url": "https://git.foss-syndicate.org/bpeetz/qmk_layout.git" - }, - "original": { - "ref": "prime", - "type": "git", - "url": "https://git.foss-syndicate.org/bpeetz/qmk_layout.git" - } - }, - "ragenix": { - "inputs": { - "agenix": [ - "agenix" - ], - "crane": [ - "crane" - ], - "flake-utils": [ - "flake-utils" - ], - "nixpkgs": [ - "nixpkgs" - ], - "rust-overlay": [ - "rust-overlay" - ] - }, - "locked": { - "lastModified": 1726755133, - "narHash": "sha256-03XIEjHeZEjHXctsXYUB+ZLQmM0WuhR6qWQjwekFk/M=", - "owner": "yaxitech", - "repo": "ragenix", - "rev": "687ee92114bce9c4724376cf6b21235abe880bfa", - "type": "github" - }, - "original": { - "owner": "yaxitech", - "repo": "ragenix", - "type": "github" - } - }, - "river_init_lesser": { - "inputs": { - "crane": [ - "crane" - ], - "flake-compat": [ - "flake-compat" - ], - "flake-utils": [ - "flake-utils" - ], - "nixpkgs": [ - "nixpkgs" - ], - "rust-overlay": [ - "rust-overlay" - ] - }, - "locked": { - "lastModified": 1683353540, - "narHash": "sha256-tOf9gfFzWjZxIF/2BAU64aH55xfic6SapKsFqVn6U/8=", - "ref": "refs/heads/prime", - "rev": "aedd2bf8863802443d7b6df94646c239d67b2796", - "revCount": 10, - "type": "git", - "url": "https://codeberg.org/soispha/river_keymap_init.git" - }, - "original": { - "type": "git", - "url": "https://codeberg.org/soispha/river_keymap_init.git" - } - }, - "root": { - "inputs": { - "agenix": "agenix", - "beautysh": "beautysh", - "crane": "crane", - "devshell": "devshell", - "disko": "disko", - "flake-compat": "flake-compat", - "flake-parts": "flake-parts", - "flake-utils": "flake-utils", - "flake_version_update": "flake_version_update", - "git-hooks": "git-hooks", - "gitignore": "gitignore", - "haumea": "haumea", - "home-manager": "home-manager", - "impermanence": "impermanence", - "lanzaboote": "lanzaboote", - "library": "library", - "nix-darwin": "nix-darwin", - "nix-index-database": "nix-index-database", - "nixVim": "nixVim", - "nixos-generators": "nixos-generators", - "nixpkgs": "nixpkgs", - "nixpkgs-lib": "nixpkgs-lib", - "nixpkgs-onlykey": "nixpkgs-onlykey", - "nixpkgs-stable": "nixpkgs-stable", - "nixpkgs-tfc": "nixpkgs-tfc", - "nuschtosSearch": "nuschtosSearch", - "poetry2nix": "poetry2nix", - "pre-commit-hooks": "pre-commit-hooks", - "qmk_firmware": "qmk_firmware", - "ragenix": "ragenix", - "river_init_lesser": "river_init_lesser", - "rust-overlay": "rust-overlay", - "serverphone": "serverphone", - "shell_library": "shell_library", - "systems": "systems", - "templates": "templates", - "treefmt-nix": "treefmt-nix", - "user_js": "user_js" - } - }, - "rust-overlay": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738117527, - "narHash": "sha256-GFviGfaezjGLFUlxdv3zyC7rSZvTXqwcG/YsF6MDkOw=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "6a3dc6ce4132bd57359214d986db376f2333c14d", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "serverphone": { - "inputs": { - "crane": [ - "crane" - ], - "flake-compat": [ - "flake-compat" - ], - "flake-utils": [ - "flake-utils" - ], - "nixpkgs": [ - "nixpkgs" - ], - "rust-overlay": [ - "rust-overlay" - ], - "systems": [ - "systems" - ] - }, - "locked": { - "lastModified": 1697538431, - "narHash": "sha256-M2nQ9tuvt++ukXCdr4IhGqrQqpPpmjjlOZeAKjHQung=", - "ref": "refs/heads/prime", - "rev": "2ac6ef2b49f4a7b8b0490a068bc2dba6767f0b7d", - "revCount": 71, - "type": "git", - "url": "https://codeberg.org/vhack.eu/serverphone.git" - }, - "original": { - "type": "git", - "url": "https://codeberg.org/vhack.eu/serverphone.git" - } - }, - "shell_library": { - "inputs": { - "flake-utils": [ - "flake-utils" - ], - "flake_version_update": [ - "flake_version_update" - ], - "nixpkgs": [ - "nixpkgs" - ], - "systems": [ - "systems" - ] - }, - "locked": { - "lastModified": 1710519017, - "narHash": "sha256-7C7onkhZiLwzrrf9XfzHEOjht9FmZfGABPbzE8XOYoI=", - "ref": "refs/heads/prime", - "rev": "24713f56f30e755553cac9497258ebc5d73036dc", - "revCount": 180, - "type": "git", - "url": "https://codeberg.org/soispha/shell_library.git" - }, - "original": { - "type": "git", - "url": "https://codeberg.org/soispha/shell_library.git" - } - }, - "systems": { - "locked": { - "lastModified": 1680978846, - "narHash": "sha256-Gtqg8b/v49BFDpDetjclCYXm8mAnTrUzR0JnE2nv5aw=", - "owner": "nix-systems", - "repo": "x86_64-linux", - "rev": "2ecfcac5e15790ba6ce360ceccddb15ad16d08a8", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "x86_64-linux", - "type": "github" - } - }, - "templates": { - "inputs": { - "flake-utils": [ - "flake-utils" - ], - "nixpkgs": [ - "nixpkgs" - ], - "systems": [ - "systems" - ], - "treefmt-nix": [ - "treefmt-nix" - ] - }, - "locked": { - "lastModified": 1733053857, - "narHash": "sha256-rI1qMFzbXVjfEvmf2OS4upnibXpL21its6cCXqhz86o=", - "ref": "refs/heads/prime", - "rev": "0294fb03df7c265f8fae24a9e775d69a953bbf03", - "revCount": 204, - "type": "git", - "url": "https://codeberg.org/bpeetz/flake-templates.git" - }, - "original": { - "type": "git", - "url": "https://codeberg.org/bpeetz/flake-templates.git" - } - }, - "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738070913, - "narHash": "sha256-j6jC12vCFsTGDmY2u1H12lMr62fnclNjuCtAdF1a4Nk=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "bebf27d00f7d10ba75332a0541ac43676985dea3", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "user_js": { - "flake": false, - "locked": { - "lastModified": 1736708527, - "narHash": "sha256-/JQo2XnLF8qfSQKvjuFDtvzzz/QHO/dLBHJO4vLOXNk=", - "owner": "arkenfox", - "repo": "user.js", - "rev": "c25187332e19c633b956a6755a7971a6591d3e8d", - "type": "github" - }, - "original": { - "owner": "arkenfox", - "repo": "user.js", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} @@ -1,349 +1,102 @@ -# Copyright (C) 2024 Benedikt Peetz <benedikt.peetz@b-peetz.de> +# nixos-config - My current NixOS configuration # +# Copyright (C) 2024 Benedikt Peetz <benedikt.peetz@b-peetz.de> +# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de> # SPDX-License-Identifier: GPL-3.0-or-later +# +# This file is part of my nixos-config. +# +# You should have received a copy of the License along with this program. +# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>. { description = "A NixOS System Configuration"; - inputs = { - # base - nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-24.11"; - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - - # open nixpkgs prs - # FIXME: Close these PRs <2024-09-07> - nixpkgs-tfc.url = "github:soispha/nixpkgs/add-termfilechooser"; - nixpkgs-onlykey.url = "github:soispha/nixpkgs/fix-onlykey-agent"; - - library = { - url = "git+https://git.foss-syndicate.org/vhack.eu/nix-library?ref=prime"; - }; + inputs = {}; - # inputs for following - nix-darwin = { - url = "github:lnl7/nix-darwin"; - inputs = { - nixpkgs.follows = "nixpkgs"; - }; - }; - systems = { - url = "github:nix-systems/x86_64-linux"; # only evaluate for this system - }; - nuschtosSearch = { - url = "github:NuschtOS/search"; - inputs = { - flake-utils.follows = "flake-utils"; - nixpkgs.follows = "nixpkgs"; - }; - }; - git-hooks = { - url = "github:cachix/git-hooks.nix"; - inputs = { - flake-compat.follows = "flake-compat"; - gitignore.follows = "gitignore"; - nixpkgs.follows = "nixpkgs"; - }; - }; - poetry2nix = { - url = "github:nix-community/poetry2nix"; - inputs = { - systems.follows = "systems"; - nixpkgs.follows = "nixpkgs"; - flake-utils.follows = "flake-utils"; - treefmt-nix.follows = "treefmt-nix"; - }; - }; - flake-parts = { - url = "github:hercules-ci/flake-parts"; - inputs = { - nixpkgs-lib.follows = "nixpkgs-lib"; - }; - }; - nixpkgs-lib = { - url = "github:nix-community/nixpkgs.lib"; - }; - haumea = { - url = "github:nix-community/haumea"; - inputs = { - nixpkgs.follows = "nixpkgs"; - }; - }; - gitignore = { - url = "github:hercules-ci/gitignore.nix"; - inputs = { - nixpkgs.follows = "nixpkgs"; - }; - }; - beautysh = { - url = "github:lovesegfault/beautysh"; - inputs = { - nixpkgs.follows = "nixpkgs"; - poetry2nix.follows = "poetry2nix"; - utils.follows = "flake-utils"; - }; - }; - devshell = { - url = "github:numtide/devshell"; - inputs = { - nixpkgs.follows = "nixpkgs"; - }; - }; - pre-commit-hooks = { - url = "github:cachix/pre-commit-hooks.nix"; - inputs = { - nixpkgs.follows = "nixpkgs"; - flake-compat.follows = "flake-compat"; - gitignore.follows = "gitignore"; - }; - }; - flake-compat = { - url = "github:edolstra/flake-compat"; - flake = false; - }; - crane = { - url = "github:ipetkov/crane"; - inputs = {}; - }; - flake-utils = { - url = "github:numtide/flake-utils"; - inputs = { - systems.follows = "systems"; - }; - }; - rust-overlay = { - url = "github:oxalica/rust-overlay"; - inputs = { - nixpkgs.follows = "nixpkgs"; - }; - }; - flake_version_update = { - url = "git+https://codeberg.org/soispha/flake_version_update.git"; - inputs = { - systems.follows = "systems"; - nixpkgs.follows = "nixpkgs"; - flake-utils.follows = "flake-utils"; - }; - }; + outputs = {self, ...}: let + sources = import ./unflake.nix; - # nixos modules - home-manager = { - url = "github:nix-community/home-manager/master"; - inputs = { - nixpkgs.follows = "nixpkgs"; - }; - }; - disko = { - url = "github:nix-community/disko"; - inputs = { - nixpkgs.follows = "nixpkgs"; - }; - }; - nixVim = { - url = "github:nix-community/nixvim"; - inputs = { - devshell.follows = "devshell"; - flake-compat.follows = "flake-compat"; - flake-parts.follows = "flake-parts"; - git-hooks.follows = "git-hooks"; - home-manager.follows = "home-manager"; - nix-darwin.follows = "nix-darwin"; - nixpkgs.follows = "nixpkgs"; - treefmt-nix.follows = "treefmt-nix"; - nuschtosSearch.follows = "nuschtosSearch"; - }; - }; - agenix = { - url = "github:ryantm/agenix"; - inputs = { - darwin.follows = "nix-darwin"; - nixpkgs.follows = "nixpkgs"; - home-manager.follows = "home-manager"; - systems.follows = "systems"; - }; - }; - ragenix = { - url = "github:yaxitech/ragenix"; - inputs = { - nixpkgs.follows = "nixpkgs"; - agenix.follows = "agenix"; - flake-utils.follows = "flake-utils"; - rust-overlay.follows = "rust-overlay"; - crane.follows = "crane"; - }; - }; - impermanence = { - url = "github:nix-community/impermanence"; - inputs = { - }; - }; - nixos-generators = { - url = "github:nix-community/nixos-generators"; - inputs = { - nixpkgs.follows = "nixpkgs"; - nixlib.follows = "nixpkgs-lib"; - }; - }; - serverphone = { - url = "git+https://codeberg.org/vhack.eu/serverphone.git"; - inputs = { - nixpkgs.follows = "nixpkgs"; - systems.follows = "systems"; - flake-compat.follows = "flake-compat"; - flake-utils.follows = "flake-utils"; - rust-overlay.follows = "rust-overlay"; - crane.follows = "crane"; - }; - }; - lanzaboote = { - url = "github:nix-community/lanzaboote/v0.4.2"; - inputs = { - nixpkgs.follows = "nixpkgs-stable"; - flake-compat.follows = "flake-compat"; - flake-parts.follows = "flake-parts"; - crane.follows = "crane"; - rust-overlay.follows = "rust-overlay"; - pre-commit-hooks-nix.follows = "pre-commit-hooks"; - }; - }; - nix-index-database = { - url = "github:nix-community/nix-index-database"; - inputs = { - nixpkgs.follows = "nixpkgs"; - }; - }; - - # my configs - templates = { - url = "git+https://codeberg.org/bpeetz/flake-templates.git"; - inputs = { - nixpkgs.follows = "nixpkgs"; - flake-utils.follows = "flake-utils"; - systems.follows = "systems"; - treefmt-nix.follows = "treefmt-nix"; - }; - }; - - # my bins - shell_library = { - url = "git+https://codeberg.org/soispha/shell_library.git"; - inputs = { - nixpkgs.follows = "nixpkgs"; - flake-utils.follows = "flake-utils"; - systems.follows = "systems"; - flake_version_update.follows = "flake_version_update"; - }; - }; - river_init_lesser = { - url = "git+https://codeberg.org/soispha/river_keymap_init.git"; - inputs = { - nixpkgs.follows = "nixpkgs"; - crane.follows = "crane"; - flake-utils.follows = "flake-utils"; - rust-overlay.follows = "rust-overlay"; - flake-compat.follows = "flake-compat"; - }; - }; - qmk_firmware = { - url = "git+https://git.foss-syndicate.org/bpeetz/qmk_layout.git?ref=prime"; - inputs = { - nixpkgs.follows = "nixpkgs"; - treefmt-nix.follows = "treefmt-nix"; - systems.follows = "systems"; - flake-utils.follows = "flake-utils"; - }; - }; - - # external resources - user_js = { - url = "github:arkenfox/user.js"; - flake = false; - }; - treefmt-nix = { - url = "github:numtide/treefmt-nix"; - inputs = { - nixpkgs.follows = "nixpkgs"; - }; - }; - }; - - outputs = { # core - self, - nixpkgs, - nixpkgs-stable, - nixpkgs-tfc, - nixpkgs-onlykey, - library, + nixpkgs = sources.nixpkgs; + nixpkgs-stable = sources.nixpkgs-stable; + library = sources.library; # modules - home-manager, - nixos-generators, - impermanence, - agenix, - ragenix, - serverphone, - disko, - lanzaboote, - nixVim, - nix-index-database, + home-manager = sources.home-manager; + nixos-generators = sources.nixos-generators; + impermanence = sources.impermanence; + agenix = sources.agenix; + serverphone = sources.serverphone; + disko = sources.disko; + lanzaboote = sources.lanzaboote; + nixvim = sources.nixvim; + nix-index-database = sources.nix-index-database; # external dependencies - user_js, - treefmt-nix, - templates, + treefmt-nix = sources.treefmt-nix; + templates = sources.templates; # my binaries - shell_library, - river_init_lesser, - qmk_firmware, - ... - }: let + qmk_firmware = sources.qmk_firmware; + turtle = sources.turtle; + system = "x86_64-linux"; - sysLib = shell_library.lib.${system}; - inherit (library) nixLib; + packageSets = rec { + stable = nixpkgs-stable.legacyPackages.${system}; + unstable = nixpkgs.legacyPackages.${system}; - pkgsStable = nixpkgs-stable.legacyPackages.${system}; - pkgs = nixpkgs.legacyPackages.${system}; - myPkgs = import ./pkgs { - inherit sysLib pkgs nixLib; + soispha = import ./pkgs { + inherit libraries; + pkgs = unstable; + }; }; - nixpkgs_as_input = nixpkgs; - nixpkgs_open_prs = { - inherit - nixpkgs-tfc - nixpkgs-onlykey - ; + libraries = rec { + nix = packageSets.unstable.lib; + base = import ./lib {lib = nix;}; + extra = library.nixLib; }; - outputs = import ./flake { + modules = { inherit - # core - self - pkgs - pkgsStable - nixLib - myPkgs - system - sysLib - nixpkgs_as_input - nixpkgs_open_prs - # modules home-manager - nixVim + nixvim nixos-generators impermanence agenix - ragenix serverphone disko lanzaboote nix-index-database - # external dependencies + ; + }; + + externalDependencies = { + inherit treefmt-nix - user_js templates - # my binaries - shell_library - river_init_lesser + ; + }; + + externalBinaries = { + inherit qmk_firmware + turtle + ; + }; + + openPRsNixpkgs = {}; + + outputs = import ./flake { + inherit + self + sources + nixpkgs + system + openPRsNixpkgs + packageSets + libraries + modules + externalDependencies + externalBinaries ; }; in diff --git a/flake/apps/default.nix b/flake/apps/default.nix deleted file mode 100644 index f1709c71..00000000 --- a/flake/apps/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ - self, - system, - ... -}: { - install = { - type = "app"; - program = "${self.packages."${system}".install}/bin/install"; - }; - activate = { - type = "app"; - program = "${self.packages."${system}".activate}/bin/activate"; - }; - setup = { - type = "app"; - program = "${self.packages."${system}".setup}/bin/setup"; - }; - config_setup = { - type = "app"; - program = "${self.packages."${system}".config_setup}/bin/config_setup"; - }; - default = self.apps."${system}".activate; -} diff --git a/flake/default.nix b/flake/default.nix index be6d2b70..099a4568 100644 --- a/flake/default.nix +++ b/flake/default.nix @@ -1,83 +1,62 @@ +# nixos-config - My current NixOS configuration +# +# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de> +# SPDX-License-Identifier: GPL-3.0-or-later +# +# This file is part of my nixos-config. +# +# You should have received a copy of the License along with this program. +# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>. { - # core self, - pkgs, - pkgsStable, - nixLib, - myPkgs, + sources, + nixpkgs, system, - sysLib, - nixpkgs_as_input, - nixpkgs_open_prs, - # modules - home-manager, - nixVim, - nixos-generators, - impermanence, - agenix, - ragenix, - serverphone, - disko, - lanzaboote, - nix-index-database, - # external dependencies - user_js, - treefmt-nix, - templates, - # my binaries - shell_library, - river_init_lesser, - qmk_firmware, + openPRsNixpkgs, + packageSets, + libraries, + modules, + externalDependencies, + externalBinaries, }: let - treefmtEval = import ./treefmt.nix {inherit treefmt-nix pkgs;}; + # Unpack common stuff. + nixLib = libraries.extra; + pkgs = packageSets.unstable; - nixosConfigurations = import ./nixosConfigurations { + treefmtEval = import ./treefmt.nix { + inherit (externalDependencies) treefmt-nix; + inherit pkgs; + }; + + nixosConfigurations = import ../hosts { inherit self - pkgsStable - myPkgs + sources + nixpkgs system - nixpkgs_as_input - nixpkgs_open_prs - # my things - shell_library - sysLib - nixLib - templates - # modules - home-manager - nixVim - nixos-generators - impermanence - agenix - ragenix - serverphone - disko - lanzaboote - nix-index-database - # bins - river_init_lesser - qmk_firmware - # external - user_js + openPRsNixpkgs + packageSets + libraries + modules + externalDependencies + externalBinaries ; }; tests = import ../tests { - inherit pkgs nixpkgs_as_input myPkgs sysLib nixLib; + inherit pkgs nixLib openPRsNixpkgs system; + myPkgs = packageSets.soispha; inherit (pkgs) lib; extraModules = { - termfilechooser = "${nixpkgs_open_prs.nixpkgs-tfc}/nixos/modules/config/xdg/portals/termfilechooser.nix"; - nixvim = { - homeManagerModule = nixVim.homeManagerModules.nixvim; + homeManagerModule = modules.nixVim.homeModules.nixvim; }; - agenix = agenix.nixosModules.default; - disko = disko.nixosModules.default; - serverphone = serverphone.nixosModules.default; - inherit (home-manager.nixosModules) home-manager; - inherit (impermanence.nixosModules) impermanence; - inherit (lanzaboote.nixosModules) lanzaboote; + agenix = modules.agenix.nixosModules.default; + disko = modules.disko.nixosModules.default; + serverphone = modules.serverphone.nixosModules.default; + inherit (modules.home-manager.nixosModules) home-manager; + inherit (modules.impermanence.nixosModules) impermanence; + inherit (modules.lanzaboote.nixosModules) lanzaboote; }; }; in { @@ -96,22 +75,15 @@ in { packages."${system}" = import ./packages { inherit - nixos-generators pkgs - pkgsStable - myPkgs - sysLib - system - nixVim self - shell_library ; - inherit (pkgs) lib; + myPkgs = packageSets.soispha; }; formatter."${system}" = treefmtEval.config.build.wrapper; - apps."${system}" = import ./apps {inherit self system;}; + baseLib."${system}" = libraries.base; devShells."${system}" = { default = pkgs.mkShell { @@ -122,9 +94,11 @@ in { # other pkgs.cocogitto pkgs.git-bug + pkgs.reuse + pkgs.html2text # secrets - ragenix.packages."${system}".default + pkgs.ragenix pkgs.rage # shell @@ -136,11 +110,8 @@ in { # nix pkgs.alejandra - - # update - myPkgs.generate_moz_extension # needed for the firefox extension update script - myPkgs.lf-make-map # needed to generate the lf cd mappings - myPkgs.update-vim-plugins + pkgs.deadnix + pkgs.nvd ]; }; }; diff --git a/flake/nixosConfigurations/common.nix b/flake/nixosConfigurations/common.nix deleted file mode 100644 index 8071c6a9..00000000 --- a/flake/nixosConfigurations/common.nix +++ /dev/null @@ -1,122 +0,0 @@ -# This file contains common configuration applied to every host. -# It should only `enable` options defined in the `modules/by-name` directory. -{ - config, - pkgs, - ... -}: { - soispha = { - boot.enable = true; - cleanup.enable = true; - documentation.enable = true; - - fonts = { - enable = true; - enableEmoji = true; - }; - - home-manager.enable = true; - impermanence = { - enable = true; - - directories = [ - "/etc/nixos" - "/var/log" - "/var/lib/systemd" - "/var/lib/nixos" - ]; - }; - polkit.enable = true; - power.enable = true; - - services = { - adb = { - enable = true; - user = "soispha"; - }; - fwupd.enable = true; - mpd = { - enable = true; - directories = let - data = "${config.home-manager.users.soispha.xdg.dataHome}/mpd"; - in { - inherit data; - playlists = "${data}/playlists"; - runtime = "/run/user/${builtins.toString config.users.users.soispha.uid}/mpd"; - music = config.home-manager.users.soispha.programs.beets.settings.directory; - }; - mpc = { - enable = true; - beetsPkg = config.home-manager.users.soispha.programs.beets.package; - }; - }; - ollama.enable = false; - postgresql.enable = false; - printing.enable = true; - scanning.enable = true; - snapper.enable = true; - steam.enable = false; - systemDiff.enable = true; - unison = { - enable = true; - - foreign.userName = "soispha"; - dataDir = "${config.home-manager.users.soispha.xdg.dataHome}/unison"; - userSourceDir = "/srv/home/soispha"; - pathsToIgnore = let - extractTarget = attr: "~/${attr.target}"; - homeManagerSymlinks = - builtins.map extractTarget - (builtins.attrValues - config.home-manager.users.soispha.home.file); - in - [ - # already synchronized by the taskserver - "~/.local/share/task" - - # Should not be synchronized - "~/.local/share/unison" - - # Is just to big to be synchronized (# TODO: Work around that <2024-08-31> ) - "~/media/music" - ] - ++ homeManagerSymlinks; - - pathsToSync = [ - "~/.local/state/mpv" - "~/.local/state/nvim" - "~/.local/share" - "~/.local/.Trash-1000" - - "~/.mozilla/firefox" - - "~/media" - "~/school" - "~/repos" - ]; - }; - }; - - programs = { - nvim = { - enable = true; - shell = pkgs.zsh; - }; - atuin.enable = true; - direnv.enable = true; - git.enable = true; - imv.enable = true; - less.enable = true; - lf.enable = true; - river.enable = true; - taskwarrior.enable = true; - yambar.enable = true; - yt.enable = true; - zathura.enable = true; - zsh.enable = true; - }; - - sound.enable = true; - version.enable = true; - }; -} diff --git a/flake/nixosConfigurations/default.nix b/flake/nixosConfigurations/default.nix deleted file mode 100644 index b0a02580..00000000 --- a/flake/nixosConfigurations/default.nix +++ /dev/null @@ -1,91 +0,0 @@ -{ - self, - system, - pkgsStable, - myPkgs, - nixpkgs_as_input, - nixpkgs_open_prs, - # my things - shell_library, - sysLib, - nixLib, - templates, - # modules - home-manager, - nixVim, - nixos-generators, - impermanence, - agenix, - ragenix, - serverphone, - disko, - lanzaboote, - nix-index-database, - # bins - river_init_lesser, - qmk_firmware, - # external - user_js, -}: let - modules = [ - "${nixpkgs_open_prs.nixpkgs-tfc}/nixos/modules/config/xdg/portals/termfilechooser.nix" - - agenix.nixosModules.default - disko.nixosModules.default - home-manager.nixosModules.home-manager - impermanence.nixosModules.impermanence - lanzaboote.nixosModules.lanzaboote - serverphone.nixosModules.default - - ../../modules - ./common.nix - ]; - - specialArgs = { - inherit - # extra package sources - nixpkgs_open_prs - pkgsStable - myPkgs - shell_library - sysLib - nixLib - # extra information - system - # modules - impermanence - nix-index-database - nixVim - # nix registry - nixpkgs_as_input - self - templates - # bins - # TODO: Integrate these into `pkgs/by-name` <2024-05-22> - river_init_lesser - qmk_firmware - serverphone - # external deps - user_js - ; - }; - - generateHost = name: { - name = "${name}"; - value = nixpkgs_as_input.lib.nixosSystem { - inherit specialArgs; - modules = - [ - ../../hosts/${name} - ] - ++ modules; - }; - }; - - # FIXME: These need to stay in this position for the install script - hosts = ["tiamat" "apzu"]; - inactiveHosts = ["mammun" "lahmu"]; - - generatedHosts = builtins.listToAttrs (builtins.map generateHost hosts); -in - generatedHosts diff --git a/flake/packages/default.nix b/flake/packages/default.nix index a8fc2d64..9c67eda3 100644 --- a/flake/packages/default.nix +++ b/flake/packages/default.nix @@ -1,17 +1,19 @@ +# nixos-config - My current NixOS configuration +# +# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de> +# SPDX-License-Identifier: GPL-3.0-or-later +# +# This file is part of my nixos-config. +# +# You should have received a copy of the License along with this program. +# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>. { - self, - nixos-generators, pkgs, + self, myPkgs, - pkgsStable, - sysLib, - nixVim, - system, - shell_library, ... }: let inherit (pkgs) lib; - output = import ../../bootstrap {inherit pkgs sysLib;}; run_test_description = pkgs.callPackage ../../tests/infrastructure/run.nix {}; @@ -23,7 +25,10 @@ # NOTE: This is copied from `nixvim`, and could be achieved by setting # `config.wrapRc` to `true`. But I have yet to find a way to set this in this # context, but not in the general context. <2024-11-09> - wrapped = config.build.package.override (prev: { + # NOTE: I'm not sure why we need `nvimPackage` instead of just the `package` + # attribute here, but the bare `package` attribute does not provide a `override` + # function. <2025-02-02> + wrapped = config.build.nvimPackage.override (prev: { wrapperArgs = ( if lib.isString prev.wrapperArgs @@ -64,8 +69,6 @@ value) myPkgs ))); - - firefox = (import ../../modules/home.legacy/conf/firefox/scripts) {inherit pkgs sysLib;}; in { # install-iso = nixos-generators.nixosGenerate { @@ -77,8 +80,6 @@ in # format = "install-iso"; # }; - update_shell_lib = shell_library.packages."${system}".update_shell_library; - # gpg-iso = nixos-generators.nixosGenerate { # system = "x86_64-linux"; # specialArgs = defaultSpecialArgs; @@ -92,7 +93,5 @@ in nvim = nvim.tiamat; inherit run_test_description; } - // output // output_neovim - // firefox // myPkgsFlat diff --git a/flake/treefmt.nix b/flake/treefmt.nix index e2c6aeae..703a85e8 100644 --- a/flake/treefmt.nix +++ b/flake/treefmt.nix @@ -1,3 +1,12 @@ +# nixos-config - My current NixOS configuration +# +# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de> +# SPDX-License-Identifier: GPL-3.0-or-later +# +# This file is part of my nixos-config. +# +# You should have received a copy of the License along with this program. +# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>. { treefmt-nix, pkgs, |
