{ config, lib, pkgs, modulesPath, ... }: { imports = [ (modulesPath + "/installer/sd-card/sd-image-aarch64.nix") ]; boot = { kernelPackages = let version = "6.6.51"; tag = "stable_20241008"; srcHash = "sha256-phCxkuO+jUGZkfzSrBq6yErQeO2Td+inIGHxctXbD5U="; in pkgs.linuxPackagesFor (pkgs.linux_rpi4.override { argsOverride = { src = pkgs.fetchFromGitHub { owner = "raspberrypi"; repo = "linux"; rev = tag; hash = srcHash; }; version = version; modDirVersion = version; structuredExtraConfig = {}; kernelPatches = []; }; }); # Stop ZFS kernel being built supportedFilesystems = lib.mkForce [ "btrfs" "cifs" "f2fs" "jfs" "ntfs" "reiserfs" "vfat" "xfs" ]; tmp.cleanOnBoot = true; }; # Fix missing modules # https://github.com/NixOS/nixpkgs/issues/154163 nixpkgs.overlays = [ (final: prev: { makeModulesClosure = x: prev.makeModulesClosure (x // { allowMissing = true; }); }) (final: prev: { raspberrypifw = let version = "1.20241008"; srcHash = "sha256-4gnK0KbqFnjBmWia9Jt2gveVWftmHrprpwBqYVqE/k0="; in pkgs.blah.override { argsOverride = { src = prev.fetchFromGitHub { owner = "raspberrypi"; repo = "firmware"; rev = "${version}"; hash = srcHash; }; }; }; }) ]; fileSystems = { "/" = { device = "/dev/disk/by-label/NIXOS_SD"; fsType = "ext4"; options = [ "noatime" ]; }; }; }