diff options
Diffstat (limited to '')
| -rw-r--r-- | flake.lock | 468 | ||||
| -rw-r--r-- | flake.lock.license | 9 | ||||
| -rw-r--r-- | flake.nix | 163 | ||||
| -rw-r--r-- | flake/apps/default.nix | 23 | ||||
| -rw-r--r-- | flake/default.nix | 124 | ||||
| -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 |
9 files changed, 319 insertions, 719 deletions
diff --git a/flake.lock b/flake.lock index c52bac02..d2cad25b 100644 --- a/flake.lock +++ b/flake.lock @@ -16,11 +16,11 @@ ] }, "locked": { - "lastModified": 1736955230, - "narHash": "sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA=", + "lastModified": 1762618334, + "narHash": "sha256-wyT7Pl6tMFbFrs8Lk/TlEs81N6L+VSybPfiIgzU8lbQ=", "owner": "ryantm", "repo": "agenix", - "rev": "e600439ec4c273cf11e06fe4d9d906fb98fa097c", + "rev": "fcdea223397448d35d9b31f798479227e80183f6", "type": "github" }, "original": { @@ -31,22 +31,31 @@ }, "beautysh": { "inputs": { + "flake-parts": [ + "flake-parts" + ], + "git-hooks-nix": [ + "git-hooks" + ], + "nix-github-actions": [ + "nix-github-actions" + ], "nixpkgs": [ "nixpkgs" ], - "poetry2nix": [ - "poetry2nix" + "pyproject-build-systems": "pyproject-build-systems", + "pyproject-nix": "pyproject-nix", + "treefmt-nix": [ + "treefmt-nix" ], - "utils": [ - "flake-utils" - ] + "uv2nix": "uv2nix" }, "locked": { - "lastModified": 1680308980, - "narHash": "sha256-aUEHV0jk2qIFP3jlsWYWhBbm+w/N9gzH3e4I5DcdB5s=", + "lastModified": 1764601770, + "narHash": "sha256-jM4ChpHM/YTr2YIL5uZ1j4K8SoSrQUSJed2g9Z9GbVY=", "owner": "lovesegfault", "repo": "beautysh", - "rev": "9845efc3ea3e86cc0d41465d720a47f521b2799c", + "rev": "18907582aeb81b3aa0457183f42e95e16ab68c92", "type": "github" }, "original": { @@ -57,11 +66,11 @@ }, "crane": { "locked": { - "lastModified": 1737689766, - "narHash": "sha256-ivVXYaYlShxYoKfSo5+y5930qMKKJ8CLcAoIBPQfJ6s=", + "lastModified": 1765145449, + "narHash": "sha256-aBVHGWWRzSpfL++LubA0CwOOQ64WNLegrYHwsVuVN7A=", "owner": "ipetkov", "repo": "crane", - "rev": "6fe74265bbb6d016d663b1091f015e2976c4a527", + "rev": "69f538cdce5955fcd47abfed4395dc6d5194c1c5", "type": "github" }, "original": { @@ -77,11 +86,11 @@ ] }, "locked": { - "lastModified": 1735644329, - "narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=", + "lastModified": 1764011051, + "narHash": "sha256-M7SZyPZiqZUR/EiiBJnmyUbOi5oE/03tCeFrTiUZchI=", "owner": "numtide", "repo": "devshell", - "rev": "f7795ede5b02664b57035b3b757876703e2c3eac", + "rev": "17ed8d9744ebe70424659b0ef74ad6d41fc87071", "type": "github" }, "original": { @@ -97,11 +106,11 @@ ] }, "locked": { - "lastModified": 1738148035, - "narHash": "sha256-KYOATYEwaKysL3HdHdS5kbQMXvzS4iPJzJrML+3TKAo=", + "lastModified": 1765326679, + "narHash": "sha256-fTLX9kDwLr9Y0rH/nG+h1XG5UU+jBcy0PFYn5eneRX8=", "owner": "nix-community", "repo": "disko", - "rev": "18d0a984cc2bc82cf61df19523a34ad463aa7f54", + "rev": "d64e5cdca35b5fad7c504f615357a7afe6d9c49e", "type": "github" }, "original": { @@ -113,11 +122,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "lastModified": 1765121682, + "narHash": "sha256-4VBOP18BFeiPkyhy9o4ssBNQEvfvv1kXkasAYd0+rrA=", "owner": "edolstra", "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "rev": "65f23138d8d09a92e30f1e5c87611b23ef451bf3", "type": "github" }, "original": { @@ -133,11 +142,11 @@ ] }, "locked": { - "lastModified": 1736143030, - "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", + "lastModified": 1763759067, + "narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", + "rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0", "type": "github" }, "original": { @@ -166,32 +175,6 @@ "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": [ @@ -205,11 +188,11 @@ ] }, "locked": { - "lastModified": 1737465171, - "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", + "lastModified": 1765016596, + "narHash": "sha256-rhSqPNxDVow7OQKi4qS5H8Au0P4S3AYbawBSmJNUtBQ=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", + "rev": "548fc44fca28a5e81c5d6b846e555e6b9c2a5a3c", "type": "github" }, "original": { @@ -225,11 +208,11 @@ ] }, "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "lastModified": 1762808025, + "narHash": "sha256-XmjITeZNMTQXGhhww6ed/Wacy2KzD6svioyCX7pkUu4=", "owner": "hercules-ci", "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "rev": "cb5e3fdca1de58ccbc3ef53de65bd372b48f567c", "type": "github" }, "original": { @@ -265,11 +248,11 @@ ] }, "locked": { - "lastModified": 1738145391, - "narHash": "sha256-/9mfbWYN9HDQbKa2HdAe2T5e3FfY8e4eqc1FIvAyvLg=", + "lastModified": 1765337252, + "narHash": "sha256-HuWQp8fM25fyWflbuunQkQI62Hg0ecJxWD52FAgmxqY=", "owner": "nix-community", "repo": "home-manager", - "rev": "1b4f2a48168b3d90e11365552d1e7e601a4be6b6", + "rev": "13cc1efd78b943b98c08d74c9060a5b59bf86921", "type": "github" }, "original": { @@ -306,16 +289,16 @@ ] }, "locked": { - "lastModified": 1729958008, - "narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=", + "lastModified": 1754860581, + "narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=", "owner": "NuschtOS", "repo": "ixx", - "rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb", + "rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281", "type": "github" }, "original": { "owner": "NuschtOS", - "ref": "v0.0.6", + "ref": "v0.1.1", "repo": "ixx", "type": "github" } @@ -325,16 +308,10 @@ "crane": [ "crane" ], - "flake-compat": [ - "flake-compat" - ], - "flake-parts": [ - "flake-parts" - ], "nixpkgs": [ "nixpkgs-stable" ], - "pre-commit-hooks-nix": [ + "pre-commit": [ "pre-commit-hooks" ], "rust-overlay": [ @@ -342,27 +319,27 @@ ] }, "locked": { - "lastModified": 1737639419, - "narHash": "sha256-AEEDktApTEZ5PZXNDkry2YV2k6t0dTgLPEmAZbnigXU=", + "lastModified": 1765382359, + "narHash": "sha256-RJmgVDzjRI18BWVogG6wpsl1UCuV6ui8qr4DJ1LfWZ8=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "a65905a09e2c43ff63be8c0e86a93712361f871e", + "rev": "e8c096ade12ec9130ff931b0f0e25d2f1bc63607", "type": "github" }, "original": { "owner": "nix-community", - "ref": "v0.4.2", + "ref": "v1.0.0", "repo": "lanzaboote", "type": "github" } }, "library": { "locked": { - "lastModified": 1738161079, - "narHash": "sha256-YDiu0DbtwOSo1GO3D9A0Q+dHzsYJ6pJ8ZYEkgmK1szI=", + "lastModified": 1738443114, + "narHash": "sha256-IV7n/l3rFoz5UuavrDv0a7IIOPne0jDQVmJAR8bve8U=", "ref": "prime", - "rev": "847a8167fe3b52c3b8e19017b31a97e12ad411ea", - "revCount": 16, + "rev": "65bf71bb6ef05ce684924a1dc248bb2e8e2869fb", + "revCount": 17, "type": "git", "url": "https://git.foss-syndicate.org/vhack.eu/nix-library" }, @@ -379,11 +356,11 @@ ] }, "locked": { - "lastModified": 1738033138, - "narHash": "sha256-qlIM8A3bdL9c6PexhpS+QyZLO9y/8a3V75HVyJgDE5Q=", + "lastModified": 1765065051, + "narHash": "sha256-b7W9WsvyMOkUScNxbzS45KEJp0iiqRPyJ1I3JBE+oEE=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "349a74c66c596ef97ee97b4d80a3ca61227b6120", + "rev": "7e22bf538aa3e0937effcb1cee73d5f1bcc26f79", "type": "github" }, "original": { @@ -395,16 +372,15 @@ "nix-github-actions": { "inputs": { "nixpkgs": [ - "poetry2nix", "nixpkgs" ] }, "locked": { - "lastModified": 1729742964, - "narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=", + "lastModified": 1737420293, + "narHash": "sha256-F1G5ifvqTpJq7fdkT34e/Jy9VCyzd5XfJ9TO8fHhJWE=", "owner": "nix-community", "repo": "nix-github-actions", - "rev": "e04df33f62cdcf93d73e9a04142464753a16db67", + "rev": "f4158fa080ef4503c8f4c820967d946c2af31ec9", "type": "github" }, "original": { @@ -420,11 +396,11 @@ ] }, "locked": { - "lastModified": 1737861961, - "narHash": "sha256-LIRtMvAwLGb8pBoamzgEF67oKlNPz4LuXiRPVZf+TpE=", + "lastModified": 1765267181, + "narHash": "sha256-d3NBA9zEtBu2JFMnTBqWj7Tmi7R5OikoU2ycrdhQEws=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "79b7b8eae3243fc5aa9aad34ba6b9bbb2266f523", + "rev": "82befcf7dc77c909b0f2a09f5da910ec95c5b78f", "type": "github" }, "original": { @@ -433,50 +409,6 @@ "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": [ @@ -487,11 +419,11 @@ ] }, "locked": { - "lastModified": 1737057290, - "narHash": "sha256-3Pe0yKlCc7EOeq1X/aJVDH0CtNL+tIBm49vpepwL1MQ=", + "lastModified": 1764234087, + "narHash": "sha256-NHF7QWa0ZPT8hsJrvijREW3+nifmF2rTXgS2v0tpcEA=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "d002ce9b6e7eb467cd1c6bb9aef9c35d191b5453", + "rev": "032a1878682fafe829edfcf5fdfad635a2efe748", "type": "github" }, "original": { @@ -502,27 +434,27 @@ }, "nixpkgs": { "locked": { - "lastModified": 1737885589, - "narHash": "sha256-Zf0hSrtzaM1DEz8//+Xs51k/wdSajticVrATqDrfQjg=", + "lastModified": 1765357816, + "narHash": "sha256-Uh7y3tL9SUzMjM8eO9CMqf30pPpa1i+P3asBijc32lY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "852ff1d9e153d8875a83602e03fdef8a63f0ecf8", + "rev": "004943ed3cf9de5805a0da377599d1bfdd47a98a", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixos-unstable-small", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-lib": { "locked": { - "lastModified": 1737853225, - "narHash": "sha256-ZqbbvE9MVNHxSObvAoqRExBsQpfz81u3Ry77agBJIyo=", + "lastModified": 1765070080, + "narHash": "sha256-5D1Mcm2dQ1aPzQ0sbXluHVUHququ8A7PKJd7M3eI9+E=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "31d08f4e55442d13eb8766b4d6852d9fb8292382", + "rev": "e0cad9791b0c168931ae562977703b72d9360836", "type": "github" }, "original": { @@ -531,51 +463,45 @@ "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=", + "lastModified": 1765838191, + "narHash": "sha256-m5KWt1nOm76ILk/JSCxBM4MfK3rYY7Wq9/TZIIeGnT8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2b4230bf03deb33103947e2528cac2ed516c5c89", + "rev": "c6f52ebd45e5925c188d1a20119978aa4ffd5ef6", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.11", + "ref": "nixos-25.11", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-tfc": { + "nixvim": { + "inputs": { + "flake-parts": [ + "flake-parts" + ], + "nixpkgs": [ + "nixpkgs" + ], + "systems": [ + "systems" + ] + }, "locked": { - "lastModified": 1723544577, - "narHash": "sha256-OclFNxcgAFCBQPSxCzy7mO/sB5TGzhe/JWmbUGVV7Lw=", - "owner": "soispha", - "repo": "nixpkgs", - "rev": "727bfcd1e1ffba0f4f58c9eea91087703025670a", + "lastModified": 1765291075, + "narHash": "sha256-tw7+BDZqn2vvpWbT3OYiumPevZP80dCGXpwdyYucoOs=", + "owner": "nix-community", + "repo": "nixvim", + "rev": "ba8f6d40b14e2ca14433334d0f5d23234c2ac025", "type": "github" }, "original": { - "owner": "soispha", - "ref": "add-termfilechooser", - "repo": "nixpkgs", + "owner": "nix-community", + "repo": "nixvim", "type": "github" } }, @@ -590,11 +516,11 @@ ] }, "locked": { - "lastModified": 1737924095, - "narHash": "sha256-9RO/IlxiE7bpY7GYsdDMNB533PnDOBo9UvYyXXqlN4c=", + "lastModified": 1761730856, + "narHash": "sha256-t1i5p/vSWwueZSC0Z2BImxx3BjoUDNKyC2mk24krcMY=", "owner": "NuschtOS", "repo": "search", - "rev": "5efc9c966bb9bdad07a3c28667eac38b758c6f18", + "rev": "e29de6db0cb3182e9aee75a3b1fd1919d995d85b", "type": "github" }, "original": { @@ -608,7 +534,9 @@ "flake-utils": [ "flake-utils" ], - "nix-github-actions": "nix-github-actions", + "nix-github-actions": [ + "nix-github-actions" + ], "nixpkgs": [ "nixpkgs" ], @@ -620,11 +548,11 @@ ] }, "locked": { - "lastModified": 1736884309, - "narHash": "sha256-eiCqmKl0BIRiYk5/ZhZozwn4/7Km9CWTbc15Cv+VX5k=", + "lastModified": 1743690424, + "narHash": "sha256-cX98bUuKuihOaRp8dNV1Mq7u6/CQZWTPth2IJPATBXc=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "75d0515332b7ca269f6d7abfd2c44c47a7cbca7b", + "rev": "ce2369db77f45688172384bbeb962bc6c2ea6f94", "type": "github" }, "original": { @@ -646,11 +574,11 @@ ] }, "locked": { - "lastModified": 1737465171, - "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", + "lastModified": 1765016596, + "narHash": "sha256-rhSqPNxDVow7OQKi4qS5H8Au0P4S3AYbawBSmJNUtBQ=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", + "rev": "548fc44fca28a5e81c5d6b846e555e6b9c2a5a3c", "type": "github" }, "original": { @@ -659,98 +587,84 @@ "type": "github" } }, - "qmk_firmware": { + "pyproject-build-systems": { "inputs": { - "flake-utils": [ - "flake-utils" - ], "nixpkgs": [ + "beautysh", "nixpkgs" ], - "systems": [ - "systems" + "pyproject-nix": [ + "beautysh", + "pyproject-nix" ], - "treefmt-nix": [ - "treefmt-nix" + "uv2nix": [ + "beautysh", + "uv2nix" ] }, "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" + "lastModified": 1763662255, + "narHash": "sha256-4bocaOyLa3AfiS8KrWjZQYu+IAta05u3gYZzZ6zXbT0=", + "owner": "pyproject-nix", + "repo": "build-system-pkgs", + "rev": "042904167604c681a090c07eb6967b4dd4dae88c", + "type": "github" }, "original": { - "ref": "prime", - "type": "git", - "url": "https://git.foss-syndicate.org/bpeetz/qmk_layout.git" + "owner": "pyproject-nix", + "repo": "build-system-pkgs", + "type": "github" } }, - "ragenix": { + "pyproject-nix": { "inputs": { - "agenix": [ - "agenix" - ], - "crane": [ - "crane" - ], - "flake-utils": [ - "flake-utils" - ], "nixpkgs": [ + "beautysh", "nixpkgs" - ], - "rust-overlay": [ - "rust-overlay" ] }, "locked": { - "lastModified": 1726755133, - "narHash": "sha256-03XIEjHeZEjHXctsXYUB+ZLQmM0WuhR6qWQjwekFk/M=", - "owner": "yaxitech", - "repo": "ragenix", - "rev": "687ee92114bce9c4724376cf6b21235abe880bfa", + "lastModified": 1764134915, + "narHash": "sha256-xaKvtPx6YAnA3HQVp5LwyYG1MaN4LLehpQI8xEdBvBY=", + "owner": "pyproject-nix", + "repo": "pyproject.nix", + "rev": "2c8df1383b32e5443c921f61224b198a2282a657", "type": "github" }, "original": { - "owner": "yaxitech", - "repo": "ragenix", + "owner": "pyproject-nix", + "repo": "pyproject.nix", "type": "github" } }, - "river_init_lesser": { + "qmk_firmware": { "inputs": { - "crane": [ - "crane" - ], - "flake-compat": [ - "flake-compat" - ], "flake-utils": [ "flake-utils" ], "nixpkgs": [ "nixpkgs" ], - "rust-overlay": [ - "rust-overlay" + "systems": [ + "systems" + ], + "treefmt-nix": [ + "treefmt-nix" ] }, "locked": { - "lastModified": 1683353540, - "narHash": "sha256-tOf9gfFzWjZxIF/2BAU64aH55xfic6SapKsFqVn6U/8=", - "ref": "refs/heads/prime", - "rev": "aedd2bf8863802443d7b6df94646c239d67b2796", - "revCount": 10, + "lastModified": 1753517111, + "narHash": "sha256-dv5P3ahDICDacdzEmcyxrtKgbRWhVFiKQaLEz+WniGM=", + "ref": "prime", + "rev": "4dff2e6ba5c9c80de3e3d2213ad28802814c3bba", + "revCount": 39, "type": "git", - "url": "https://codeberg.org/soispha/river_keymap_init.git" + "url": "https://git.foss-syndicate.org/bpeetz/qmk_layout.git" }, "original": { + "ref": "prime", "type": "git", - "url": "https://codeberg.org/soispha/river_keymap_init.git" + "url": "https://git.foss-syndicate.org/bpeetz/qmk_layout.git" } }, "root": { @@ -763,7 +677,6 @@ "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", @@ -772,27 +685,22 @@ "lanzaboote": "lanzaboote", "library": "library", "nix-darwin": "nix-darwin", + "nix-github-actions": "nix-github-actions", "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", + "nixvim": "nixvim", "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" + "treefmt-nix": "treefmt-nix" } }, "rust-overlay": { @@ -802,11 +710,11 @@ ] }, "locked": { - "lastModified": 1738117527, - "narHash": "sha256-GFviGfaezjGLFUlxdv3zyC7rSZvTXqwcG/YsF6MDkOw=", + "lastModified": 1765334520, + "narHash": "sha256-jTof2+ir9UPmv4lWksYO6WbaXCC0nsDExrB9KZj7Dz4=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "6a3dc6ce4132bd57359214d986db376f2333c14d", + "rev": "db61f666aea93b28f644861fbddd37f235cc5983", "type": "github" }, "original": { @@ -850,35 +758,6 @@ "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, @@ -930,11 +809,11 @@ ] }, "locked": { - "lastModified": 1738070913, - "narHash": "sha256-j6jC12vCFsTGDmY2u1H12lMr62fnclNjuCtAdF1a4Nk=", + "lastModified": 1762938485, + "narHash": "sha256-AlEObg0syDl+Spi4LsZIBrjw+snSVU4T8MOeuZJUJjM=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "bebf27d00f7d10ba75332a0541ac43676985dea3", + "rev": "5b4ee75aeefd1e2d5a1cc43cf6ba65eba75e83e4", "type": "github" }, "original": { @@ -943,19 +822,28 @@ "type": "github" } }, - "user_js": { - "flake": false, + "uv2nix": { + "inputs": { + "nixpkgs": [ + "beautysh", + "nixpkgs" + ], + "pyproject-nix": [ + "beautysh", + "pyproject-nix" + ] + }, "locked": { - "lastModified": 1736708527, - "narHash": "sha256-/JQo2XnLF8qfSQKvjuFDtvzzz/QHO/dLBHJO4vLOXNk=", - "owner": "arkenfox", - "repo": "user.js", - "rev": "c25187332e19c633b956a6755a7971a6591d3e8d", + "lastModified": 1764546642, + "narHash": "sha256-pCzgOjGEZyH7xKmpckdJzWyO0kvTIlaTK+ed/wguv5Y=", + "owner": "pyproject-nix", + "repo": "uv2nix", + "rev": "0c56de7543459a23d0ebb7977fd555ced5d842ae", "type": "github" }, "original": { - "owner": "arkenfox", - "repo": "user.js", + "owner": "pyproject-nix", + "repo": "uv2nix", "type": "github" } } diff --git a/flake.lock.license b/flake.lock.license new file mode 100644 index 00000000..eae6a84c --- /dev/null +++ b/flake.lock.license @@ -0,0 +1,9 @@ +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>. diff --git a/flake.nix b/flake.nix index d8e38f34..73ddc175 100644 --- a/flake.nix +++ b/flake.nix @@ -1,18 +1,22 @@ -# 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"; + nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.11"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small"; # 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"; @@ -35,6 +39,12 @@ nixpkgs.follows = "nixpkgs"; }; }; + nix-github-actions = { + url = "github:nix-community/nix-github-actions"; + inputs = { + nixpkgs.follows = "nixpkgs"; + }; + }; git-hooks = { url = "github:cachix/git-hooks.nix"; inputs = { @@ -50,6 +60,7 @@ nixpkgs.follows = "nixpkgs"; flake-utils.follows = "flake-utils"; treefmt-nix.follows = "treefmt-nix"; + nix-github-actions.follows = "nix-github-actions"; }; }; flake-parts = { @@ -77,8 +88,10 @@ url = "github:lovesegfault/beautysh"; inputs = { nixpkgs.follows = "nixpkgs"; - poetry2nix.follows = "poetry2nix"; - utils.follows = "flake-utils"; + flake-parts.follows = "flake-parts"; + git-hooks-nix.follows = "git-hooks"; + treefmt-nix.follows = "treefmt-nix"; + nix-github-actions.follows = "nix-github-actions"; }; }; devshell = { @@ -115,14 +128,6 @@ 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"; - }; - }; # nixos modules home-manager = { @@ -137,18 +142,12 @@ nixpkgs.follows = "nixpkgs"; }; }; - nixVim = { + 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"; + systems.follows = "systems"; }; }; agenix = { @@ -160,16 +159,6 @@ 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 = { @@ -194,14 +183,12 @@ }; }; lanzaboote = { - url = "github:nix-community/lanzaboote/v0.4.2"; + url = "github:nix-community/lanzaboote/v1.0.0"; 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"; + pre-commit.follows = "pre-commit-hooks"; }; }; nix-index-database = { @@ -223,25 +210,6 @@ }; # 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 = { @@ -253,10 +221,6 @@ }; # external resources - user_js = { - url = "github:arkenfox/user.js"; - flake = false; - }; treefmt-nix = { url = "github:numtide/treefmt-nix"; inputs = { @@ -270,82 +234,83 @@ self, nixpkgs, nixpkgs-stable, - nixpkgs-tfc, - nixpkgs-onlykey, library, # modules home-manager, nixos-generators, impermanence, agenix, - ragenix, serverphone, disko, lanzaboote, - nixVim, + nixvim, nix-index-database, # external dependencies - user_js, treefmt-nix, templates, # my binaries - shell_library, - river_init_lesser, qmk_firmware, ... }: let 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 ; }; + + openPRsNixpkgs = {}; + + outputs = import ./flake { + inherit + self + system + openPRsNixpkgs + packageSets + libraries + modules + externalDependencies + externalBinaries + ; + }; in outputs; } 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..83138f32 100644 --- a/flake/default.nix +++ b/flake/default.nix @@ -1,83 +1,58 @@ +# 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, 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 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 +71,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 +90,10 @@ in { # other pkgs.cocogitto pkgs.git-bug + pkgs.reuse # secrets - ragenix.packages."${system}".default + pkgs.ragenix pkgs.rage # shell @@ -136,11 +105,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, |
