diff --git a/flake.lock b/flake.lock
index e24930a..072bb06 100644
--- a/flake.lock
+++ b/flake.lock
@@ -864,15 +864,15 @@
"nixpkgs": "nixpkgs_11"
},
"locked": {
- "lastModified": 1752372167,
- "narHash": "sha256-xI8GUvFtgbE9AXRwh3korfSrm/lWBJmLXQFTLi7lL8E=",
- "owner": "nvmd",
+ "lastModified": 1753141210,
+ "narHash": "sha256-yV7+cv0q5XL7uv9gvSG7R0jktgXgB+forv3c7TfY2T8=",
+ "owner": "mjallen18",
"repo": "nixos-raspberrypi",
- "rev": "fa7959822f0c4d14c5bd287017aa903a264025a5",
+ "rev": "e0f487998cb4409408f03e019c71c21011edb84c",
"type": "github"
},
"original": {
- "owner": "nvmd",
+ "owner": "mjallen18",
"repo": "nixos-raspberrypi",
"type": "github"
}
diff --git a/flake.lock.ori b/flake.lock.ori
deleted file mode 100755
index 433d432..0000000
--- a/flake.lock.ori
+++ /dev/null
@@ -1,2739 +0,0 @@
-{
- "nodes": {
- "argononed": {
- "flake": false,
- "locked": {
- "lastModified": 1729566243,
- "narHash": "sha256-DPNI0Dpk5aym3Baf5UbEe5GENDrSmmXVdriRSWE+rgk=",
- "owner": "nvmd",
- "repo": "argononed",
- "rev": "16dbee54d49b66d5654d228d1061246b440ef7cf",
- "type": "github"
- },
- "original": {
- "owner": "nvmd",
- "repo": "argononed",
- "type": "github"
- }
- },
- "authentik-src": {
- "flake": false,
- "locked": {
- "lastModified": 1751031262,
- "narHash": "sha256-SNgRMQUjL3DTlWkMyRMan+pY1FfIV+DMeq5BiTM0N0k=",
- "owner": "goauthentik",
- "repo": "authentik",
- "rev": "b34665fabd8d938d81ce871a4e86ca528c5f253b",
- "type": "github"
- },
- "original": {
- "owner": "goauthentik",
- "ref": "version/2025.4.3",
- "repo": "authentik",
- "type": "github"
- }
- },
- "brew-src": {
- "flake": false,
- "locked": {
- "lastModified": 1751910772,
- "narHash": "sha256-jQNdIkq2iRDNWskd5f8kX6q9BO/CBSXhMH41WNRft8E=",
- "owner": "Homebrew",
- "repo": "brew",
- "rev": "700d67a85e0129ab8a893ff69246943479e33df1",
- "type": "github"
- },
- "original": {
- "owner": "Homebrew",
- "ref": "4.5.9",
- "repo": "brew",
- "type": "github"
- }
- },
- "crane": {
- "locked": {
- "lastModified": 1731098351,
- "narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=",
- "owner": "ipetkov",
- "repo": "crane",
- "rev": "ef80ead953c1b28316cc3f8613904edc2eb90c28",
- "type": "github"
- },
- "original": {
- "owner": "ipetkov",
- "repo": "crane",
- "type": "github"
- }
- },
- "crane_2": {
- "locked": {
- "lastModified": 1731098351,
- "narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=",
- "owner": "ipetkov",
- "repo": "crane",
- "rev": "ef80ead953c1b28316cc3f8613904edc2eb90c28",
- "type": "github"
- },
- "original": {
- "owner": "ipetkov",
- "repo": "crane",
- "type": "github"
- }
- },
- "crane_3": {
- "locked": {
- "lastModified": 1731098351,
- "narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=",
- "owner": "ipetkov",
- "repo": "crane",
- "rev": "ef80ead953c1b28316cc3f8613904edc2eb90c28",
- "type": "github"
- },
- "original": {
- "owner": "ipetkov",
- "repo": "crane",
- "type": "github"
- }
- },
- "crane_4": {
- "locked": {
- "lastModified": 1731098351,
- "narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=",
- "owner": "ipetkov",
- "repo": "crane",
- "rev": "ef80ead953c1b28316cc3f8613904edc2eb90c28",
- "type": "github"
- },
- "original": {
- "owner": "ipetkov",
- "repo": "crane",
- "type": "github"
- }
- },
- "desktop-chaotic": {
- "inputs": {
- "flake-schemas": "flake-schemas",
- "home-manager": "home-manager",
- "jovian": "jovian",
- "nixpkgs": "nixpkgs",
- "rust-overlay": "rust-overlay"
- },
- "locked": {
- "lastModified": 1751333492,
- "narHash": "sha256-ePQTd+GHFiFK2bxmZm3aiWlhyTwbpasjmc+kuM0nxeg=",
- "owner": "chaotic-cx",
- "repo": "nyx",
- "rev": "d107b2c87bf7446959668fcc22b2b09b37b27cf3",
- "type": "github"
- },
- "original": {
- "owner": "chaotic-cx",
- "ref": "nyxpkgs-unstable",
- "repo": "nyx",
- "type": "github"
- }
- },
- "desktop-cosmic": {
- "inputs": {
- "flake-compat": "flake-compat",
- "nixpkgs": [
- "desktop-nixpkgs"
- ],
- "nixpkgs-stable": "nixpkgs-stable",
- "rust-overlay": "rust-overlay_2"
- },
- "locked": {
- "lastModified": 1749121763,
- "narHash": "sha256-TVFiyMBs+3KEzZVwf/n1zedUWzPrMPzud/2Jiho8dcE=",
- "owner": "lilyinstarlight",
- "repo": "nixos-cosmic",
- "rev": "c89df80b72b4e1802fd91a35f4857868c953c1c0",
- "type": "github"
- },
- "original": {
- "owner": "lilyinstarlight",
- "repo": "nixos-cosmic",
- "type": "github"
- }
- },
- "desktop-home-manager": {
- "inputs": {
- "nixpkgs": [
- "desktop-nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1751336185,
- "narHash": "sha256-ptnVr2x+sl7cZcTuGx/0BOE2qCAIYHTcgfA+/h60ml0=",
- "owner": "nix-community",
- "repo": "home-manager",
- "rev": "96354906f58464605ff81d2f6c2ea23211cbf051",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "home-manager",
- "type": "github"
- }
- },
- "desktop-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"
- }
- },
- "desktop-lanzaboote": {
- "inputs": {
- "crane": "crane",
- "flake-compat": "flake-compat_2",
- "flake-parts": "flake-parts",
- "nixpkgs": [
- "desktop-nixpkgs"
- ],
- "pre-commit-hooks-nix": "pre-commit-hooks-nix",
- "rust-overlay": "rust-overlay_3"
- },
- "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"
- }
- },
- "desktop-nix-vscode-extensions": {
- "inputs": {
- "flake-utils": "flake-utils",
- "nixpkgs": "nixpkgs_2"
- },
- "locked": {
- "lastModified": 1752373577,
- "narHash": "sha256-5ipIQ1dp4qLfgVOBRU3NqnESjF6CqD/HQVYlEXC4P0s=",
- "owner": "nix-community",
- "repo": "nix-vscode-extensions",
- "rev": "b8780c4b346250b6e86a7127dbe5e43a4bb394eb",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "nix-vscode-extensions",
- "type": "github"
- }
- },
- "desktop-nixos-hardware": {
- "locked": {
- "lastModified": 1750837715,
- "narHash": "sha256-2m1ceZjbmgrJCZ2PuQZaK4in3gcg3o6rZ7WK6dr5vAA=",
- "owner": "NixOS",
- "repo": "nixos-hardware",
- "rev": "98236410ea0fe204d0447149537a924fb71a6d4f",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "master",
- "repo": "nixos-hardware",
- "type": "github"
- }
- },
- "desktop-nixpkgs": {
- "locked": {
- "lastModified": 1751271578,
- "narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixos-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "desktop-sops-nix": {
- "inputs": {
- "nixpkgs": [
- "desktop-nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1750119275,
- "narHash": "sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M=",
- "owner": "Mic92",
- "repo": "sops-nix",
- "rev": "77c423a03b9b2b79709ea2cb63336312e78b72e2",
- "type": "github"
- },
- "original": {
- "owner": "Mic92",
- "repo": "sops-nix",
- "type": "github"
- }
- },
- "desktop-steam-rom-manager": {
- "inputs": {
- "home-manager": [
- "desktop-home-manager"
- ],
- "nixpkgs": [
- "desktop-nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1740436018,
- "narHash": "sha256-mblKQD3IFyVLN3dw7T7/qsXt1Vw7zu5Ky1rJcLu5Qeg=",
- "owner": "mjallen18",
- "repo": "nix-steam-rom-manager",
- "rev": "5c0875d5942b8a1928d53a642b43a49a3c7636ea",
- "type": "github"
- },
- "original": {
- "owner": "mjallen18",
- "repo": "nix-steam-rom-manager",
- "type": "github"
- }
- },
- "flake-compat": {
- "flake": false,
- "locked": {
- "lastModified": 1746162366,
- "narHash": "sha256-5SSSZ/oQkwfcAz/o/6TlejlVGqeK08wyREBQ5qFFPhM=",
- "owner": "nix-community",
- "repo": "flake-compat",
- "rev": "0f158086a2ecdbb138cd0429410e44994f1b7e4b",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "flake-compat",
- "type": "github"
- }
- },
- "flake-compat_2": {
- "flake": false,
- "locked": {
- "lastModified": 1696426674,
- "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
- "owner": "edolstra",
- "repo": "flake-compat",
- "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
- "type": "github"
- },
- "original": {
- "owner": "edolstra",
- "repo": "flake-compat",
- "type": "github"
- }
- },
- "flake-compat_3": {
- "locked": {
- "lastModified": 1688025799,
- "narHash": "sha256-ktpB4dRtnksm9F5WawoIkEneh1nrEvuxb5lJFt1iOyw=",
- "owner": "nix-community",
- "repo": "flake-compat",
- "rev": "8bf105319d44f6b9f0d764efa4fdef9f1cc9ba1c",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "flake-compat",
- "type": "github"
- }
- },
- "flake-compat_4": {
- "flake": false,
- "locked": {
- "lastModified": 1747046372,
- "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
- "owner": "edolstra",
- "repo": "flake-compat",
- "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
- "type": "github"
- },
- "original": {
- "owner": "edolstra",
- "repo": "flake-compat",
- "type": "github"
- }
- },
- "flake-compat_5": {
- "flake": false,
- "locked": {
- "lastModified": 1746162366,
- "narHash": "sha256-5SSSZ/oQkwfcAz/o/6TlejlVGqeK08wyREBQ5qFFPhM=",
- "owner": "nix-community",
- "repo": "flake-compat",
- "rev": "0f158086a2ecdbb138cd0429410e44994f1b7e4b",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "flake-compat",
- "type": "github"
- }
- },
- "flake-compat_6": {
- "flake": false,
- "locked": {
- "lastModified": 1696426674,
- "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
- "owner": "edolstra",
- "repo": "flake-compat",
- "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
- "type": "github"
- },
- "original": {
- "owner": "edolstra",
- "repo": "flake-compat",
- "type": "github"
- }
- },
- "flake-compat_7": {
- "flake": false,
- "locked": {
- "lastModified": 1696426674,
- "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
- "owner": "edolstra",
- "repo": "flake-compat",
- "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
- "type": "github"
- },
- "original": {
- "owner": "edolstra",
- "repo": "flake-compat",
- "type": "github"
- }
- },
- "flake-compat_8": {
- "flake": false,
- "locked": {
- "lastModified": 1746162366,
- "narHash": "sha256-5SSSZ/oQkwfcAz/o/6TlejlVGqeK08wyREBQ5qFFPhM=",
- "owner": "nix-community",
- "repo": "flake-compat",
- "rev": "0f158086a2ecdbb138cd0429410e44994f1b7e4b",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "flake-compat",
- "type": "github"
- }
- },
- "flake-compat_9": {
- "flake": false,
- "locked": {
- "lastModified": 1696426674,
- "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
- "owner": "edolstra",
- "repo": "flake-compat",
- "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
- "type": "github"
- },
- "original": {
- "owner": "edolstra",
- "repo": "flake-compat",
- "type": "github"
- }
- },
- "flake-parts": {
- "inputs": {
- "nixpkgs-lib": [
- "desktop-lanzaboote",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1730504689,
- "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "rev": "506278e768c2a08bec68eb62932193e341f55c90",
- "type": "github"
- },
- "original": {
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "type": "github"
- }
- },
- "flake-parts_2": {
- "inputs": {
- "nixpkgs-lib": "nixpkgs-lib"
- },
- "locked": {
- "lastModified": 1749398372,
- "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
- "type": "github"
- },
- "original": {
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "type": "github"
- }
- },
- "flake-parts_3": {
- "inputs": {
- "nixpkgs-lib": [
- "nas-lanzaboote",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1730504689,
- "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "rev": "506278e768c2a08bec68eb62932193e341f55c90",
- "type": "github"
- },
- "original": {
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "type": "github"
- }
- },
- "flake-parts_4": {
- "inputs": {
- "nixpkgs-lib": [
- "nuc-lanzaboote",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1730504689,
- "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "rev": "506278e768c2a08bec68eb62932193e341f55c90",
- "type": "github"
- },
- "original": {
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "type": "github"
- }
- },
- "flake-parts_5": {
- "inputs": {
- "nixpkgs-lib": [
- "steamdeck-lanzaboote",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1730504689,
- "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "rev": "506278e768c2a08bec68eb62932193e341f55c90",
- "type": "github"
- },
- "original": {
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "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-schemas_2": {
- "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"
- },
- "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-utils_2": {
- "inputs": {
- "systems": [
- "nas-authentik-nix",
- "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-utils_3": {
- "inputs": {
- "systems": "systems_3"
- },
- "locked": {
- "lastModified": 1731533236,
- "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
- "owner": "numtide",
- "repo": "flake-utils",
- "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
- "type": "github"
- },
- "original": {
- "id": "flake-utils",
- "type": "indirect"
- }
- },
- "flake-utils_4": {
- "inputs": {
- "systems": "systems_4"
- },
- "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-utils_5": {
- "inputs": {
- "systems": "systems_5"
- },
- "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"
- }
- },
- "gitignore": {
- "inputs": {
- "nixpkgs": [
- "desktop-lanzaboote",
- "pre-commit-hooks-nix",
- "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"
- }
- },
- "gitignore_2": {
- "inputs": {
- "nixpkgs": [
- "nas-lanzaboote",
- "pre-commit-hooks-nix",
- "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"
- }
- },
- "gitignore_3": {
- "inputs": {
- "nixpkgs": [
- "nuc-lanzaboote",
- "pre-commit-hooks-nix",
- "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"
- }
- },
- "gitignore_4": {
- "inputs": {
- "nixpkgs": [
- "steamdeck-lanzaboote",
- "pre-commit-hooks-nix",
- "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"
- }
- },
- "home-manager": {
- "inputs": {
- "nixpkgs": [
- "desktop-chaotic",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1751238753,
- "narHash": "sha256-hJUPWfz/h+QgXKaKovPwFAdNBnALsvVMggAPgBB+Qvw=",
- "owner": "nix-community",
- "repo": "home-manager",
- "rev": "cab8104e9236fab1eb9a702165454ffed353c20f",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "home-manager",
- "type": "github"
- }
- },
- "home-manager_2": {
- "inputs": {
- "nixpkgs": [
- "steamdeck-chaotic",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1751824240,
- "narHash": "sha256-aDDC0CHTlL7QDKWWhdbEgVPK6KwWt+ca0QkmHYZxMzI=",
- "owner": "nix-community",
- "repo": "home-manager",
- "rev": "fd9e55f5fac45a26f6169310afca64d56b681935",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "home-manager",
- "type": "github"
- }
- },
- "homebrew-cask": {
- "flake": false,
- "locked": {
- "lastModified": 1752451414,
- "narHash": "sha256-XNUBW6GZOWG8kJrju3MIf5GCbNhUA24rArCS/IIkpEE=",
- "owner": "homebrew",
- "repo": "homebrew-cask",
- "rev": "68607571486a0c82a71e0a4c8c8ce8de77164522",
- "type": "github"
- },
- "original": {
- "owner": "homebrew",
- "repo": "homebrew-cask",
- "type": "github"
- }
- },
- "homebrew-core": {
- "flake": false,
- "locked": {
- "lastModified": 1752438625,
- "narHash": "sha256-oKbf2JYEevxOJ55+z9t1R1mZDPAA4o3QWKGqgLfambk=",
- "owner": "homebrew",
- "repo": "homebrew-core",
- "rev": "dd264970344897aa005931dec441fa46cbaf0b2c",
- "type": "github"
- },
- "original": {
- "owner": "homebrew",
- "repo": "homebrew-core",
- "type": "github"
- }
- },
- "jovian": {
- "inputs": {
- "nix-github-actions": "nix-github-actions",
- "nixpkgs": [
- "desktop-chaotic",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1750403547,
- "narHash": "sha256-XDDINMbHTtKQeSRpX5mwq20z23Wg/I/G4JUinA3V8Xg=",
- "owner": "Jovian-Experiments",
- "repo": "Jovian-NixOS",
- "rev": "52b86b86d925ec00c836ecc6d36f9c947bb15736",
- "type": "github"
- },
- "original": {
- "owner": "Jovian-Experiments",
- "repo": "Jovian-NixOS",
- "type": "github"
- }
- },
- "jovian_2": {
- "inputs": {
- "nix-github-actions": "nix-github-actions_2",
- "nixpkgs": [
- "steamdeck-chaotic",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1751529406,
- "narHash": "sha256-jwKDHyUycp678zDYa5Hyfq3msO73YMXdZPxp96dU7po=",
- "owner": "Jovian-Experiments",
- "repo": "Jovian-NixOS",
- "rev": "b2e5ce654e4f5bf8905c2e07a96dcf4966e6277d",
- "type": "github"
- },
- "original": {
- "owner": "Jovian-Experiments",
- "repo": "Jovian-NixOS",
- "type": "github"
- }
- },
- "mac-home-manager": {
- "inputs": {
- "nixpkgs": [
- "mac-nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1751824240,
- "narHash": "sha256-aDDC0CHTlL7QDKWWhdbEgVPK6KwWt+ca0QkmHYZxMzI=",
- "owner": "nix-community",
- "repo": "home-manager",
- "rev": "fd9e55f5fac45a26f6169310afca64d56b681935",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "home-manager",
- "type": "github"
- }
- },
- "mac-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"
- }
- },
- "mac-nixos-apple-silicon": {
- "inputs": {
- "flake-compat": "flake-compat_3",
- "nixpkgs": "nixpkgs_3"
- },
- "locked": {
- "lastModified": 1751622568,
- "narHash": "sha256-EE3NBsej517VRa1x+ylAghrvngftxf1KgfHlE9OYyXE=",
- "owner": "nix-community",
- "repo": "nixos-apple-silicon",
- "rev": "eba4b40c816e5aff8951ae231ac237e8aab8ec1d",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "nixos-apple-silicon",
- "type": "github"
- }
- },
- "mac-nixpkgs": {
- "locked": {
- "lastModified": 1751792365,
- "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixos-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "mac-sops-nix": {
- "inputs": {
- "nixpkgs": [
- "mac-nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1751606940,
- "narHash": "sha256-KrDPXobG7DFKTOteqdSVeL1bMVitDcy7otpVZWDE6MA=",
- "owner": "Mic92",
- "repo": "sops-nix",
- "rev": "3633fc4acf03f43b260244d94c71e9e14a2f6e0d",
- "type": "github"
- },
- "original": {
- "owner": "Mic92",
- "repo": "sops-nix",
- "type": "github"
- }
- },
- "napalm": {
- "inputs": {
- "flake-utils": [
- "nas-authentik-nix",
- "flake-utils"
- ],
- "nixpkgs": [
- "nas-authentik-nix",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1725806412,
- "narHash": "sha256-lGZjkjds0p924QEhm/r0BhAxbHBJE1xMOldB/HmQH04=",
- "owner": "willibutz",
- "repo": "napalm",
- "rev": "b492440d9e64ae20736d3bec5c7715ffcbde83f5",
- "type": "github"
- },
- "original": {
- "owner": "willibutz",
- "ref": "avoid-foldl-stack-overflow",
- "repo": "napalm",
- "type": "github"
- }
- },
- "nas-authentik-nix": {
- "inputs": {
- "authentik-src": "authentik-src",
- "flake-compat": "flake-compat_4",
- "flake-parts": "flake-parts_2",
- "flake-utils": "flake-utils_2",
- "napalm": "napalm",
- "nixpkgs": [
- "nas-nixpkgs"
- ],
- "pyproject-build-systems": "pyproject-build-systems",
- "pyproject-nix": "pyproject-nix",
- "systems": "systems_2",
- "uv2nix": "uv2nix"
- },
- "locked": {
- "lastModified": 1751033152,
- "narHash": "sha256-0ANu9OLQJszcEyvnfDB7G957uqskZwCrTzRXz/yfAmE=",
- "owner": "nix-community",
- "repo": "authentik-nix",
- "rev": "1a4d6a5dd6fef39b99eb7ea4db79c5d5c7d7f1bf",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "authentik-nix",
- "type": "github"
- }
- },
- "nas-cosmic": {
- "inputs": {
- "flake-compat": "flake-compat_5",
- "nixpkgs": [
- "nas-nixpkgs-stable"
- ],
- "nixpkgs-stable": "nixpkgs-stable_3",
- "rust-overlay": "rust-overlay_4"
- },
- "locked": {
- "lastModified": 1751591814,
- "narHash": "sha256-A4lgvuj4v+Pr8MniXz1FBG0DXOygi8tTECR+j53FMhM=",
- "owner": "lilyinstarlight",
- "repo": "nixos-cosmic",
- "rev": "fef2d0c78c4e4d6c600a88795af193131ff51bdc",
- "type": "github"
- },
- "original": {
- "owner": "lilyinstarlight",
- "repo": "nixos-cosmic",
- "type": "github"
- }
- },
- "nas-crowdsec": {
- "inputs": {
- "flake-utils": "flake-utils_3",
- "nixpkgs": [
- "nas-nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1742920128,
- "narHash": "sha256-VPjnjtAksihLezhc+ZmnqGu18mHr4QVKa1kSZQ8rJL4=",
- "ref": "refs/heads/main",
- "rev": "40e937689d318ee85b1d9763189a65e6f0b4028d",
- "revCount": 40,
- "type": "git",
- "url": "https://codeberg.org/kampka/nix-flake-crowdsec.git"
- },
- "original": {
- "type": "git",
- "url": "https://codeberg.org/kampka/nix-flake-crowdsec.git"
- }
- },
- "nas-home-manager": {
- "inputs": {
- "nixpkgs": [
- "nas-nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1751824240,
- "narHash": "sha256-aDDC0CHTlL7QDKWWhdbEgVPK6KwWt+ca0QkmHYZxMzI=",
- "owner": "nix-community",
- "repo": "home-manager",
- "rev": "fd9e55f5fac45a26f6169310afca64d56b681935",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "home-manager",
- "type": "github"
- }
- },
- "nas-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"
- }
- },
- "nas-lanzaboote": {
- "inputs": {
- "crane": "crane_2",
- "flake-compat": "flake-compat_6",
- "flake-parts": "flake-parts_3",
- "nixpkgs": [
- "nas-nixpkgs"
- ],
- "pre-commit-hooks-nix": "pre-commit-hooks-nix_2",
- "rust-overlay": "rust-overlay_5"
- },
- "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"
- }
- },
- "nas-nix-vscode-extensions": {
- "inputs": {
- "flake-utils": "flake-utils_4",
- "nixpkgs": "nixpkgs_4"
- },
- "locked": {
- "lastModified": 1749002682,
- "narHash": "sha256-v9K6RyPF/+4r/YJhjEH8y07VWE6Vj7Vl88E/K5m/uJ0=",
- "owner": "nix-community",
- "repo": "nix-vscode-extensions",
- "rev": "46eb9c16d8ccfedf8bc648be03f9b2993fe3c994",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "nix-vscode-extensions",
- "type": "github"
- }
- },
- "nas-nixai": {
- "inputs": {
- "flake-utils": "flake-utils_5",
- "nixpkgs": "nixpkgs_5"
- },
- "locked": {
- "lastModified": 1749000216,
- "narHash": "sha256-Y2nbTdmPkTL+ni2hNzU8l/xZqDIFygkkDnTCf3xansU=",
- "owner": "olafkfreund",
- "repo": "nix-ai-help",
- "rev": "3b4b6db6a4ebf1348c62c1ec44c453d9948c4ba8",
- "type": "github"
- },
- "original": {
- "owner": "olafkfreund",
- "repo": "nix-ai-help",
- "type": "github"
- }
- },
- "nas-nixos-hardware": {
- "locked": {
- "lastModified": 1751432711,
- "narHash": "sha256-136MeWtckSHTN9Z2WRNRdZ8oRP3vyx3L8UxeBYE+J9w=",
- "owner": "NixOS",
- "repo": "nixos-hardware",
- "rev": "497ae1357f1ac97f1aea31a4cb74ad0d534ef41f",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "master",
- "repo": "nixos-hardware",
- "type": "github"
- }
- },
- "nas-nixpkgs": {
- "locked": {
- "lastModified": 1751637120,
- "narHash": "sha256-xVNy/XopSfIG9c46nRmPaKfH1Gn/56vQ8++xWA8itO4=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "5c724ed1388e53cc231ed98330a60eb2f7be4be3",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixos-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nas-nixpkgs-stable": {
- "locked": {
- "lastModified": 1744440957,
- "narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixos-24.11",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nas-sops-nix": {
- "inputs": {
- "nixpkgs": [
- "nas-nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1751606940,
- "narHash": "sha256-KrDPXobG7DFKTOteqdSVeL1bMVitDcy7otpVZWDE6MA=",
- "owner": "Mic92",
- "repo": "sops-nix",
- "rev": "3633fc4acf03f43b260244d94c71e9e14a2f6e0d",
- "type": "github"
- },
- "original": {
- "owner": "Mic92",
- "repo": "sops-nix",
- "type": "github"
- }
- },
- "nix-darwin": {
- "inputs": {
- "nixpkgs": [
- "desktop-nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1751313918,
- "narHash": "sha256-HsJM3XLa43WpG+665aGEh8iS8AfEwOIQWk3Mke3e7nk=",
- "owner": "LnL7",
- "repo": "nix-darwin",
- "rev": "e04a388232d9a6ba56967ce5b53a8a6f713cdfcf",
- "type": "github"
- },
- "original": {
- "owner": "LnL7",
- "repo": "nix-darwin",
- "type": "github"
- }
- },
- "nix-github-actions": {
- "inputs": {
- "nixpkgs": [
- "desktop-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-github-actions_2": {
- "inputs": {
- "nixpkgs": [
- "steamdeck-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-github-actions_3": {
- "inputs": {
- "nixpkgs": [
- "steamdeck-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-homebrew": {
- "inputs": {
- "brew-src": "brew-src"
- },
- "locked": {
- "lastModified": 1752160973,
- "narHash": "sha256-BCC8KB7TEtwv7vZN1WDu870tRbXtzUcmF9xNr6ws5Wc=",
- "owner": "zhaofengli",
- "repo": "nix-homebrew",
- "rev": "69c1aa2f136f3c3326d9b6770e0eb54f12832971",
- "type": "github"
- },
- "original": {
- "owner": "zhaofengli",
- "repo": "nix-homebrew",
- "type": "github"
- }
- },
- "nixos-images": {
- "inputs": {
- "nixos-stable": [
- "nixos-raspberrypi",
- "nixpkgs"
- ],
- "nixos-unstable": [
- "nixos-raspberrypi",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1747747741,
- "narHash": "sha256-LUOH27unNWbGTvZFitHonraNx0JF/55h30r9WxqrznM=",
- "owner": "nvmd",
- "repo": "nixos-images",
- "rev": "cbbd6db325775096680b65e2a32fb6187c09bbb4",
- "type": "github"
- },
- "original": {
- "owner": "nvmd",
- "ref": "sdimage-installer",
- "repo": "nixos-images",
- "type": "github"
- }
- },
- "nixos-raspberrypi": {
- "inputs": {
- "argononed": "argononed",
- "nixos-images": "nixos-images",
- "nixpkgs": "nixpkgs_6"
- },
- "locked": {
- "lastModified": 1749156319,
- "narHash": "sha256-Eilhss+fV1Fp88Sua5LwPnxGJ2A1/3TEDI1cMQja/+w=",
- "owner": "nvmd",
- "repo": "nixos-raspberrypi",
- "rev": "dc5ff85af8a5c1e0913bfdc15e419ae430fd0df2",
- "type": "github"
- },
- "original": {
- "owner": "nvmd",
- "repo": "nixos-raspberrypi",
- "type": "github"
- }
- },
- "nixpkgs": {
- "locked": {
- "lastModified": 1751271578,
- "narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixos-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nixpkgs-lib": {
- "locked": {
- "lastModified": 1748740939,
- "narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=",
- "owner": "nix-community",
- "repo": "nixpkgs.lib",
- "rev": "656a64127e9d791a334452c6b6606d17539476e2",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "nixpkgs.lib",
- "type": "github"
- }
- },
- "nixpkgs-stable": {
- "locked": {
- "lastModified": 1748995628,
- "narHash": "sha256-bFufQGSAEYQgjtc4wMrobS5HWN0hDP+ZX+zthYcml9U=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "8eb3b6a2366a7095939cd22f0dc0e9991313294b",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixos-24.11",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nixpkgs-stable_2": {
- "locked": {
- "lastModified": 1730741070,
- "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixos-24.05",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nixpkgs-stable_3": {
- "locked": {
- "lastModified": 1751048012,
- "narHash": "sha256-MYbotu4UjWpTsq01wglhN5xDRfZYLFtNk7SBY0BcjkU=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "a684c58d46ebbede49f280b653b9e56100aa3877",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixos-24.11",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nixpkgs-stable_4": {
- "locked": {
- "lastModified": 1730741070,
- "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixos-24.05",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nixpkgs-stable_5": {
- "locked": {
- "lastModified": 1751211869,
- "narHash": "sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "b43c397f6c213918d6cfe6e3550abfe79b5d1c51",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixos-25.05",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nixpkgs-stable_6": {
- "locked": {
- "lastModified": 1730741070,
- "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixos-24.05",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nixpkgs-stable_7": {
- "locked": {
- "lastModified": 1749488106,
- "narHash": "sha256-b9GIWdF/8jKpCC5JIMgDLZgwe8cEbty2fyTyo1eDFfI=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "8fe3e32e7f210522377c3bcff80931a3284ace6a",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixos-24.11",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nixpkgs-stable_8": {
- "locked": {
- "lastModified": 1730741070,
- "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixos-24.05",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nixpkgs-unstable": {
- "locked": {
- "lastModified": 1751271578,
- "narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixos-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nixpkgs_2": {
- "locked": {
- "lastModified": 1744868846,
- "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
- "type": "github"
- }
- },
- "nixpkgs_3": {
- "locked": {
- "lastModified": 1748460289,
- "narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=",
- "owner": "nixos",
- "repo": "nixpkgs",
- "rev": "96ec055edbe5ee227f28cdbc3f1ddf1df5965102",
- "type": "github"
- },
- "original": {
- "owner": "nixos",
- "ref": "nixos-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nixpkgs_4": {
- "locked": {
- "lastModified": 1744868846,
- "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
- "type": "github"
- }
- },
- "nixpkgs_5": {
- "locked": {
- "lastModified": 1748693115,
- "narHash": "sha256-StSrWhklmDuXT93yc3GrTlb0cKSS0agTAxMGjLKAsY8=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "910796cabe436259a29a72e8d3f5e180fc6dfacc",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixos-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nixpkgs_6": {
- "locked": {
- "lastModified": 1748882666,
- "narHash": "sha256-z2uanxifOXGEqdiprquIGZu0XaRYih3FHXDQwLc1xis=",
- "owner": "nvmd",
- "repo": "nixpkgs",
- "rev": "d2e9e5abf6308b83487d26e383799f7520dc5cdf",
- "type": "github"
- },
- "original": {
- "owner": "nvmd",
- "ref": "modules-with-keys-25.05",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nixpkgs_7": {
- "locked": {
- "lastModified": 1751792365,
- "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixos-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nuc-disko": {
- "inputs": {
- "nixpkgs": [
- "nuc-nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1742690494,
- "narHash": "sha256-SFacEbSRMoTyWG5VXh4ieofJGge+cLq9lH8ifB+zjBg=",
- "owner": "nvmd",
- "repo": "disko",
- "rev": "9dc58d4d49c9f74623a06e2fc20cdfd8bb3cbe8b",
- "type": "github"
- },
- "original": {
- "owner": "nvmd",
- "ref": "gpt-attrs",
- "repo": "disko",
- "type": "github"
- }
- },
- "nuc-home-manager": {
- "inputs": {
- "nixpkgs": [
- "nuc-nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1752603129,
- "narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=",
- "owner": "nix-community",
- "repo": "home-manager",
- "rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "home-manager",
- "type": "github"
- }
- },
- "nuc-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"
- }
- },
- "nuc-lanzaboote": {
- "inputs": {
- "crane": "crane_3",
- "flake-compat": "flake-compat_7",
- "flake-parts": "flake-parts_4",
- "nixpkgs": [
- "nuc-nixpkgs"
- ],
- "pre-commit-hooks-nix": "pre-commit-hooks-nix_3",
- "rust-overlay": "rust-overlay_6"
- },
- "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"
- }
- },
- "nuc-nixpkgs": {
- "locked": {
- "lastModified": 1752480373,
- "narHash": "sha256-JHQbm+OcGp32wAsXTE/FLYGNpb+4GLi5oTvCxwSoBOA=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "62e0f05ede1da0d54515d4ea8ce9c733f12d9f08",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixos-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nuc-sops-nix": {
- "inputs": {
- "nixpkgs": [
- "nuc-nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1752544651,
- "narHash": "sha256-GllP7cmQu7zLZTs9z0J2gIL42IZHa9CBEXwBY9szT0U=",
- "owner": "Mic92",
- "repo": "sops-nix",
- "rev": "2c8def626f54708a9c38a5861866660395bb3461",
- "type": "github"
- },
- "original": {
- "owner": "Mic92",
- "repo": "sops-nix",
- "type": "github"
- }
- },
- "pi4-disko": {
- "inputs": {
- "nixpkgs": [
- "pi4-nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1742690494,
- "narHash": "sha256-SFacEbSRMoTyWG5VXh4ieofJGge+cLq9lH8ifB+zjBg=",
- "owner": "nvmd",
- "repo": "disko",
- "rev": "9dc58d4d49c9f74623a06e2fc20cdfd8bb3cbe8b",
- "type": "github"
- },
- "original": {
- "owner": "nvmd",
- "ref": "gpt-attrs",
- "repo": "disko",
- "type": "github"
- }
- },
- "pi4-home-manager": {
- "inputs": {
- "nixpkgs": [
- "pi4-nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1750781171,
- "narHash": "sha256-39oPt8TJZmt3bNEKBcwB+QuasiavRDwM5jkw6UkRb98=",
- "owner": "nix-community",
- "repo": "home-manager",
- "rev": "a4bac2b9ba2f9bd68032880da8ae6b44fbc46047",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "home-manager",
- "type": "github"
- }
- },
- "pi4-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"
- }
- },
- "pi4-nixos-hardware": {
- "locked": {
- "lastModified": 1750431636,
- "narHash": "sha256-vnzzBDbCGvInmfn2ijC4HsIY/3W1CWbwS/YQoFgdgPg=",
- "owner": "NixOS",
- "repo": "nixos-hardware",
- "rev": "1552a9f4513f3f0ceedcf90320e48d3d47165712",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "master",
- "repo": "nixos-hardware",
- "type": "github"
- }
- },
- "pi4-nixpkgs": {
- "locked": {
- "lastModified": 1750506804,
- "narHash": "sha256-VLFNc4egNjovYVxDGyBYTrvVCgDYgENp5bVi9fPTDYc=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "4206c4cb56751df534751b058295ea61357bbbaa",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixos-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "pi4-sops-nix": {
- "inputs": {
- "nixpkgs": [
- "pi4-nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1750119275,
- "narHash": "sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M=",
- "owner": "Mic92",
- "repo": "sops-nix",
- "rev": "77c423a03b9b2b79709ea2cb63336312e78b72e2",
- "type": "github"
- },
- "original": {
- "owner": "Mic92",
- "repo": "sops-nix",
- "type": "github"
- }
- },
- "pi5-cosmic": {
- "inputs": {
- "flake-compat": "flake-compat_8",
- "nixpkgs": [
- "pi5-nixpkgs"
- ],
- "nixpkgs-stable": "nixpkgs-stable_7",
- "rust-overlay": "rust-overlay_7"
- },
- "locked": {
- "lastModified": 1749770917,
- "narHash": "sha256-3jOhroFAAKg/vPmgmDnOKUGJp6GfLycUkhyMaJKZ7zg=",
- "owner": "lilyinstarlight",
- "repo": "nixos-cosmic",
- "rev": "f5d076cdc61fe2f268d624a34a3df52573620396",
- "type": "github"
- },
- "original": {
- "owner": "lilyinstarlight",
- "repo": "nixos-cosmic",
- "type": "github"
- }
- },
- "pi5-disko": {
- "inputs": {
- "nixpkgs": [
- "pi5-nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1742690494,
- "narHash": "sha256-SFacEbSRMoTyWG5VXh4ieofJGge+cLq9lH8ifB+zjBg=",
- "owner": "nvmd",
- "repo": "disko",
- "rev": "9dc58d4d49c9f74623a06e2fc20cdfd8bb3cbe8b",
- "type": "github"
- },
- "original": {
- "owner": "nvmd",
- "ref": "gpt-attrs",
- "repo": "disko",
- "type": "github"
- }
- },
- "pi5-home-manager": {
- "inputs": {
- "nixpkgs": [
- "pi5-nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1750730235,
- "narHash": "sha256-rZErlxiV7ssvI8t7sPrKU+fRigNc2KvoKZG3gtUtK50=",
- "owner": "nix-community",
- "repo": "home-manager",
- "rev": "d07e9cceb4994ed64a22b9b36f8b76923e87ac38",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "home-manager",
- "type": "github"
- }
- },
- "pi5-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"
- }
- },
- "pi5-nixos-hardware": {
- "locked": {
- "lastModified": 1750431636,
- "narHash": "sha256-vnzzBDbCGvInmfn2ijC4HsIY/3W1CWbwS/YQoFgdgPg=",
- "owner": "NixOS",
- "repo": "nixos-hardware",
- "rev": "1552a9f4513f3f0ceedcf90320e48d3d47165712",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "master",
- "repo": "nixos-hardware",
- "type": "github"
- }
- },
- "pi5-nixpkgs": {
- "locked": {
- "lastModified": 1750506804,
- "narHash": "sha256-VLFNc4egNjovYVxDGyBYTrvVCgDYgENp5bVi9fPTDYc=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "4206c4cb56751df534751b058295ea61357bbbaa",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixos-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "pi5-sops-nix": {
- "inputs": {
- "nixpkgs": [
- "pi5-nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1750119275,
- "narHash": "sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M=",
- "owner": "Mic92",
- "repo": "sops-nix",
- "rev": "77c423a03b9b2b79709ea2cb63336312e78b72e2",
- "type": "github"
- },
- "original": {
- "owner": "Mic92",
- "repo": "sops-nix",
- "type": "github"
- }
- },
- "pre-commit-hooks-nix": {
- "inputs": {
- "flake-compat": [
- "desktop-lanzaboote",
- "flake-compat"
- ],
- "gitignore": "gitignore",
- "nixpkgs": [
- "desktop-lanzaboote",
- "nixpkgs"
- ],
- "nixpkgs-stable": "nixpkgs-stable_2"
- },
- "locked": {
- "lastModified": 1731363552,
- "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=",
- "owner": "cachix",
- "repo": "pre-commit-hooks.nix",
- "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0",
- "type": "github"
- },
- "original": {
- "owner": "cachix",
- "repo": "pre-commit-hooks.nix",
- "type": "github"
- }
- },
- "pre-commit-hooks-nix_2": {
- "inputs": {
- "flake-compat": [
- "nas-lanzaboote",
- "flake-compat"
- ],
- "gitignore": "gitignore_2",
- "nixpkgs": [
- "nas-lanzaboote",
- "nixpkgs"
- ],
- "nixpkgs-stable": "nixpkgs-stable_4"
- },
- "locked": {
- "lastModified": 1731363552,
- "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=",
- "owner": "cachix",
- "repo": "pre-commit-hooks.nix",
- "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0",
- "type": "github"
- },
- "original": {
- "owner": "cachix",
- "repo": "pre-commit-hooks.nix",
- "type": "github"
- }
- },
- "pre-commit-hooks-nix_3": {
- "inputs": {
- "flake-compat": [
- "nuc-lanzaboote",
- "flake-compat"
- ],
- "gitignore": "gitignore_3",
- "nixpkgs": [
- "nuc-lanzaboote",
- "nixpkgs"
- ],
- "nixpkgs-stable": "nixpkgs-stable_6"
- },
- "locked": {
- "lastModified": 1731363552,
- "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=",
- "owner": "cachix",
- "repo": "pre-commit-hooks.nix",
- "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0",
- "type": "github"
- },
- "original": {
- "owner": "cachix",
- "repo": "pre-commit-hooks.nix",
- "type": "github"
- }
- },
- "pre-commit-hooks-nix_4": {
- "inputs": {
- "flake-compat": [
- "steamdeck-lanzaboote",
- "flake-compat"
- ],
- "gitignore": "gitignore_4",
- "nixpkgs": [
- "steamdeck-lanzaboote",
- "nixpkgs"
- ],
- "nixpkgs-stable": "nixpkgs-stable_8"
- },
- "locked": {
- "lastModified": 1731363552,
- "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=",
- "owner": "cachix",
- "repo": "pre-commit-hooks.nix",
- "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0",
- "type": "github"
- },
- "original": {
- "owner": "cachix",
- "repo": "pre-commit-hooks.nix",
- "type": "github"
- }
- },
- "pyproject-build-systems": {
- "inputs": {
- "nixpkgs": [
- "nas-authentik-nix",
- "nixpkgs"
- ],
- "pyproject-nix": [
- "nas-authentik-nix",
- "pyproject-nix"
- ],
- "uv2nix": [
- "nas-authentik-nix",
- "uv2nix"
- ]
- },
- "locked": {
- "lastModified": 1749519371,
- "narHash": "sha256-UJONN7mA2stweZCoRcry2aa1XTTBL0AfUOY84Lmqhos=",
- "owner": "pyproject-nix",
- "repo": "build-system-pkgs",
- "rev": "7c06967eca687f3482624250428cc12f43c92523",
- "type": "github"
- },
- "original": {
- "owner": "pyproject-nix",
- "repo": "build-system-pkgs",
- "type": "github"
- }
- },
- "pyproject-nix": {
- "inputs": {
- "nixpkgs": [
- "nas-authentik-nix",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1750499893,
- "narHash": "sha256-ThKBd8XSvITAh2JqU7enOp8AfKeQgf9u7zYC41cnBE4=",
- "owner": "pyproject-nix",
- "repo": "pyproject.nix",
- "rev": "e824458bd917b44bf4c38795dea2650336b2f55d",
- "type": "github"
- },
- "original": {
- "owner": "pyproject-nix",
- "repo": "pyproject.nix",
- "type": "github"
- }
- },
- "root": {
- "inputs": {
- "desktop-chaotic": "desktop-chaotic",
- "desktop-cosmic": "desktop-cosmic",
- "desktop-home-manager": "desktop-home-manager",
- "desktop-impermanence": "desktop-impermanence",
- "desktop-lanzaboote": "desktop-lanzaboote",
- "desktop-nix-vscode-extensions": "desktop-nix-vscode-extensions",
- "desktop-nixos-hardware": "desktop-nixos-hardware",
- "desktop-nixpkgs": "desktop-nixpkgs",
- "desktop-sops-nix": "desktop-sops-nix",
- "desktop-steam-rom-manager": "desktop-steam-rom-manager",
- "homebrew-cask": "homebrew-cask",
- "homebrew-core": "homebrew-core",
- "mac-home-manager": "mac-home-manager",
- "mac-impermanence": "mac-impermanence",
- "mac-nixos-apple-silicon": "mac-nixos-apple-silicon",
- "mac-nixpkgs": "mac-nixpkgs",
- "mac-sops-nix": "mac-sops-nix",
- "nas-authentik-nix": "nas-authentik-nix",
- "nas-cosmic": "nas-cosmic",
- "nas-crowdsec": "nas-crowdsec",
- "nas-home-manager": "nas-home-manager",
- "nas-impermanence": "nas-impermanence",
- "nas-lanzaboote": "nas-lanzaboote",
- "nas-nix-vscode-extensions": "nas-nix-vscode-extensions",
- "nas-nixai": "nas-nixai",
- "nas-nixos-hardware": "nas-nixos-hardware",
- "nas-nixpkgs": "nas-nixpkgs",
- "nas-nixpkgs-stable": "nas-nixpkgs-stable",
- "nas-sops-nix": "nas-sops-nix",
- "nix-darwin": "nix-darwin",
- "nix-homebrew": "nix-homebrew",
- "nixos-raspberrypi": "nixos-raspberrypi",
- "nixpkgs-stable": "nixpkgs-stable_5",
- "nixpkgs-unstable": "nixpkgs-unstable",
- "nuc-disko": "nuc-disko",
- "nuc-home-manager": "nuc-home-manager",
- "nuc-impermanence": "nuc-impermanence",
- "nuc-lanzaboote": "nuc-lanzaboote",
- "nuc-nixpkgs": "nuc-nixpkgs",
- "nuc-sops-nix": "nuc-sops-nix",
- "pi4-disko": "pi4-disko",
- "pi4-home-manager": "pi4-home-manager",
- "pi4-impermanence": "pi4-impermanence",
- "pi4-nixos-hardware": "pi4-nixos-hardware",
- "pi4-nixpkgs": "pi4-nixpkgs",
- "pi4-sops-nix": "pi4-sops-nix",
- "pi5-cosmic": "pi5-cosmic",
- "pi5-disko": "pi5-disko",
- "pi5-home-manager": "pi5-home-manager",
- "pi5-impermanence": "pi5-impermanence",
- "pi5-nixos-hardware": "pi5-nixos-hardware",
- "pi5-nixpkgs": "pi5-nixpkgs",
- "pi5-sops-nix": "pi5-sops-nix",
- "steamdeck-chaotic": "steamdeck-chaotic",
- "steamdeck-disko": "steamdeck-disko",
- "steamdeck-home-manager": "steamdeck-home-manager",
- "steamdeck-impermanence": "steamdeck-impermanence",
- "steamdeck-jovian": "steamdeck-jovian",
- "steamdeck-lanzaboote": "steamdeck-lanzaboote",
- "steamdeck-nixos-hardware": "steamdeck-nixos-hardware",
- "steamdeck-nixpkgs": "steamdeck-nixpkgs",
- "steamdeck-sops-nix": "steamdeck-sops-nix",
- "steamdeck-steam-rom-manager": "steamdeck-steam-rom-manager"
- }
- },
- "rust-overlay": {
- "inputs": {
- "nixpkgs": [
- "desktop-chaotic",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1751165203,
- "narHash": "sha256-3QhlpAk2yn+ExwvRLtaixWsVW1q3OX3KXXe0l8VMLl4=",
- "owner": "oxalica",
- "repo": "rust-overlay",
- "rev": "90f547b90e73d3c6025e66c5b742d6db51c418c3",
- "type": "github"
- },
- "original": {
- "owner": "oxalica",
- "repo": "rust-overlay",
- "type": "github"
- }
- },
- "rust-overlay_2": {
- "inputs": {
- "nixpkgs": [
- "desktop-cosmic",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1749091064,
- "narHash": "sha256-TGtYjzRX0sueFhwYsnNNFF5TTKnpnloznpIghLzxeXo=",
- "owner": "oxalica",
- "repo": "rust-overlay",
- "rev": "12419593ce78f2e8e1e89a373c6515885e218acb",
- "type": "github"
- },
- "original": {
- "owner": "oxalica",
- "repo": "rust-overlay",
- "type": "github"
- }
- },
- "rust-overlay_3": {
- "inputs": {
- "nixpkgs": [
- "desktop-lanzaboote",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1731897198,
- "narHash": "sha256-Ou7vLETSKwmE/HRQz4cImXXJBr/k9gp4J4z/PF8LzTE=",
- "owner": "oxalica",
- "repo": "rust-overlay",
- "rev": "0be641045af6d8666c11c2c40e45ffc9667839b5",
- "type": "github"
- },
- "original": {
- "owner": "oxalica",
- "repo": "rust-overlay",
- "type": "github"
- }
- },
- "rust-overlay_4": {
- "inputs": {
- "nixpkgs": [
- "nas-cosmic",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1751251399,
- "narHash": "sha256-y+viCuy/eKKpkX1K2gDvXIJI/yzvy6zA3HObapz9XZ0=",
- "owner": "oxalica",
- "repo": "rust-overlay",
- "rev": "b22d5ee8c60ed1291521f2dde48784edd6bf695b",
- "type": "github"
- },
- "original": {
- "owner": "oxalica",
- "repo": "rust-overlay",
- "type": "github"
- }
- },
- "rust-overlay_5": {
- "inputs": {
- "nixpkgs": [
- "nas-lanzaboote",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1731897198,
- "narHash": "sha256-Ou7vLETSKwmE/HRQz4cImXXJBr/k9gp4J4z/PF8LzTE=",
- "owner": "oxalica",
- "repo": "rust-overlay",
- "rev": "0be641045af6d8666c11c2c40e45ffc9667839b5",
- "type": "github"
- },
- "original": {
- "owner": "oxalica",
- "repo": "rust-overlay",
- "type": "github"
- }
- },
- "rust-overlay_6": {
- "inputs": {
- "nixpkgs": [
- "nuc-lanzaboote",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1731897198,
- "narHash": "sha256-Ou7vLETSKwmE/HRQz4cImXXJBr/k9gp4J4z/PF8LzTE=",
- "owner": "oxalica",
- "repo": "rust-overlay",
- "rev": "0be641045af6d8666c11c2c40e45ffc9667839b5",
- "type": "github"
- },
- "original": {
- "owner": "oxalica",
- "repo": "rust-overlay",
- "type": "github"
- }
- },
- "rust-overlay_7": {
- "inputs": {
- "nixpkgs": [
- "pi5-cosmic",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1749695868,
- "narHash": "sha256-debjTLOyqqsYOUuUGQsAHskFXH5+Kx2t3dOo/FCoNRA=",
- "owner": "oxalica",
- "repo": "rust-overlay",
- "rev": "55f914d5228b5c8120e9e0f9698ed5b7214d09cd",
- "type": "github"
- },
- "original": {
- "owner": "oxalica",
- "repo": "rust-overlay",
- "type": "github"
- }
- },
- "rust-overlay_8": {
- "inputs": {
- "nixpkgs": [
- "steamdeck-chaotic",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1751856221,
- "narHash": "sha256-/QE1eV0ckFvgRMcKjZqgdJDoXFNwSMepwRoBjaw2MCk=",
- "owner": "oxalica",
- "repo": "rust-overlay",
- "rev": "34cae4b56929c5b340e1c5b10d9a98a425b2a51e",
- "type": "github"
- },
- "original": {
- "owner": "oxalica",
- "repo": "rust-overlay",
- "type": "github"
- }
- },
- "rust-overlay_9": {
- "inputs": {
- "nixpkgs": [
- "steamdeck-lanzaboote",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1731897198,
- "narHash": "sha256-Ou7vLETSKwmE/HRQz4cImXXJBr/k9gp4J4z/PF8LzTE=",
- "owner": "oxalica",
- "repo": "rust-overlay",
- "rev": "0be641045af6d8666c11c2c40e45ffc9667839b5",
- "type": "github"
- },
- "original": {
- "owner": "oxalica",
- "repo": "rust-overlay",
- "type": "github"
- }
- },
- "steamdeck-chaotic": {
- "inputs": {
- "flake-schemas": "flake-schemas_2",
- "home-manager": "home-manager_2",
- "jovian": "jovian_2",
- "nixpkgs": "nixpkgs_7",
- "rust-overlay": "rust-overlay_8"
- },
- "locked": {
- "lastModified": 1751984126,
- "narHash": "sha256-PrNg+sypyNMU0dHLbfVFQx58NEnS59DUIu0SZSq3DSk=",
- "owner": "chaotic-cx",
- "repo": "nyx",
- "rev": "8feb220c99c94c4957d37253eff6100cc33d7e8a",
- "type": "github"
- },
- "original": {
- "owner": "chaotic-cx",
- "ref": "nyxpkgs-unstable",
- "repo": "nyx",
- "type": "github"
- }
- },
- "steamdeck-disko": {
- "inputs": {
- "nixpkgs": [
- "steamdeck-nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1742690494,
- "narHash": "sha256-SFacEbSRMoTyWG5VXh4ieofJGge+cLq9lH8ifB+zjBg=",
- "owner": "nvmd",
- "repo": "disko",
- "rev": "9dc58d4d49c9f74623a06e2fc20cdfd8bb3cbe8b",
- "type": "github"
- },
- "original": {
- "owner": "nvmd",
- "ref": "gpt-attrs",
- "repo": "disko",
- "type": "github"
- }
- },
- "steamdeck-home-manager": {
- "inputs": {
- "nixpkgs": [
- "steamdeck-nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1752062782,
- "narHash": "sha256-Dod77HcIByOyfGLEJOgRxg2Fmk2Y5lVgMEcN/xVEt/8=",
- "owner": "nix-community",
- "repo": "home-manager",
- "rev": "bec8ff39811568eb7c8c8d1e2a1a476326748f51",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "home-manager",
- "type": "github"
- }
- },
- "steamdeck-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"
- }
- },
- "steamdeck-jovian": {
- "inputs": {
- "nix-github-actions": "nix-github-actions_3",
- "nixpkgs": [
- "steamdeck-nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1752052164,
- "narHash": "sha256-rq5aT1acTwLMAds//7WLtZhZGC5Hyr5YQqbiA0kb3yo=",
- "owner": "Jovian-Experiments",
- "repo": "Jovian-NixOS",
- "rev": "f81c48f403c976463fe5812e9e6bca8cf49aebdc",
- "type": "github"
- },
- "original": {
- "owner": "Jovian-Experiments",
- "repo": "Jovian-NixOS",
- "type": "github"
- }
- },
- "steamdeck-lanzaboote": {
- "inputs": {
- "crane": "crane_4",
- "flake-compat": "flake-compat_9",
- "flake-parts": "flake-parts_5",
- "nixpkgs": [
- "steamdeck-nixpkgs"
- ],
- "pre-commit-hooks-nix": "pre-commit-hooks-nix_4",
- "rust-overlay": "rust-overlay_9"
- },
- "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"
- }
- },
- "steamdeck-nixos-hardware": {
- "locked": {
- "lastModified": 1752048960,
- "narHash": "sha256-gATnkOe37eeVwKKYCsL+OnS2gU4MmLuZFzzWCtaKLI8=",
- "owner": "NixOS",
- "repo": "nixos-hardware",
- "rev": "7ced9122cff2163c6a0212b8d1ec8c33a1660806",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "master",
- "repo": "nixos-hardware",
- "type": "github"
- }
- },
- "steamdeck-nixpkgs": {
- "locked": {
- "lastModified": 1751792365,
- "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixos-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "steamdeck-sops-nix": {
- "inputs": {
- "nixpkgs": [
- "steamdeck-nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1751606940,
- "narHash": "sha256-KrDPXobG7DFKTOteqdSVeL1bMVitDcy7otpVZWDE6MA=",
- "owner": "Mic92",
- "repo": "sops-nix",
- "rev": "3633fc4acf03f43b260244d94c71e9e14a2f6e0d",
- "type": "github"
- },
- "original": {
- "owner": "Mic92",
- "repo": "sops-nix",
- "type": "github"
- }
- },
- "steamdeck-steam-rom-manager": {
- "inputs": {
- "home-manager": [
- "steamdeck-home-manager"
- ],
- "nixpkgs": [
- "steamdeck-nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1740436018,
- "narHash": "sha256-mblKQD3IFyVLN3dw7T7/qsXt1Vw7zu5Ky1rJcLu5Qeg=",
- "owner": "mjallen18",
- "repo": "nix-steam-rom-manager",
- "rev": "5c0875d5942b8a1928d53a642b43a49a3c7636ea",
- "type": "github"
- },
- "original": {
- "owner": "mjallen18",
- "repo": "nix-steam-rom-manager",
- "type": "github"
- }
- },
- "systems": {
- "locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
- "owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
- "type": "github"
- },
- "original": {
- "owner": "nix-systems",
- "repo": "default",
- "type": "github"
- }
- },
- "systems_2": {
- "locked": {
- "lastModified": 1689347949,
- "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
- "owner": "nix-systems",
- "repo": "default-linux",
- "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
- "type": "github"
- },
- "original": {
- "owner": "nix-systems",
- "repo": "default-linux",
- "type": "github"
- }
- },
- "systems_3": {
- "locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
- "owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
- "type": "github"
- },
- "original": {
- "owner": "nix-systems",
- "repo": "default",
- "type": "github"
- }
- },
- "systems_4": {
- "locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
- "owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
- "type": "github"
- },
- "original": {
- "owner": "nix-systems",
- "repo": "default",
- "type": "github"
- }
- },
- "systems_5": {
- "locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
- "owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
- "type": "github"
- },
- "original": {
- "owner": "nix-systems",
- "repo": "default",
- "type": "github"
- }
- },
- "uv2nix": {
- "inputs": {
- "nixpkgs": [
- "nas-authentik-nix",
- "nixpkgs"
- ],
- "pyproject-nix": [
- "nas-authentik-nix",
- "pyproject-nix"
- ]
- },
- "locked": {
- "lastModified": 1750987094,
- "narHash": "sha256-GujDElxLgYatnNvuL1U6qd18lcuG6anJMjpfYRScV08=",
- "owner": "pyproject-nix",
- "repo": "uv2nix",
- "rev": "4b703d851b61e664a70238711a8ff0efa1aa2f52",
- "type": "github"
- },
- "original": {
- "owner": "pyproject-nix",
- "repo": "uv2nix",
- "type": "github"
- }
- }
- },
- "root": "root",
- "version": 7
-}
diff --git a/flake.nix b/flake.nix
index a9e7539..874ec2c 100644
--- a/flake.nix
+++ b/flake.nix
@@ -48,7 +48,7 @@
inputs.nixpkgs.follows = "nixpkgs";
};
- nixos-raspberrypi.url = "github:nvmd/nixos-raspberrypi";
+ nixos-raspberrypi.url = "github:mjallen18/nixos-raspberrypi";
jovian.url = "github:Jovian-Experiments/Jovian-NixOS";
@@ -177,6 +177,31 @@
nixos-hardware.nixosModules.common-pc
];
};
+
+ # ######################################################
+ # Pi4 #
+ # ######################################################
+ pi4 = {
+ modules = with inputs; [
+ disko.nixosModules.disko
+ nixos-raspberrypi.nixosModules.raspberry-pi-4.base
+ nixos-raspberrypi.nixosModules.raspberry-pi-4.display-vc4
+ nixos-raspberrypi.lib.inject-overlays
+ ];
+ };
+
+ # ######################################################
+ # Pi5 #
+ # ######################################################
+ pi5 = {
+ modules = with inputs; [
+ disko.nixosModules.disko
+ nixos-raspberrypi.nixosModules.raspberry-pi-5.base
+ nixos-raspberrypi.nixosModules.raspberry-pi-5.display-vc4
+ nixos-raspberrypi.nixosModules.raspberry-pi-5.bluetooth
+ nixos-raspberrypi.lib.inject-overlays
+ ];
+ };
};
overlays = with inputs; [ nix-vscode-extensions.overlays.default ];
@@ -226,10 +251,8 @@
formatter = inputs.treefmt-nix.lib.mkWrapper channels.nixpkgs ./treefmt.nix;
};
};
-
- piSystems = import ./systems/aarch64-linux/pi4/flake.nix { inherit inputs; };
in
snowfall // {
- nixosConfigurations = snowfall.nixosConfigurations // piSystems;
+ nixosConfigurations = snowfall.nixosConfigurations;
};
}
\ No newline at end of file
diff --git a/homes/aarch64-linux/matt@pi4/default.nix b/homes/aarch64-linux/matt@pi4/default.nix
index 831a18f..c507e31 100755
--- a/homes/aarch64-linux/matt@pi4/default.nix
+++ b/homes/aarch64-linux/matt@pi4/default.nix
@@ -55,7 +55,6 @@ in
};
programs = {
- java.enable = lib.mkForce true;
mangohud.enable = lib.mkForce true;
zsh.shellAliases = shellAliases;
};
diff --git a/homes/aarch64-linux/matt@pi5/default.nix b/homes/aarch64-linux/matt@pi5/default.nix
index f068bdf..866e684 100755
--- a/homes/aarch64-linux/matt@pi5/default.nix
+++ b/homes/aarch64-linux/matt@pi5/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, lib, config, ... }:
+{ pkgs, lib, config, namespace, ... }:
let
shellAliases = {
update-boot = "sudo nixos-rebuild boot --max-jobs 10 --build-host admin@10.0.1.3";
@@ -9,14 +9,6 @@ let
};
in
{
- imports = [
- ../../share/home/defaults.nix
- ../../share/home/git.nix
- ../../share/home/gnome.nix
- ../../share/home/librewolf.nix
- ../../share/home/shell.nix
- ../../share/home/vscode.nix
- ];
home.username = "matt";
diff --git a/homes/aarch64-linux/root@pi4/default.nix b/homes/aarch64-linux/root@pi4/default.nix
new file mode 100644
index 0000000..78e871b
--- /dev/null
+++ b/homes/aarch64-linux/root@pi4/default.nix
@@ -0,0 +1,18 @@
+{ config, lib, ... }:
+let
+ shellAliases = {
+ update-boot = "nixos-rebuild boot --max-jobs 10";
+ update-switch = "nixos-rebuild switch --max-jobs 10";
+ };
+in
+{
+ home = {
+ username = "root";
+ homeDirectory = lib.mkForce "/${config.home.username}";
+ enableNixpkgsReleaseCheck = false;
+ };
+
+ programs = {
+ zsh.shellAliases = shellAliases;
+ };
+}
\ No newline at end of file
diff --git a/modules/home/home/default.nix b/modules/home/home/default.nix
index c9f661b..3bc2343 100644
--- a/modules/home/home/default.nix
+++ b/modules/home/home/default.nix
@@ -41,7 +41,6 @@
home-manager.enable = lib.mkDefault true;
java = {
enable = lib.mkDefault true;
- package = pkgs.jdk17;
};
mangohud.enable = lib.mkDefault true;
password-store.enable = true;
diff --git a/modules/home/programs/code/default.nix b/modules/home/programs/code/default.nix
index 064e4a2..ed7da44 100644
--- a/modules/home/programs/code/default.nix
+++ b/modules/home/programs/code/default.nix
@@ -1,5 +1,6 @@
-{ config, lib, pkgs, ... }:
+{ config, lib, pkgs, system, ... }:
let
+ isArm = "aarch64-linux" == system;
open-remote-ssh = pkgs.vscode-utils.buildVscodeExtension {
pname = "open-remote-ssh";
version = "0.0.49";
@@ -12,6 +13,9 @@ let
name = "open-remote-ssh.zip";
};
};
+ x86_only = with pkgs; [
+ vscode-extensions.redhat.vscode-xml
+ ];
in
{
programs = {
@@ -35,14 +39,13 @@ in
vscode-extensions.ms-python.pylint
vscode-extensions.ms-python.python
# vscode-extensions.ms-python.vscode-pylance
- vscode-extensions.redhat.vscode-xml
vscode-extensions.redhat.vscode-yaml
vscode-extensions.yy0931.vscode-sqlite3-editor
# open-remote-ssh
# nix-vscode-extensions.open-vsx.jeanp413.open-remote-ssh
# open-vsx.jeanp413.open-remote-ssh
- ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
+ ] ++ ( if !isArm then x86_only else [ ] ) ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "copilot-mcp";
publisher = "automatalabs";
diff --git a/modules/home/user/default.nix b/modules/home/user/default.nix
new file mode 100644
index 0000000..8512ff9
--- /dev/null
+++ b/modules/home/user/default.nix
@@ -0,0 +1,157 @@
+{
+ config,
+ lib,
+ pkgs,
+ namespace,
+ ...
+}:
+with lib;
+let
+ cfg = config.${namespace}.user;
+
+ home-directory =
+ if cfg.name == null then
+ null
+ else if pkgs.stdenv.hostPlatform.isDarwin then
+ "/Users/${cfg.name}"
+ else
+ "/home/${cfg.name}";
+in
+{
+ options.${namespace}.user = {
+ enable = mkOption {
+ type = types.bool;
+ default = false;
+ description = "Whether to configure the user account.";
+ };
+ email = mkOption {
+ type = types.str;
+ default = "jalle008@proton.me";
+ description = "The email of the user.";
+ };
+ fullName = mkOption {
+ type = types.str;
+ default = "Austin Horstman";
+ description = "The full name of the user.";
+ };
+ home = mkOption {
+ type = (types.nullOr types.str);
+ default = home-directory;
+ description = "The user's home directory.";
+ };
+ icon = mkOption {
+ type = (types.nullOr types.package);
+ default = pkgs.${namespace}.user-icon;
+ description = "The profile picture to use for the user.";
+ };
+ name = mkOption {
+ type = (types.nullOr types.str);
+ default = config.snowfallorg.user.name;
+ description = "The user account.";
+ };
+ };
+
+ config = mkIf cfg.enable (mkMerge [
+ {
+ assertions = [
+ {
+ assertion = cfg.name != null;
+ message = "${namespace}.user.name must be set";
+ }
+ {
+ assertion = cfg.home != null;
+ message = "${namespace}.user.home must be set";
+ }
+ ];
+
+ home = {
+ file =
+ {
+ "Desktop/.keep".text = "";
+ "Documents/.keep".text = "";
+ "Downloads/.keep".text = "";
+ "Music/.keep".text = "";
+ "Pictures/.keep".text = "";
+ "Videos/.keep".text = "";
+ }
+ // lib.optionalAttrs (cfg.icon != null) {
+ ".face".source = cfg.icon;
+ ".face.icon".source = cfg.icon;
+ "Pictures/${cfg.icon.fileName or (builtins.baseNameOf cfg.icon)}".source = cfg.icon;
+ };
+
+ homeDirectory = mkDefault cfg.home;
+
+ shellAliases = {
+ # nix specific aliases
+ cleanup = "sudo nix-collect-garbage --delete-older-than 3d && nix-collect-garbage -d";
+ bloat = "nix path-info -Sh /run/current-system";
+ curgen = "sudo nix-env --list-generations --profile /nix/var/nix/profiles/system";
+ gc-check = "nix-store --gc --print-roots | egrep -v \"^(/nix/var|/run/\w+-system|\{memory|/proc)\"";
+ repair = "nix-store --verify --check-contents --repair";
+ nixnuke = ''
+ # Kill nix-daemon and nix processes first
+ sudo pkill -9 -f "nix-(daemon|store|build)" || true
+
+ # Find and kill all nixbld processes
+ for pid in $(ps -axo pid,user | ${getExe pkgs.gnugrep} -E '[_]?nixbld[0-9]+' | ${getExe pkgs.gawk} '{print $1}'); do
+ sudo kill -9 "$pid" 2>/dev/null || true
+ done
+
+ # Restart nix-daemon based on platform
+ if [ "$(uname)" = "Darwin" ]; then
+ sudo launchctl kickstart -k system/org.nixos.nix-daemon
+ else
+ sudo systemctl restart nix-daemon.service
+ fi
+ '';
+ flake = "nix flake";
+ nix = "nix -vL";
+ gsed = "${getExe pkgs.gnused}";
+ hmvar-reload = ''__HM_ZSH_SESS_VARS_SOURCED=0 source "/etc/profiles/per-user/${config.${namespace}.user.name}/etc/profile.d/hm-session-vars.sh"'';
+
+ # File management
+ rcp = "${getExe pkgs.rsync} -rahP --mkpath --modify-window=1"; # Rsync copy keeping all attributes,timestamps,permissions"
+ rmv = "${getExe pkgs.rsync} -rahP --mkpath --modify-window=1 --remove-sent-files"; # Rsync move keeping all attributes,timestamps,permissions
+ tarnow = "${getExe pkgs.gnutar} -acf ";
+ untar = "${getExe pkgs.gnutar} -zxvf ";
+ wget = "${getExe pkgs.wget} -c ";
+ remove-empty = ''${getExe' pkgs.findutils "find"} . -type d --empty --delete'';
+ print-empty = ''${getExe' pkgs.findutils "find"} . -type d --empty --print'';
+ dfh = "${getExe' pkgs.coreutils "df"} -h";
+ duh = "${getExe' pkgs.coreutils "du"} -h";
+ usage = "${getExe' pkgs.coreutils "du"} -ah -d1 | sort -rn 2>/dev/null";
+
+ # Navigation shortcuts
+ home = "cd ~";
+ dots = "cd $DOTS_DIR";
+ ".." = "cd ..";
+ "..." = "cd ../..";
+ "...." = "cd ../../..";
+ "....." = "cd ../../../..";
+ "......" = "cd ../../../../..";
+
+ # Colorize output
+ dir = "${getExe' pkgs.coreutils "dir"} --color=auto";
+ egrep = "${getExe' pkgs.gnugrep "egrep"} --color=auto";
+ fgrep = "${getExe' pkgs.gnugrep "fgrep"} --color=auto";
+ grep = "${getExe pkgs.gnugrep} --color=auto";
+ vdir = "${getExe' pkgs.coreutils "vdir"} --color=auto";
+
+ # Misc
+ clear = "clear && ${getExe config.programs.fastfetch.package}";
+ clr = "clear";
+ pls = "sudo";
+ psg = "${getExe pkgs.ps} aux | grep";
+ myip = "${getExe pkgs.curl} ifconfig.me";
+
+ # Cryptography
+ genpass = "${getExe pkgs.openssl} rand - base64 20"; # Generate a random, 20-character password
+ sha = "shasum -a 256"; # Test checksum
+ };
+
+ username = mkDefault cfg.name;
+ };
+ }
+ ]);
+}
\ No newline at end of file
diff --git a/modules/nixos/desktop/hyprland/default.nix b/modules/nixos/desktop/hyprland/default.nix
index 0f659f7..560c90a 100755
--- a/modules/nixos/desktop/hyprland/default.nix
+++ b/modules/nixos/desktop/hyprland/default.nix
@@ -64,7 +64,7 @@ in
hyprland = {
enable = true;
xwayland.enable = true;
- portalPackage = pkgs.xdg-desktop-portal-hyprland;
+ portalPackage = lib.mkDefault pkgs.xdg-desktop-portal-hyprland;
};
nm-applet.enable = true;
@@ -161,7 +161,7 @@ in
enable = true;
wlr.enable = true;
xdgOpenUsePortal = true;
- extraPortals = [
+ extraPortals = lib.mkDefault [
pkgs.xdg-desktop-portal-hyprland
pkgs.xdg-desktop-portal-gnome
pkgs.xdg-desktop-portal-gtk
diff --git a/modules/nixos/hardware/default.nix b/modules/nixos/hardware/default.nix
index dd951a8..a293ebc 100644
--- a/modules/nixos/hardware/default.nix
+++ b/modules/nixos/hardware/default.nix
@@ -1,6 +1,6 @@
{ lib, system, ... }:
let
- isArm = builtins.match "aarch64*" system != null;
+ isArm = "aarch64-linux" == system;
in
{
hardware = {
diff --git a/modules/nixos/home/default.nix b/modules/nixos/home/default.nix
index 185f5f9..dfdb10f 100644
--- a/modules/nixos/home/default.nix
+++ b/modules/nixos/home/default.nix
@@ -53,8 +53,8 @@
# Add any other external HM modules here
];
- # users.${config.${namespace}.user.name} = lib.types.mkAliasDefinitions options.${namespace}.home.extraOptions;
- users.admin = lib.mkAliasDefinitions options.${namespace}.home.extraOptions;
+ users.${config.${namespace}.user.name} = lib.mkAliasDefinitions options.${namespace}.home.extraOptions;
+ # users.admin = lib.mkAliasDefinitions options.${namespace}.home.extraOptions;
verbose = true;
};
diff --git a/modules/nixos/user/default.nix b/modules/nixos/user/default.nix
new file mode 100644
index 0000000..85ed43f
--- /dev/null
+++ b/modules/nixos/user/default.nix
@@ -0,0 +1,66 @@
+{
+ config,
+ lib,
+ pkgs,
+ namespace,
+ ...
+}:
+with lib;
+let
+ cfg = config.${namespace}.user;
+in
+{
+ options.${namespace}.user = with types; {
+ email = lib.mkOption {
+ type = str;
+ default = "jalle008@proton.me";
+ description = "The email of the user.";
+ };
+ extraGroups = lib.mkOption {
+ type = (listOf str);
+ default = [ ];
+ description = "Groups for the user to be assigned.";
+ };
+ extraOptions = lib.mkOption {
+ type = attrs;
+ default = { };
+ description = "Extra options passed to .";
+ };
+ fullName = lib.mkOption {
+ type = str;
+ default = "Matt Jallen";
+ description = "The full name of the user.";
+ };
+ name = lib.mkOption {
+ type = str;
+ default = "matt";
+ description = "The name to use for the user account.";
+ };
+ };
+
+ config = {
+ users.users.${cfg.name} = {
+ inherit (cfg) name;
+
+ extraGroups = [
+ "wheel"
+ "systemd-journal"
+ "mpd"
+ "audio"
+ "video"
+ "input"
+ "plugdev"
+ "lp"
+ "tss"
+ "power"
+ "nix"
+ ] ++ cfg.extraGroups;
+
+ group = "users";
+ home = "/home/${cfg.name}";
+ isNormalUser = true;
+ shell = lib.mkDefault pkgs.zsh;
+ uid = 1000;
+ } // cfg.extraOptions;
+ };
+}
\ No newline at end of file
diff --git a/systems/aarch64-linux/pi4/argononed.nix b/systems/aarch64-linux/pi4/argononed.nix
deleted file mode 100644
index 38bbe17..0000000
--- a/systems/aarch64-linux/pi4/argononed.nix
+++ /dev/null
@@ -1,69 +0,0 @@
-# { ... }:
-# {
-# programs.argon.one = {
-# enable = true;
-
-# settings = {
-# # Is 'celsius' by default, can also be set to 'fahrenheit'
-# displayUnits = "celsius";
-
-# # This is the same config as the original Argon40 config.
-# # This is also the default config for this flake.
-# fanspeed = [
-# {
-# # This the temperature threshold at which this fan speed will activate.
-# # The temperature is in the above specified unit.
-# temperature = 55;
-# # This is speed percentage at which the fan will spin.
-# speed = 30;
-# }
-# {
-# temperature = 60;
-# speed = 55;
-# }
-# {
-# temperature = 65;
-# speed = 100;
-# }
-# ];
-# ir = {
-# enable = true;
-# gpio.enable = true;
-# keymap = {
-# "POWER" = "00ff39c6";
-# "UP" = "00ff53ac";
-# "DOWN" = "00ff4bb4";
-# "LEFT" = "00ff9966";
-# "RIGHT" = "00ff837c";
-# "VOLUMEUP" = "00ff01fe";
-# "VOLUMEDOWN" = "00ff817e";
-# "OK" = "00ff738c";
-# "HOME" = "00ffd32c";
-# "MENU" = "00ffb946";
-# "BACK" = "00ff09f6";
-# };
-# };
-# };
-# };
-# }
-# { lib, stdenv, pkgs, config, ...}:
-# {
-# imports = let
-# argononed = fetchGit {
-# url = "https://github.com/mjallen18/argononed.git";
-# ref = "dev"; # Or any other branches deemed suitable
-# };
-# in
-# [ "${argononed}/OS/nixos" ];
-
-# services.argonone = {
-# enable = true;
-# logLevel = 4;
-# settings = {
-# fanTemp0 = 36; fanSpeed0 = 10;
-# fanTemp1 = 41; fanSpeed1 = 50;
-# fanTemp2 = 46; fanSpeed2 = 80;
-# hysteresis = 4;
-# };
-# };
-# }
diff --git a/systems/aarch64-linux/pi4/boot.nix b/systems/aarch64-linux/pi4/boot.nix
index 1247376..99c1dbf 100755
--- a/systems/aarch64-linux/pi4/boot.nix
+++ b/systems/aarch64-linux/pi4/boot.nix
@@ -21,13 +21,24 @@
# # cp -r ${uefi_pi4}/share/uefi_rpi4/* /boot/firmware/
# # '';
# }
-{ pkgs, lib, ... }:
+{ config, pkgs, lib, ... }:
let
kernelBundle = pkgs.linuxAndFirmware.latest;
in
{
- boot = {
- loader.raspberryPi.firmwarePackage = kernelBundle.raspberrypifw;
+ system.nixos.tags = let
+ cfg = config.boot.loader.raspberry-pi;
+ in [
+ "raspberry-pi-${cfg.variant}"
+ cfg.bootloader
+ config.boot.kernelPackages.kernel.version
+ ];
+
+ boot = lib.mkForce {
+ loader.raspberry-pi = {
+ firmwarePackage = kernelBundle.raspberrypifw;
+ variant = "4";
+ };
kernelPackages = kernelBundle.linuxPackages_rpi4;
};
diff --git a/systems/aarch64-linux/pi4/default.nix b/systems/aarch64-linux/pi4/default.nix
index b11e6c41..0b5f6cc 100755
--- a/systems/aarch64-linux/pi4/default.nix
+++ b/systems/aarch64-linux/pi4/default.nix
@@ -2,7 +2,7 @@
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
-{ config, lib, pkgs, ... }:
+{ config, lib, pkgs, namespace, ... }:
let
user = "matt";
# password = config.sops.secrets."pi4/matt-password".path;
@@ -12,11 +12,14 @@ in
imports = [
./adguard.nix
./boot.nix
- ./impermanence.nix
./networking.nix
./sops.nix
];
+ ${namespace} = {
+ hardware.disko.enable = true;
+ };
+
nix = {
settings = {
substituters = [
@@ -45,14 +48,6 @@ in
];
};
- system.nixos.tags = let
- cfg = config.boot.loader.raspberryPi;
- in [
- "raspberry-pi-${cfg.variant}"
- cfg.bootloader
- config.boot.kernelPackages.kernel.version
- ];
-
programs.zsh.enable = true;
hardware.i2c.enable = true;
@@ -88,26 +83,32 @@ in
users = {
mutableUsers = false;
- users."${user}" = {
- isNormalUser = true;
- # hashedPasswordFile = password;
- password = "BogieDudie1";
- extraGroups = [
- "wheel"
- "docker"
- "video"
- ];
- shell = pkgs.zsh;
- openssh.authorizedKeys.keys = [
- # macBook
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCw9zq8DLGByI5v2gAn95hKNyOsm3g61a2buxu2BBMFysQJgmZPCCLUqRJKhSM5Vm/JOgsAmdpRBRZQoHD+6S844CJHb4v4VIbjkyQgYCuM7Rst2IOZ5QybvsA2/D0nwytZ+HXQqDj2AagUYDbz0gyyIHkDQ5YGBMkvkWz/h1Vci6aoBM7VihEDM4KlWoTVuPeASGM8r5IZ2FS83Djbqo4ov6AYvLMrKB9Z7hmFgH6R3LE0gxOkzbGVXtSuvJyrjvgytoT22UhATjjxSQ9D+YJXXkQoB3lUdg8OoIquUPjMZpl4mR8ffvseWPfcvD1XlD5t+TOHFqKpESO547tlOBYhdpew+NSgAXpamCU6oyV8tDCywLQu2ucxHRn78u6WXzWHkDtffdhzmk6TZaPhWqVHuTGjR4higBgGqUfSaKOMszt+FDRZAr3HtuQ2+zJ8bowK9fW5OqilTtK2HtQqroD9ApegDNbqOz6kGy5IycSXvqPURy/M4lxZxbtBPuemcJs= mattjallen@MacBook-Pro.local"
- # desktop windows
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDZ2PYPjZddOzR8OJj16G88KcUhCDLkvrEmpUQP0wKHDUuA27HQQ2ORo66asadwGHY3k1VDZ1ei9l9H++SIIeKOaaUr5yZdktvj4POUNtbd9ZhcS7sZU7BSF+NMDM+h3tImh6z0S7mWvRQOUv3ZM+ZER+5xTWJVG1OOJEpb1drxJk6Qz0wbZKSR7TPNFBLLXlVy7hkNYf07RtDyhCCxNB3hJfa8c+oztnWumwDhDQWLqiUXWIU2QH6iRLGl/WYnujtNvVVaV/Hn3JJkS6MM9dnV3cpoIO0+J7+WfsN9rZ0wXt5yY3GhiGXwmcO5eYVli8lHlLWtK7aYSETyry6CBsLbojzOQO5rSqhpwfF2njAAFAQU0UjLc8PahisIuFKCwHH4iyXXOagiv5K1Mc/0Ak+WhhMPee6vV2p7NTyNpXRvouDbWy5cSRH31WgQ9fK5mIGe5v8nGGqtEhUubUkiOgP+H3UbT2V/nTv/TFKdJcKw+WmizvTrxBmaMjWALlkYl+s= mattl@Jallen-PC"
- # desktop nixos
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPTBMydhOc6SnOdB5WrEd7X07DrboAtagCUgXiOJjLov matt@matt-nixos"
- ];
- };
+ users = {
+ "${user}" = {
+ isNormalUser = true;
+ # hashedPasswordFile = password;
+ password = "BogieDudie1";
+ extraGroups = [
+ "wheel"
+ "docker"
+ "video"
+ ];
+ shell = pkgs.zsh;
+ openssh.authorizedKeys.keys = [
+ # macBook
+ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCw9zq8DLGByI5v2gAn95hKNyOsm3g61a2buxu2BBMFysQJgmZPCCLUqRJKhSM5Vm/JOgsAmdpRBRZQoHD+6S844CJHb4v4VIbjkyQgYCuM7Rst2IOZ5QybvsA2/D0nwytZ+HXQqDj2AagUYDbz0gyyIHkDQ5YGBMkvkWz/h1Vci6aoBM7VihEDM4KlWoTVuPeASGM8r5IZ2FS83Djbqo4ov6AYvLMrKB9Z7hmFgH6R3LE0gxOkzbGVXtSuvJyrjvgytoT22UhATjjxSQ9D+YJXXkQoB3lUdg8OoIquUPjMZpl4mR8ffvseWPfcvD1XlD5t+TOHFqKpESO547tlOBYhdpew+NSgAXpamCU6oyV8tDCywLQu2ucxHRn78u6WXzWHkDtffdhzmk6TZaPhWqVHuTGjR4higBgGqUfSaKOMszt+FDRZAr3HtuQ2+zJ8bowK9fW5OqilTtK2HtQqroD9ApegDNbqOz6kGy5IycSXvqPURy/M4lxZxbtBPuemcJs= mattjallen@MacBook-Pro.local"
+ # desktop windows
+ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDZ2PYPjZddOzR8OJj16G88KcUhCDLkvrEmpUQP0wKHDUuA27HQQ2ORo66asadwGHY3k1VDZ1ei9l9H++SIIeKOaaUr5yZdktvj4POUNtbd9ZhcS7sZU7BSF+NMDM+h3tImh6z0S7mWvRQOUv3ZM+ZER+5xTWJVG1OOJEpb1drxJk6Qz0wbZKSR7TPNFBLLXlVy7hkNYf07RtDyhCCxNB3hJfa8c+oztnWumwDhDQWLqiUXWIU2QH6iRLGl/WYnujtNvVVaV/Hn3JJkS6MM9dnV3cpoIO0+J7+WfsN9rZ0wXt5yY3GhiGXwmcO5eYVli8lHlLWtK7aYSETyry6CBsLbojzOQO5rSqhpwfF2njAAFAQU0UjLc8PahisIuFKCwHH4iyXXOagiv5K1Mc/0Ak+WhhMPee6vV2p7NTyNpXRvouDbWy5cSRH31WgQ9fK5mIGe5v8nGGqtEhUubUkiOgP+H3UbT2V/nTv/TFKdJcKw+WmizvTrxBmaMjWALlkYl+s= mattl@Jallen-PC"
+ # desktop nixos
+ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPTBMydhOc6SnOdB5WrEd7X07DrboAtagCUgXiOJjLov matt@matt-nixos"
+ ];
+ };
- users.root.shell = pkgs.zsh;
+ root = {
+ isSystemUser = true;
+ isNormalUser = false;
+ shell = pkgs.zsh;
+ };
+ };
};
}
diff --git a/systems/aarch64-linux/pi4/disko.nix b/systems/aarch64-linux/pi4/disko.nix
deleted file mode 100644
index cb4bd15..0000000
--- a/systems/aarch64-linux/pi4/disko.nix
+++ /dev/null
@@ -1,102 +0,0 @@
-{ config, lib, ... }:
-let
- rootDisk = "/dev/sda1";
-in
-{
- disko.devices = {
- nodev."/" = {
- fsType = "tmpfs";
- mountOptions = [
- "mode=755"
- "defaults"
- "size=2G"
- ];
- };
- # root disk setup
- disk.main = {
- type = "disk";
- device = rootDisk;
- imageSize = "15G";
- content = {
- type = "gpt";
- # specify partitions
- partitions = {
- # /boot/firmware
- FIRMWARE = {
- priority = 1;
- name = "FIRMWARE";
- start = "1M";
- end = "1G";
- type = "0700";
- content = {
- type = "filesystem";
- format = "vfat";
- mountpoint = "/boot/firmware";
- mountOptions = [ "umask=0077" ];
- };
- };
- # /boot
- ESP = {
- priority = 2;
- name = "ESP";
- # start = "1G";
- # end = "2G";
- size = "1G";
- type = "EF00";
- content = {
- type = "filesystem";
- format = "vfat";
- mountpoint = "/boot";
- mountOptions = [ "umask=0077" ];
- };
- };
-
- root = {
- name = "btrfs-root";
- size = "100%";
- content = {
- type = "btrfs";
- extraArgs = [ "-f" ]; # Override existing partition
- # Subvolumes must set a mountpoint in order to be mounted,
- # unless their parent is mounted
- subvolumes = {
- "home" = {
- mountOptions = [ "compress=zstd" ];
- mountpoint = "/home";
- };
- "root" = {
- mountOptions = [
- "compress=zstd"
- "noatime"
- ];
- mountpoint = "/root";
- };
- "nix" = {
- mountOptions = [
- "compress=zstd"
- "noatime"
- ];
- mountpoint = "/nix";
- };
- "etc" = {
- mountOptions = [
- "compress=zstd"
- "noatime"
- ];
- mountpoint = "/etc";
- };
- "log" = {
- mountOptions = [
- "compress=zstd"
- "noatime"
- ];
- mountpoint = "/var/log";
- };
- };
- };
- };
- };
- };
- };
- };
-}
diff --git a/systems/aarch64-linux/pi4/flake.nix b/systems/aarch64-linux/pi4/flake.nix
deleted file mode 100644
index 1d5de51..0000000
--- a/systems/aarch64-linux/pi4/flake.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ inputs }:
-with inputs;
-{
- pi4 = nixos-raspberrypi.lib.nixosSystem {
- specialArgs = inputs // {
- # Add any special args you need
- };
- system = "aarch64-linux";
- modules = [
- # Import your Snowfall modules manually
- ./default.nix
- disko.nixosModules.disko
- ./disko.nix
- nixos-hardware.nixosModules.raspberry-pi-4
- {
- imports = with nixos-raspberrypi.nixosModules; [
- raspberry-pi-4.base
- raspberry-pi-4.display-vc4
- raspberry-pi-4.bluetooth
- raspberry-pi-4.case-argonone
- ];
- }
- impermanence.nixosModules.impermanence
- sops-nix.nixosModules.sops
- home-manager.nixosModules.home-manager
- {
- home-manager.useGlobalPkgs = true;
- home-manager.useUserPackages = true;
- home-manager.backupFileExtension = "backup";
- home-manager.extraSpecialArgs = { inherit inputs; };
- home-manager.sharedModules = [
- sops-nix.homeManagerModules.sops
- ];
- home-manager.users.matt = import (../../../homes/aarch64-linux + "/matt@pi4/default.nix");
- home-manager.users.root = { ... }: {
- imports = [
- # Your root user config
- sops-nix.homeManagerModules.sops
- ];
- home.stateVersion = "23.11";
- };
- }
- ];
- };
-}
\ No newline at end of file
diff --git a/systems/aarch64-linux/pi4/impermanence.nix b/systems/aarch64-linux/pi4/impermanence.nix
deleted file mode 100755
index 8bf4430..0000000
--- a/systems/aarch64-linux/pi4/impermanence.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ ... }:
-{
- # Set up impernance configuration for things like bluetooth
- # In this configuration with /etc and /var/log being persistent, only directories outside of that need to be done here. See hardware configuration for all mountpoints.
-
- environment.persistence."/nix/persist/system" = {
- hideMounts = true;
- directories = [
- "/var/lib/bluetooth"
- "/var/lib/nixos"
- "/var/lib/libvirt"
- "/var/lib/systemd/coredump"
- {
- directory = "/var/lib/private";
- mode = "u=rwx,g=,o=";
- }
- "/etc/NetworkManager/system-connections"
- {
- directory = "/etc/nix";
- user = "root";
- group = "root";
- mode = "u=rwx,g=rx,o=rx";
- }
- ];
- files = [
- "/etc/machine-id"
- ];
- };
-
- security.sudo.extraConfig = ''
- # rollback results in sudo lectures after each reboot
- Defaults lecture = never
- '';
-
-}
diff --git a/systems/aarch64-linux/pi4/pi4-hw.nix b/systems/aarch64-linux/pi4/pi4-hw.nix
deleted file mode 100644
index d29f290..0000000
--- a/systems/aarch64-linux/pi4/pi4-hw.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ ... }:
-{
- hardware = {
- raspberry-pi."4" = {
- apply-overlays-dtmerge.enable = true;
- audio.enable = true;
- backlight.enable = false;
- bluetooth.enable = true;
- dwc2.enable = true;
- i2c0.enable = true;
- i2c1.enable = true;
- leds = {
- eth.disable = false;
- act.disable = false;
- pwr.disable = false;
- };
- fkms-3d.enable = true;
- xhci.enable = true;
- };
- deviceTree.filter = "bcm2711-rpi-4*.dtb";
- };
-}
diff --git a/systems/aarch64-linux/pi4/pi4-uefi.nix b/systems/aarch64-linux/pi4/pi4-uefi.nix
deleted file mode 100644
index 928a4b9..0000000
--- a/systems/aarch64-linux/pi4/pi4-uefi.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchzip }:
-
-stdenv.mkDerivation rec {
- pname = "uefi_rpi4";
- version = "1.38";
-
- src = fetchzip {
- url = "https://github.com/pftf/RPi4/releases/download/v1.38/RPi4_UEFI_Firmware_v1.38.zip";
- hash = "sha256-9tOr80jcmguFy2bSz+H3TfmG8BkKyBTFoUZkMy8x+0g=";
- stripRoot = false;
- };
-
- installPhase = ''
- mkdir -p $out/share/uefi_rpi4
- cp -r * $out/share/uefi_rpi4
- '';
-
- meta = {
- description = "UEFI Firmware for Raspberry Pi 4";
- homepage = "https://github.com/pftf/RPi4";
- platforms = [ "aarch64-linux" ];
- };
-}
diff --git a/systems/aarch64-linux/pi4/pkg.nix b/systems/aarch64-linux/pi4/pkg.nix
deleted file mode 100644
index 39d7ce2..0000000
--- a/systems/aarch64-linux/pi4/pkg.nix
+++ /dev/null
@@ -1,58 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, nix-gitignore, dtc, installShellFiles, logLevel ? 5, ... }:
-
-let
- rawSrc = fetchFromGitHub {
- owner = "mjallen18";
- repo = "argononed";
- rev = "master"; # replace with actual commit or tag
- sha256 = "sha256-PpFR+6Aa4Pz9EmxOayMSsSTKFzUR6sYIAkGZ8+SUK18="; # fill this in with actual hash
- };
-
- ignores = ''
- /*
- !/version
- !/makefile
- !/configure
- !/src
- !/OS
- /OS/*
- !/OS/_common/
- !/OS/nixos/
- '';
-
- cleanSrc = nix-gitignore.gitignoreSourcePure ignores rawSrc;
-in
-
-stdenv.mkDerivation {
- pname = "argononed";
- version = lib.strings.fileContents "${cleanSrc}/version";
-
- src = cleanSrc;
-
- nativeBuildInputs = [ dtc installShellFiles ];
-
- preConfigure = ''
- patchShebangs --build ./configure
- export TARGET_DISTRO=nixos
- '';
-
- patches = [
- "${cleanSrc}/OS/nixos/patches/nixos.patch"
- "${cleanSrc}/OS/nixos/patches/shutdown.patch"
- ];
-
- buildFlags = [ "LOGLEVEL=${toString logLevel}" ];
-
- installFlags = [ "NIX_DRVOUT=$(out)" ];
-
- postInstall = ''
- installShellCompletion --bash --name argonone-cli OS/_common/argonone-cli-complete.bash
- '';
-
- meta = {
- description = "A replacement daemon for the Argon One Raspberry Pi case";
- homepage = "https://gitlab.com/DarkElvenAngel/argononed";
- license = lib.licenses.mit;
- platforms = [ "aarch64-linux" ];
- };
-}
diff --git a/systems/aarch64-linux/pi5/boot.nix b/systems/aarch64-linux/pi5/boot.nix
index bb38b79..6de3571 100755
--- a/systems/aarch64-linux/pi5/boot.nix
+++ b/systems/aarch64-linux/pi5/boot.nix
@@ -4,7 +4,7 @@ let
in
{
boot = {
- loader.raspberryPi.firmwarePackage = kernelBundle.raspberrypifw;
+ loader.raspberry-pi.firmwarePackage = kernelBundle.raspberrypifw;
kernelPackages = kernelBundle.linuxPackages_rpi5;
};
diff --git a/systems/aarch64-linux/pi5/configuration.nix b/systems/aarch64-linux/pi5/default.nix
old mode 100755
new mode 100644
similarity index 95%
rename from systems/aarch64-linux/pi5/configuration.nix
rename to systems/aarch64-linux/pi5/default.nix
index b532427..190c183
--- a/systems/aarch64-linux/pi5/configuration.nix
+++ b/systems/aarch64-linux/pi5/default.nix
@@ -2,7 +2,7 @@
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
-{ config, lib, pkgs, ... }:
+{ config, lib, pkgs, namespace, ... }:
let
user = "matt";
password = config.sops.secrets."pi5/matt-password".path;
@@ -11,14 +11,16 @@ in
{
imports = [
./boot.nix
- ./impermanence.nix
./networking.nix
./services.nix
./sops.nix
- ../../modules/desktop-environments/hyprland
- ./hass.nix
];
+ ${namespace} = {
+ hardware.disko.enable = true;
+ desktop.hyprland.enable = false;
+ };
+
# Enable nix flakes and nix-command tools
nix = {
settings = {
@@ -49,7 +51,7 @@ in
};
system.nixos.tags = let
- cfg = config.boot.loader.raspberryPi;
+ cfg = config.boot.loader.raspberry-pi;
in [
"raspberry-pi-${cfg.variant}"
cfg.bootloader
diff --git a/systems/aarch64-linux/pi5/disko.nix b/systems/aarch64-linux/pi5/disko.nix
deleted file mode 100644
index 3e631cc..0000000
--- a/systems/aarch64-linux/pi5/disko.nix
+++ /dev/null
@@ -1,109 +0,0 @@
-{ ... }:
-let
- rootDisk = "/dev/nvme0n1";
-in
-{
- disko.devices.disk.main.imageSize = "15G";
- disko.devices = {
- nodev."/" = {
- fsType = "tmpfs";
- mountOptions = [
- "mode=755"
- "defaults"
- "size=2G"
- ];
- };
- # root disk setup
- disk.main = {
- type = "disk";
- device = rootDisk;
- content = {
- type = "gpt";
- # specify partitions
- partitions = {
- # /boot/firmware
- FIRMWARE = {
- priority = 1;
- name = "FIRMWARE";
- start = "1M";
- end = "1G";
- type = "0700";
- content = {
- type = "filesystem";
- format = "vfat";
- mountpoint = "/boot/firmware";
- mountOptions = [ "umask=0077" ];
- };
- };
- # /boot
- ESP = {
- priority = 2;
- name = "ESP";
- # start = "1G";
- # end = "2G";
- size = "1G";
- type = "EF00";
- content = {
- type = "filesystem";
- format = "vfat";
- mountpoint = "/boot";
- mountOptions = [ "umask=0077" ];
- };
- };
-
- root = {
- name = "btrfs-root";
- size = "100%";
- content = {
- type = "btrfs";
- extraArgs = [ "-f" ]; # Override existing partition
- # Subvolumes must set a mountpoint in order to be mounted,
- # unless their parent is mounted
- subvolumes = {
- "home" = {
- mountOptions = [ "compress=zstd" ];
- mountpoint = "/home";
- };
- "root" = {
- mountOptions = [
- "compress=zstd"
- "noatime"
- ];
- mountpoint = "/root";
- };
- "nix" = {
- mountOptions = [
- "compress=zstd"
- "noatime"
- ];
- mountpoint = "/nix";
- };
- "etc" = {
- mountOptions = [
- "compress=zstd"
- "noatime"
- ];
- mountpoint = "/etc";
- };
- "tmp" = {
- mountOptions = [
- "compress=zstd"
- "noatime"
- ];
- mountpoint = "/tmp";
- };
- "log" = {
- mountOptions = [
- "compress=zstd"
- "noatime"
- ];
- mountpoint = "/var/log";
- };
- };
- };
- };
- };
- };
- };
- };
-}
diff --git a/systems/aarch64-linux/pi5/hardware-configuration.nix b/systems/aarch64-linux/pi5/hardware-configuration.nix
deleted file mode 100644
index fa9a787..0000000
--- a/systems/aarch64-linux/pi5/hardware-configuration.nix
+++ /dev/null
@@ -1,74 +0,0 @@
-# Do not modify this file! It was generated by ‘nixos-generate-config’
-# and may be overwritten by future invocations. Please make changes
-# to /etc/nixos/configuration.nix instead.
-{ config, lib, pkgs, modulesPath, ... }:
-
-{
- imports =
- [ (modulesPath + "/installer/scan/not-detected.nix")
- ];
-
- boot.initrd.availableKernelModules = [ ];
- boot.initrd.kernelModules = [ ];
- boot.kernelModules = [ ];
- boot.extraModulePackages = [ ];
-
- fileSystems."/" =
- { device = "none";
- fsType = "tmpfs";
- };
-
- fileSystems."/nix" =
- { device = "/dev/disk/by-uuid/6f7adf66-5662-48cd-9c50-690469e2b615";
- fsType = "btrfs";
- options = [ "subvol=nix" "compress=zstd" "noatime" ];
- };
-
- fileSystems."/etc" =
- { device = "/dev/disk/by-uuid/6f7adf66-5662-48cd-9c50-690469e2b615";
- fsType = "btrfs";
- options = [ "subvol=etc" "compress=zstd" "noatime" ];
- };
-
- fileSystems."/root" =
- { device = "/dev/disk/by-uuid/6f7adf66-5662-48cd-9c50-690469e2b615";
- fsType = "btrfs";
- options = [ "subvol=root" "compress=zstd" "noatime" ];
- };
-
- fileSystems."/var/log" =
- { device = "/dev/disk/by-uuid/6f7adf66-5662-48cd-9c50-690469e2b615";
- fsType = "btrfs";
- options = [ "subvol=log" "compress=zstd" "noatime" ];
- };
-
- fileSystems."/home" =
- { device = "/dev/disk/by-uuid/6f7adf66-5662-48cd-9c50-690469e2b615";
- fsType = "btrfs";
- options = [ "subvol=home" "compress=zstd" ];
- };
-
- fileSystems."/boot" =
- { device = "/dev/disk/by-uuid/7793-909B";
- fsType = "vfat";
- options = [ "fmask=0022" "dmask=0022" ];
- };
-
- fileSystems."/boot/firmware" =
- { device = "/dev/disk/by-uuid/15B0-5CAA";
- fsType = "vfat";
- options = [ "fmask=0022" "dmask=0022" ];
- };
-
- swapDevices = [ ];
-
- # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
- # (the default) this is the recommended approach. When using systemd-networkd it's
- # still possible to use this option, but it's recommended to use it in conjunction
- # with explicit per-interface declarations with `networking.interfaces..useDHCP`.
- networking.useDHCP = lib.mkDefault true;
- # networking.interfaces.end0.useDHCP = lib.mkDefault true;
- # networking.interfaces.wlan0.useDHCP = lib.mkDefault true;
-
- nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
-}
diff --git a/systems/aarch64-linux/pi5/impermanence.nix b/systems/aarch64-linux/pi5/impermanence.nix
deleted file mode 100755
index 352c30b..0000000
--- a/systems/aarch64-linux/pi5/impermanence.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ ... }:
-{
- # Set up impernance configuration for things like bluetooth
- # In this configuration with /etc and /var/log being persistent, only directories outside of that need to be done here. See hardware configuration for all mountpoints.
-
- environment.persistence."/nix/persist/system" = {
- hideMounts = true;
- directories = [
- "/var/lib/bluetooth"
- "/var/lib/nixos"
- "/var/lib/libvirt"
- "/var/lib/systemd/coredump"
- {
- directory = "/var/lib/private";
- mode = "u=rwx,g=,o=";
- }
- "/etc/NetworkManager/system-connections"
- {
- directory = "/etc/nix";
- user = "root";
- group = "root";
- mode = "u=rwx,g=rx,o=rx";
- }
- ];
-# files = [
-# "/etc/machine-id"
-# { file = "/etc/nix/id_rsa"; parentDirectory = { mode = "u=rwx,g=,o="; }; }
-# ];
- };
-
- security.sudo.extraConfig = ''
- # rollback results in sudo lectures after each reboot
- Defaults lecture = never
- '';
-
-}
diff --git a/systems/aarch64-linux/pi5/sops.nix b/systems/aarch64-linux/pi5/sops.nix
index 16dc0f6..7e007e4 100755
--- a/systems/aarch64-linux/pi5/sops.nix
+++ b/systems/aarch64-linux/pi5/sops.nix
@@ -4,7 +4,7 @@ let
in
{
sops = {
- defaultSopsFile = ../../secrets/pi5-secrets.yaml;
+ defaultSopsFile = ../../../secrets/pi5-secrets.yaml;
# age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
age.keyFile = "/home/matt/.config/sops/age/keys.txt";
@@ -13,7 +13,7 @@ in
# ------------------------------
secrets = {
"wifi" = {
- sopsFile = ../../secrets/secrets.yaml;
+ sopsFile = ../../../secrets/secrets.yaml;
};
"pi5/matt-password" = {
neededForUsers = true;
@@ -27,14 +27,14 @@ in
# ------------------------------
"ssh-keys-public/pi5" = {
- sopsFile = ../../secrets/secrets.yaml;
+ sopsFile = ../../../secrets/secrets.yaml;
mode = "0644";
owner = config.users.users."${user}".name;
group = config.users.users."${user}".group;
restartUnits = [ "sshd.service" ];
};
"ssh-keys-private/pi5" = {
- sopsFile = ../../secrets/secrets.yaml;
+ sopsFile = ../../../secrets/secrets.yaml;
mode = "0600";
owner = config.users.users."${user}".name;
group = config.users.users."${user}".group;