From 515e48f92f9a9fdc612129247728a16651464eac Mon Sep 17 00:00:00 2001 From: Abel Svoboda Date: Wed, 25 Mar 2026 00:23:11 +1300 Subject: [PATCH] Also apply --system-config to diskoSystem This allows users to parameterize their disk configuration (e.g. swap size) at install time. --- install-cli.nix | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/install-cli.nix b/install-cli.nix index 578ecc2fb..e08673761 100644 --- a/install-cli.nix +++ b/install-cli.nix @@ -10,6 +10,13 @@ let originalSystem = (builtins.getFlake "${flake}").nixosConfigurations."${flakeAttr}"; lib = originalSystem.pkgs.lib; + # Apply extraSystemConfig first, before accessing any config values + baseSystem = originalSystem.extendModules { + modules = [ + ({ _file = "disko-install --system-config"; } // (builtins.fromJSON extraSystemConfig)) + ]; + }; + deviceName = name: if diskMappings ? ${name} then @@ -29,12 +36,12 @@ let device = dev; }; } - ) originalSystem.config.disko.devices.disk; + ) baseSystem.config.disko.devices.disk; # filter all nixos module internal attributes cleanedDisks = lib.filterAttrsRecursive (n: _: !lib.hasPrefix "_" n) modifiedDisks; - diskoSystem = originalSystem.extendModules { + diskoSystem = baseSystem.extendModules { modules = [ { disko.rootMountPoint = rootMountPoint; @@ -43,18 +50,12 @@ let ]; }; - installSystem = originalSystem.extendModules { + installSystem = baseSystem.extendModules { modules = [ - ( - { lib, ... }: - { - boot.loader.efi.canTouchEfiVariables = lib.mkVMOverride writeEfiBootEntries; - boot.loader.grub.devices = lib.mkVMOverride (lib.attrValues diskMappings); - imports = [ - ({ _file = "disko-install --system-config"; } // (builtins.fromJSON extraSystemConfig)) - ]; - } - ) + { + boot.loader.efi.canTouchEfiVariables = lib.mkVMOverride writeEfiBootEntries; + boot.loader.grub.devices = lib.mkVMOverride (lib.attrValues diskMappings); + } ]; }; in