diff options
author | Bjørn Forsman <bjorn.forsman@gmail.com> | 2019-06-10 20:27:04 +0200 |
---|---|---|
committer | Bjørn Forsman <bjorn.forsman@gmail.com> | 2019-06-16 15:26:33 +0200 |
commit | 9e45f6feac633fdc41eaaaa1ad65d77bda252472 (patch) | |
tree | 8d9c1f6432c12c37e2d9f88da0184db15aee8b7e /nixos | |
parent | b0ccba1a2da2aa2460fbbf51aaba455e46bd1e27 (diff) |
nixos-generate-config: don't generate swapDevices for *files*
Up until now, the output has been the same for swap devices and swap files: { device = "/var/swapfile"; } Whereas for swap *files* it's easier to manage them declaratively in configuration.nix: { device = "/var/swapfile"; size = 8192; } (NixOS will create the swapfile, and later resize it, if the size attribute is changed.) With the assumption that swap files are specified in configuration.nix, it's silly to output them to hardware-configuration.nix.
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/installer/tools/nixos-generate-config.pl | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index 0ccdac30d9158..9a1157d950132 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -324,10 +324,19 @@ my @swapDevices; if (@swaps) { shift @swaps; foreach my $swap (@swaps) { - $swap =~ /^(\S+)\s/; - next unless -e $1; - my $dev = findStableDevPath $1; - push @swapDevices, "{ device = \"$dev\"; }"; + my @fields = split ' ', $swap; + my $swapFilename = $fields[0]; + my $swapType = $fields[1]; + next unless -e $swapFilename; + my $dev = findStableDevPath $swapFilename; + if ($swapType =~ "partition") { + push @swapDevices, "{ device = \"$dev\"; }"; + } elsif ($swapType =~ "file") { + # swap *files* are more likely specified in configuration.nix, so + # ignore them here. + } else { + die "Unsupported swap type: $swapType\n"; + } } } |