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.
This commit is contained in:
Bjørn Forsman 2019-06-10 20:27:04 +02:00
parent b0ccba1a2d
commit 9e45f6feac

View File

@ -324,10 +324,19 @@ my @swapDevices;
if (@swaps) { if (@swaps) {
shift @swaps; shift @swaps;
foreach my $swap (@swaps) { foreach my $swap (@swaps) {
$swap =~ /^(\S+)\s/; my @fields = split ' ', $swap;
next unless -e $1; my $swapFilename = $fields[0];
my $dev = findStableDevPath $1; my $swapType = $fields[1];
next unless -e $swapFilename;
my $dev = findStableDevPath $swapFilename;
if ($swapType =~ "partition") {
push @swapDevices, "{ device = \"$dev\"; }"; 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";
}
} }
} }