From 7501370ae92a9f18946e6096d056fda8ef4afd7b Mon Sep 17 00:00:00 2001 From: Kiana Sheibani Date: Sun, 6 Apr 2025 02:33:03 -0400 Subject: [PATCH] refactor(deploy-rpi5): switch to `nixos-hardware` module --- deploy/rpi5/default.nix | 20 +++----------- flake.lock | 60 ++++++++++++++--------------------------- flake.nix | 17 +++++------- 3 files changed, 30 insertions(+), 67 deletions(-) diff --git a/deploy/rpi5/default.nix b/deploy/rpi5/default.nix index 8a3cfbf..502ae6c 100644 --- a/deploy/rpi5/default.nix +++ b/deploy/rpi5/default.nix @@ -1,20 +1,6 @@ { config, lib, ... }: { - options.aether.deploy.rpi5 = { - _internal.kernelPackages = lib.mkOption { - type = lib.types.raw; - description = '' - Kernel package to use for Raspberry Pi 5 support. - ''; - }; - }; - - config = - let cfg = config.aether.deploy.rpi5; - in { - nixpkgs.system = "aarch64-linux"; - boot.kernelPackages = cfg._internal.kernelPackages; - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = false; - }; + nixpkgs.system = "aarch64-linux"; + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = false; } diff --git a/flake.lock b/flake.lock index c563597..899858d 100644 --- a/flake.lock +++ b/flake.lock @@ -23,20 +23,6 @@ "type": "github" } }, - "flake-compat": { - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "revCount": 57, - "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" - } - }, "forgejo-tokyo-night": { "flake": false, "locked": { @@ -72,13 +58,28 @@ "type": "github" } }, + "nixos-hardware": { + "locked": { + "lastModified": 1743420942, + "narHash": "sha256-b/exDDQSLmENZZgbAEI3qi9yHkuXAXCPbormD8CSJXo=", + "owner": "NixOS", + "repo": "nixos-hardware", + "rev": "de6fc5551121c59c01e2a3d45b277a6d05077bc4", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixos-hardware", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1743448293, - "narHash": "sha256-bmEPmSjJakAp/JojZRrUvNcDX2R5/nuX6bm+seVaGhs=", + "lastModified": 1743583204, + "narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "77b584d61ff80b4cef9245829a6f1dfad5afdfa3", + "rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434", "type": "github" }, "original": { @@ -92,29 +93,8 @@ "inputs": { "agenix": "agenix", "forgejo-tokyo-night": "forgejo-tokyo-night", - "nixpkgs": "nixpkgs", - "rpi5-kernel": "rpi5-kernel" - } - }, - "rpi5-kernel": { - "inputs": { - "flake-compat": "flake-compat", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1704485878, - "narHash": "sha256-i7UH31IZyil99EUB5qnQJAiszFkea1B1yZf5pQEDIYg=", - "owner": "vriska", - "repo": "nix-rpi5", - "rev": "ac9942532e1dc2f825ad2aa3a6d31bfbd3b42eed", - "type": "gitlab" - }, - "original": { - "owner": "vriska", - "repo": "nix-rpi5", - "type": "gitlab" + "nixos-hardware": "nixos-hardware", + "nixpkgs": "nixpkgs" } }, "systems": { diff --git a/flake.nix b/flake.nix index bd59b40..24356df 100644 --- a/flake.nix +++ b/flake.nix @@ -3,9 +3,7 @@ description = "Aether - web server configuration"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - - rpi5-kernel.url = "gitlab:vriska/nix-rpi5"; - rpi5-kernel.inputs.nixpkgs.follows = "nixpkgs"; + nixos-hardware.url = "github:NixOS/nixos-hardware"; agenix.url = "github:ryantm/agenix"; agenix.inputs.nixpkgs.follows = "nixpkgs"; @@ -15,7 +13,7 @@ inputs = { forgejo-tokyo-night.flake = false; }; -outputs = inputs@{ self, nixpkgs, agenix, rpi5-kernel, ... }: +outputs = inputs@{ self, nixpkgs, nixos-hardware, agenix, ... }: let inherit (nixpkgs) lib; @@ -23,8 +21,7 @@ outputs = inputs@{ self, nixpkgs, agenix, rpi5-kernel, ... }: # (Mostly used for injecting flake inputs) extraConfig = { deploy-rpi5 = { - aether.deploy.rpi5._internal.kernelPackages = lib.mkDefault - rpi5-kernel.legacyPackages.aarch64-linux.linuxPackages_rpi5; + imports = [ nixos-hardware.nixosModules.raspberry-pi-5 ]; }; }; @@ -47,11 +44,11 @@ outputs = inputs@{ self, nixpkgs, agenix, rpi5-kernel, ... }: (name: ./deploy/${lib.removePrefix "deploy-" name}); modulesWithCfg = builtins.mapAttrs (k: v: { - imports = [ v ]; - } // extraConfig.${k} or {}) modules; + imports = [ v (extraConfig.${k} or {}) ]; + }) modules; deploymentsWithCfg = builtins.mapAttrs (k: v: { - imports = [ v ]; - } // extraConfig.${k} or {}) deployments; + imports = [ v (extraConfig.${k} or {}) ]; + }) deployments; in { nixosModules = modulesWithCfg // deploymentsWithCfg // {