diff --git a/flake.lock b/flake.lock index d0d0e09..836d9c9 100644 --- a/flake.lock +++ b/flake.lock @@ -102,11 +102,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1701656485, - "narHash": "sha256-xDFormrGCKKGqngHa2Bz1GTeKlFMMjLnHhTDRdMJ1hs=", + "lastModified": 1702453208, + "narHash": "sha256-0wRi9SposfE2wHqjuKt8WO2izKB/ASDOV91URunIqgo=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "fa194fc484fd7270ab324bb985593f71102e84d1", + "rev": "7763c6fd1f299cb9361ff2abf755ed9619ef01d6", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 45e99f0..35baae4 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,6 @@ inputs = { nixpkgs.url = "nixpkgs/nixos-23.11"; - nixos-hardware.url = "github:NixOS/nixos-hardware"; agenix.url = "github:ryantm/agenix"; home-manager = { url = "github:nix-community/home-manager/release-23.11"; @@ -13,6 +12,7 @@ url = "github:rafaelmardojai/firefox-gnome-theme"; flake = false; }; + nixos-hardware.url = "github:NixOS/nixos-hardware"; secrets = { url = "git+ssh://git@git.vimium.com/jordan/nix-secrets.git"; flake = false; @@ -23,7 +23,7 @@ }; }; - outputs = inputs @ { self, nixpkgs, agenix, home-manager, secrets, ... }: + outputs = inputs @ { self, nixpkgs, agenix, home-manager, nixos-hardware, secrets, ... }: let nixpkgsForSystem = system: inputs.nixpkgs; overlays = [ @@ -35,7 +35,7 @@ home-manager.nixosModule ./modules ]; - nixosSystem = system: name: + nixosSystem = { system, name, extraModules ? [] }: let nixpkgs = nixpkgsForSystem system; lib = (import nixpkgs { inherit overlays system; }).lib; @@ -57,16 +57,17 @@ }; }) ./hosts/${name} - ]; + ] ++ extraModules; }; - nixosConfigurations = { - atlas = nixosSystem "x86_64-linux" "atlas"; - eos = nixosSystem "x86_64-linux" "eos"; - helios = nixosSystem "x86_64-linux" "helios"; - odyssey = nixosSystem "x86_64-linux" "odyssey"; - pi = nixosSystem "aarch64-linux" "pi"; - }; in - { inherit nixosConfigurations; }; + { + nixosConfigurations = { + atlas = nixosSystem { system = "x86_64-linux"; name = "atlas"; }; + eos = nixosSystem { system = "x86_64-linux"; name = "eos"; }; + helios = nixosSystem { system = "x86_64-linux"; name = "helios"; }; + odyssey = nixosSystem { system = "x86_64-linux"; name = "odyssey"; }; + pi = nixosSystem { system = "aarch64-linux"; name = "pi"; extraModules = [ nixos-hardware.nixosModules.raspberry-pi-4 ]; }; + }; + }; } diff --git a/hosts/pi/default.nix b/hosts/pi/default.nix index 807cbfd..afc9a59 100644 --- a/hosts/pi/default.nix +++ b/hosts/pi/default.nix @@ -11,13 +11,12 @@ hardware = { raspberry-pi."4" = { apply-overlays-dtmerge.enable = true; - audio = false; + audio.enable = false; fkms-3d.enable = true; xhci.enable = true; }; deviceTree = { enable = true; - filter = "*rpi-4-*.dtb"; overlays = [ { name = "hifiberry-digi-pro"; dtboFile = "${pkgs.device-tree_rpi.overlays}/hifiberry-digi-pro.dtbo"; } ]; @@ -57,7 +56,7 @@ services.shairport-sync = { enable = true; - group = [ "pipewire" ]; + group = "pipewire"; openFirewall = true; }; diff --git a/hosts/pi/hardware-configuration.nix b/hosts/pi/hardware-configuration.nix index 0b287ee..39546af 100644 --- a/hosts/pi/hardware-configuration.nix +++ b/hosts/pi/hardware-configuration.nix @@ -2,10 +2,14 @@ { imports = [ - + (modulesPath + "/installer/sd-card/sd-image-aarch64.nix") ]; - boot.cleanTmpDir = true; + boot = { + # Stop ZFS kernel being built + supportedFilesystems = lib.mkForce [ "btrfs" "cifs" "f2fs" "jfs" "ntfs" "reiserfs" "vfat" "xfs" ]; + tmp.cleanOnBoot = true; + }; fileSystems = { "/" = {