diff --git a/flake.lock b/flake.lock index 55f03c2..cbfe238 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1779036909, - "narHash": "sha256-zXcwYQGCT6pzinK+1dBB2ekTVtfxGZAapb3Evdcu4fY=", + "lastModified": 1784500460, + "narHash": "sha256-UvORnAxTRHax7RG74W8Z2t4GvIkX6AjJ5kk0QlwZomo=", "owner": "nix-darwin", "repo": "nix-darwin", - "rev": "56c666e108467d87d13508936aade6d567f2a501", + "rev": "57a3171f94705599a2499248ca5758d5eb47c0e0", "type": "github" }, "original": { @@ -53,27 +53,6 @@ "type": "github" } }, - "gitignore": { - "inputs": { - "nixpkgs": [ - "pre-commit-hooks", - "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": [ @@ -81,11 +60,11 @@ ] }, "locked": { - "lastModified": 1779726696, - "narHash": "sha256-/p37CB5n6Wpw250b0Lq0CYwNq2D8uGKzDoBulyLcQqA=", + "lastModified": 1785168662, + "narHash": "sha256-kGJTc0oEUQuEwV66lSlMxYtOEtpk9N/HS43k+rFAvs8=", "owner": "nix-community", "repo": "home-manager", - "rev": "1a95e2efb477959b70b4a14c51035975c0481df6", + "rev": "cbb77679b3d992c8b62f884cd3a84af534a28621", "type": "github" }, "original": { @@ -94,40 +73,6 @@ "type": "github" } }, - "libcamera-src": { - "flake": false, - "locked": { - "lastModified": 1725630279, - "narHash": "sha256-KH30jmHfxXq4j2CL7kv18DYECJRp9ECuWNPnqPZajPA=", - "owner": "raspberrypi", - "repo": "libcamera", - "rev": "69a894c4adad524d3063dd027f5c4774485cf9db", - "type": "github" - }, - "original": { - "owner": "raspberrypi", - "repo": "libcamera", - "rev": "69a894c4adad524d3063dd027f5c4774485cf9db", - "type": "github" - } - }, - "libpisp-src": { - "flake": false, - "locked": { - "lastModified": 1724944683, - "narHash": "sha256-Fo2UJmQHS855YSSKKmGrsQnJzXog1cdpkIOO72yYAM4=", - "owner": "raspberrypi", - "repo": "libpisp", - "rev": "28196ed6edcfeda88d23cc5f213d51aa6fa17bb3", - "type": "github" - }, - "original": { - "owner": "raspberrypi", - "ref": "v1.0.7", - "repo": "libpisp", - "type": "github" - } - }, "nixlib": { "locked": { "lastModified": 1736643958, @@ -164,13 +109,33 @@ "type": "github" } }, + "nixos-hardware": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1784723954, + "narHash": "sha256-1CfD8ZUjCkTgjsneLZ/lxCHhgDfqxxE7/GX0MmsgiqA=", + "owner": "NixOS", + "repo": "nixos-hardware", + "rev": "a017f5b72210026af5b3ac5949f08d94380a6fbd", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixos-hardware", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1779786838, - "narHash": "sha256-0geHoGiR5f8qiXg+gO4rSF6Up6Var+kKqiOv9AO/uUc=", + "lastModified": 1785141334, + "narHash": "sha256-kh35kIx7el4Jk8Ki3BH9/Pn1eZYSYLJ6LMALos0zOy0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f44f7788c891fbe5542177df78374f8cdab10e8f", + "rev": "38a4887411571457d700c51c64a6e49ead2ed5ab", "type": "github" }, "original": { @@ -180,36 +145,19 @@ "type": "github" } }, - "nixpkgs_2": { - "locked": { - "lastModified": 1736061677, - "narHash": "sha256-DjkQPnkAfd7eB522PwnkGhOMuT9QVCZspDpJJYyOj60=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "cbd8ec4de4469333c82ff40d057350c30e9f7d36", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat_2", - "gitignore": "gitignore", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1778507602, - "narHash": "sha256-kTwur1wV+01SdqskVMSo6JMEpg71ps3HpbFY2GsflKs=", + "lastModified": 1784288435, + "narHash": "sha256-ReRHaLgr/uVqdD8afFSn+myXIfpHeOhP0yYe0TJqAA8=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "61ab0e80d9c7ab14c256b5b453d8b3fb0189ba0a", + "rev": "43b3c1ab9d40fb1dbb008f451988a91e375825e9", "type": "github" }, "original": { @@ -218,165 +166,19 @@ "type": "github" } }, - "raspberry-pi-nix": { - "inputs": { - "libcamera-src": "libcamera-src", - "libpisp-src": "libpisp-src", - "nixpkgs": "nixpkgs_2", - "rpi-bluez-firmware-src": "rpi-bluez-firmware-src", - "rpi-firmware-nonfree-src": "rpi-firmware-nonfree-src", - "rpi-firmware-src": "rpi-firmware-src", - "rpi-linux-6_12_17-src": "rpi-linux-6_12_17-src", - "rpi-linux-6_6_78-src": "rpi-linux-6_6_78-src", - "rpi-linux-stable-src": "rpi-linux-stable-src", - "rpicam-apps-src": "rpicam-apps-src" - }, - "locked": { - "lastModified": 1742223591, - "narHash": "sha256-ZNTz8r5jlJ1jvpqf5+aUYgpnYJSVX0iP14doOc1Hm0E=", - "owner": "nix-community", - "repo": "raspberry-pi-nix", - "rev": "3e8100d5e976a6a2be363015cb33463af9ef441a", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "raspberry-pi-nix", - "type": "github" - } - }, "root": { "inputs": { "darwin": "darwin", "flake-compat": "flake-compat", "home-manager": "home-manager", "nixos-generators": "nixos-generators", + "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", "pre-commit-hooks": "pre-commit-hooks", - "raspberry-pi-nix": "raspberry-pi-nix", "sops-nix": "sops-nix", "systems": "systems" } }, - "rpi-bluez-firmware-src": { - "flake": false, - "locked": { - "lastModified": 1708969706, - "narHash": "sha256-KakKnOBeWxh0exu44beZ7cbr5ni4RA9vkWYb9sGMb8Q=", - "owner": "RPi-Distro", - "repo": "bluez-firmware", - "rev": "78d6a07730e2d20c035899521ab67726dc028e1c", - "type": "github" - }, - "original": { - "owner": "RPi-Distro", - "ref": "bookworm", - "repo": "bluez-firmware", - "type": "github" - } - }, - "rpi-firmware-nonfree-src": { - "flake": false, - "locked": { - "lastModified": 1723266537, - "narHash": "sha256-T7eTKXqY9cxEMdab8Snda4CEOrEihy5uOhA6Fy+Mhnw=", - "owner": "RPi-Distro", - "repo": "firmware-nonfree", - "rev": "4b356e134e8333d073bd3802d767a825adec3807", - "type": "github" - }, - "original": { - "owner": "RPi-Distro", - "ref": "bookworm", - "repo": "firmware-nonfree", - "type": "github" - } - }, - "rpi-firmware-src": { - "flake": false, - "locked": { - "lastModified": 1728405098, - "narHash": "sha256-4gnK0KbqFnjBmWia9Jt2gveVWftmHrprpwBqYVqE/k0=", - "owner": "raspberrypi", - "repo": "firmware", - "rev": "7bbb5f80d20a2335066a8781459c9f33e5eebc64", - "type": "github" - }, - "original": { - "owner": "raspberrypi", - "ref": "1.20241008", - "repo": "firmware", - "type": "github" - } - }, - "rpi-linux-6_12_17-src": { - "flake": false, - "locked": { - "lastModified": 1740765145, - "narHash": "sha256-hoCsGc4+RC/2LmxDtswLBL5ZhWlw4vSiL4Vkl39r2MU=", - "owner": "raspberrypi", - "repo": "linux", - "rev": "5985ce32e511f4e8279a841a1b06a8c7d972b386", - "type": "github" - }, - "original": { - "owner": "raspberrypi", - "ref": "rpi-6.12.y", - "repo": "linux", - "type": "github" - } - }, - "rpi-linux-6_6_78-src": { - "flake": false, - "locked": { - "lastModified": 1740503700, - "narHash": "sha256-Y8+ot4Yi3UKwlZK3ap15rZZ16VZDvmeFkD46+6Ku7bE=", - "owner": "raspberrypi", - "repo": "linux", - "rev": "2e071057fded90e789c0101498e45a1778be93fe", - "type": "github" - }, - "original": { - "owner": "raspberrypi", - "ref": "rpi-6.6.y", - "repo": "linux", - "type": "github" - } - }, - "rpi-linux-stable-src": { - "flake": false, - "locked": { - "lastModified": 1728403745, - "narHash": "sha256-phCxkuO+jUGZkfzSrBq6yErQeO2Td+inIGHxctXbD5U=", - "owner": "raspberrypi", - "repo": "linux", - "rev": "5aeecea9f4a45248bcf564dec924965e066a7bfd", - "type": "github" - }, - "original": { - "owner": "raspberrypi", - "ref": "stable_20241008", - "repo": "linux", - "type": "github" - } - }, - "rpicam-apps-src": { - "flake": false, - "locked": { - "lastModified": 1727515047, - "narHash": "sha256-qCYGrcibOeGztxf+sd44lD6VAOGoUNwRqZDdAmcTa/U=", - "owner": "raspberrypi", - "repo": "rpicam-apps", - "rev": "a8ccf9f3cd9df49875dfb834a2b490d41d226031", - "type": "github" - }, - "original": { - "owner": "raspberrypi", - "ref": "v1.5.2", - "repo": "rpicam-apps", - "type": "github" - } - }, "sops-nix": { "inputs": { "nixpkgs": [ @@ -384,11 +186,11 @@ ] }, "locked": { - "lastModified": 1777944972, - "narHash": "sha256-VfGRo1qTBKOe3s2gOv8LSoA6Fk19PvBlwQ1ECN0Evn8=", + "lastModified": 1783174389, + "narHash": "sha256-aCWC8ngycU7OdJrU2+Je3qf+1a2ykuBvpPhZT/9tXMc=", "owner": "Mic92", "repo": "sops-nix", - "rev": "c591bf665727040c6cc5cb409079acb22dcce33c", + "rev": "f1406619a3884cd5c47992a70b8b35c9c0fcb4c9", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 3a75157..b405ef2 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,11 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; systems.url = "github:nix-systems/default"; - raspberry-pi-nix.url = "github:nix-community/raspberry-pi-nix"; + + nixos-hardware = { + url = "github:NixOS/nixos-hardware"; + inputs.nixpkgs.follows = "nixpkgs"; + }; darwin = { url = "github:nix-darwin/nix-darwin/master"; diff --git a/hosts/aristotle/configuration.nix b/hosts/aristotle/configuration.nix index 5f35b18..47a8747 100644 --- a/hosts/aristotle/configuration.nix +++ b/hosts/aristotle/configuration.nix @@ -1,65 +1,50 @@ -{ pkgs, raspberry-pi-nix, ... }: +{ pkgs, nixos-hardware, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix ../../nix/modules/base/nixos.nix - raspberry-pi-nix.nixosModules.raspberry-pi + nixos-hardware.nixosModules.raspberry-pi-4 ../../nix/modules/ipfs/cluster.nix # ../../nix/modules/k3s/agent.nix ../../nix/modules/sops ]; - # See: https://github.com/NixOS/nixos-hardware/issues/858 - boot.initrd.systemd.tpm2.enable = false; + boot = { + # See: https://github.com/NixOS/nixos-hardware/issues/858 + initrd.systemd.tpm2.enable = false; + initrd.availableKernelModules = [ + "xhci_pci" + "usbhid" + "usb_storage" + ]; - boot.kernelParams = [ - "cgroup_enable=memory" - "cgroup_enable=cpuset" - "cgroup_memory=1" - ]; + kernelParams = [ + "cgroup_enable=memory" + "cgroup_enable=cpuset" + "cgroup_memory=1" + ]; - raspberry-pi-nix.board = "bcm2711"; - hardware.raspberry-pi.config = { - all = { - dt-overlays = { - rpi-poe = { - enable = true; - params = { - poe_fan_temp0 = { - enable = true; - value = 50000; - }; - poe_fan_temp1 = { - enable = true; - value = 60000; - }; - poe_fan_temp2 = { - enable = true; - value = 70000; - }; - poe_fan_temp3 = { - enable = true; - value = 80000; - }; - }; - }; - }; + loader = { + grub.enable = false; + generic-extlinux-compatible.enable = true; + }; + }; + + hardware.raspberry-pi = { + firmware = { + enable = true; + uboot.enable = true; + }; + "4".poe-hat = { + enable = true; }; }; time.timeZone = "America/Toronto"; networking = { - # networking.hostName = "nixos"; # Define your hostname. - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. - - # The global useDHCP flag is deprecated, therefore explicitly set to false here. - # Per-interface useDHCP will be mandatory in the future, so this generated config - # replicates the default behaviour. - useDHCP = false; - interfaces.eth0.useDHCP = true; - interfaces.wlan0.useDHCP = true; + useDHCP = true; firewall.enable = false; }; diff --git a/hosts/aristotle/hardware-configuration.nix b/hosts/aristotle/hardware-configuration.nix index 87d9446..cefe9ab 100644 --- a/hosts/aristotle/hardware-configuration.nix +++ b/hosts/aristotle/hardware-configuration.nix @@ -6,6 +6,15 @@ { imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; + fileSystems."/boot/firmware" = { + device = "/dev/disk/by-label/FIRMWARE"; + fsType = "vfat"; + options = [ + "fmask=0022" + "dmask=0022" + ]; + }; + fileSystems."/" = { device = "/dev/disk/by-label/NIXOS_SD"; fsType = "ext4"; diff --git a/nix/modules/base/nixos.nix b/nix/modules/base/nixos.nix index 6642db8..0611cff 100644 --- a/nix/modules/base/nixos.nix +++ b/nix/modules/base/nixos.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ pkgs, ... }: { imports = [ @@ -43,21 +43,10 @@ openssh.enable = true; tailscale = { enable = true; - extraSetFlags = [ "--webclient" ]; }; }; system = { - autoUpgrade = { - enable = true; - flake = "github:walkah/athens#${config.networking.hostName}"; - dates = "hourly"; - flags = [ - "--option" - "tarball-ttl" - "0" - ]; - }; stateVersion = "23.05"; }; } diff --git a/nix/nixos.nix b/nix/nixos.nix index 37f7967..74aebc3 100644 --- a/nix/nixos.nix +++ b/nix/nixos.nix @@ -2,7 +2,7 @@ self, nixpkgs, home-manager, - raspberry-pi-nix, + nixos-hardware, sops-nix, ... }: @@ -23,7 +23,7 @@ let { nixpkgs.hostPlatform = hostSystem; } ] ++ modules; - specialArgs = { inherit raspberry-pi-nix sops-nix; }; + specialArgs = { inherit nixos-hardware sops-nix; }; }; in {