From 9a6522d05c9d2cd0b34a0ff2554d2839c4e953ad Mon Sep 17 00:00:00 2001 From: Gerg-L Date: Sat, 14 Oct 2023 17:50:35 -0400 Subject: [PATCH] fix disko generation --- .../disko.nix => disko/game-desktop.nix | 7 ++----- .../disko.nix => disko/gerg-desktop.nix | 11 +++------- .../disko.nix => disko/media-laptop.nix | 7 ++----- lib/default.nix | 20 +++++++++++++++++-- 4 files changed, 25 insertions(+), 20 deletions(-) rename hosts/game-desktop/disko.nix => disko/game-desktop.nix (87%) rename hosts/gerg-desktop/disko.nix => disko/gerg-desktop.nix (94%) rename hosts/media-laptop/disko.nix => disko/media-laptop.nix (87%) diff --git a/hosts/game-desktop/disko.nix b/disko/game-desktop.nix similarity index 87% rename from hosts/game-desktop/disko.nix rename to disko/game-desktop.nix index 8b996a2..a7c624d 100644 --- a/hosts/game-desktop/disko.nix +++ b/disko/game-desktop.nix @@ -1,7 +1,5 @@ -{ disko, ... }: -{ - imports = [ disko.nixosModules.disko ]; - disko.devices.disk.nvme0n1 = +_: { + disk.nvme0n1 = let baseDevice = "/dev/disk/by-id/nvme-WDC_PC_SN530_SDBPNPZ-512G-1006_21311N802456"; in @@ -35,5 +33,4 @@ }; }; }; - _file = ./disko.nix; } diff --git a/hosts/gerg-desktop/disko.nix b/disko/gerg-desktop.nix similarity index 94% rename from hosts/gerg-desktop/disko.nix rename to disko/gerg-desktop.nix index 23bbb15..bc47f50 100644 --- a/hosts/gerg-desktop/disko.nix +++ b/disko/gerg-desktop.nix @@ -1,9 +1,6 @@ -{ disko, ... }: -{ lib, ... }: -{ - imports = [ disko.nixosModules.disko ]; +lib: { - disko.devices.disk = + disk = lib.genAttrs [ "0E" @@ -53,8 +50,7 @@ }; } ); - - disko.devices.zpool = { + zpool = { rpool = { type = "zpool"; mode = "mirror"; @@ -108,5 +104,4 @@ }; }; }; - _file = ./disko.nix; } diff --git a/hosts/media-laptop/disko.nix b/disko/media-laptop.nix similarity index 87% rename from hosts/media-laptop/disko.nix rename to disko/media-laptop.nix index 4456a33..ea4c2df 100644 --- a/hosts/media-laptop/disko.nix +++ b/disko/media-laptop.nix @@ -1,7 +1,5 @@ -{ disko, ... }: -{ - imports = [ disko.nixosModules.disko ]; - disko.devices.disk.sda = +_: { + disk.sda = let baseDevice = "/dev/disk/by-id/ata-WDC_WDS240G2G0A-00JH30_180936803144"; in @@ -35,5 +33,4 @@ }; }; }; - _file = ./disko.nix; } diff --git a/lib/default.nix b/lib/default.nix index 6f869fe..d8a4c79 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -1,4 +1,9 @@ -inputs@{ unstable, self, ... }: +inputs@{ + unstable, + self, + disko, + ... +}: let inherit (unstable) lib; @@ -62,12 +67,23 @@ in networking.hostName = name; nixpkgs.hostPlatform = system; }) + (lib.optionals (self.diskoConfigurations ? "disko-${name}") [ + self.diskoConfigurations."disko-${name}" + disko.nixosModules.default + ]) ]; } ); mkDisko = names: - lib.genAttrs names (name: (import "${self}/hosts/${name}/disko.nix" inputs)); + lib.listToAttrs ( + map + (name: { + name = "disko-${name}"; + value.disko.devices = import "${self}/disko/${name}.nix" lib; + }) + names + ); mkPackages = path: pkgs: