diff options
author | Linus Heckemann <git@sphalerite.org> | 2022-07-28 14:34:44 +0200 |
---|---|---|
committer | Linus Heckemann <git@sphalerite.org> | 2023-07-10 16:39:35 +0200 |
commit | 0b277bcc2b40c6ecd728c44635fa92262bedf620 (patch) | |
tree | aa04f28a53d623a508dd98ec819cc706ff0a9eca /nixos/modules/installer/tools | |
parent | 408c0e8c15a1c9cf5c3226931b6f283c9867c484 (diff) | |
download | nixpkgs-0b277bcc2b40c6ecd728c44635fa92262bedf620.tar nixpkgs-0b277bcc2b40c6ecd728c44635fa92262bedf620.tar.gz nixpkgs-0b277bcc2b40c6ecd728c44635fa92262bedf620.tar.bz2 nixpkgs-0b277bcc2b40c6ecd728c44635fa92262bedf620.tar.lz nixpkgs-0b277bcc2b40c6ecd728c44635fa92262bedf620.tar.xz nixpkgs-0b277bcc2b40c6ecd728c44635fa92262bedf620.tar.zst nixpkgs-0b277bcc2b40c6ecd728c44635fa92262bedf620.zip |
nixos/swraid: make entire module optional
swraid support will now only be enabled by default if stateVersion is older than 23.11. nixos-generate-config will now generate explicit config for enabling support if needed.
Diffstat (limited to 'nixos/modules/installer/tools')
-rw-r--r-- | nixos/modules/installer/tools/nixos-generate-config.pl | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index 2e572ef0247..b08bf1e45d1 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -381,6 +381,7 @@ sub in { my $fileSystems; my %fsByDev; +my $useSwraid = 0; foreach my $fs (read_file("/proc/self/mountinfo")) { chomp $fs; my @fields = split / /, $fs; @@ -510,8 +511,8 @@ EOF # boot.initrd.luks.devices entry. if (-e $device) { my $deviceName = basename(abs_path($device)); - if (-e "/sys/class/block/$deviceName" - && read_file("/sys/class/block/$deviceName/dm/uuid", err_mode => 'quiet') =~ /^CRYPT-LUKS/) + my $dmUuid = read_file("/sys/class/block/$deviceName/dm/uuid", err_mode => 'quiet'); + if ($dmUuid =~ /^CRYPT-LUKS/) { my @slaves = glob("/sys/class/block/$deviceName/slaves/*"); if (scalar @slaves == 1) { @@ -527,8 +528,14 @@ EOF } } } + if (-e "/sys/class/block/$deviceName/md/uuid") { + $useSwraid = 1; + } } } +if ($useSwraid) { + push @attrs, "boot.initrd.services.swraid.enable = true;\n\n"; +} # Generate the hardware configuration file. |