about summary refs log tree commit diff
path: root/nixos/modules
diff options
context:
space:
mode:
authorArtturin <Artturin@artturin.com>2022-03-18 23:02:49 +0200
committerArtturin <Artturin@artturin.com>2022-03-18 23:16:19 +0200
commit611b8c4472db0bde066b97960ccfe4671ffb89fb (patch)
tree3f347a131c8c0891a75d5b7aa17e8383f768bffb /nixos/modules
parent00487b5a87cff8c0970a64a040377949ffa11b1a (diff)
downloadnixlib-611b8c4472db0bde066b97960ccfe4671ffb89fb.tar
nixlib-611b8c4472db0bde066b97960ccfe4671ffb89fb.tar.gz
nixlib-611b8c4472db0bde066b97960ccfe4671ffb89fb.tar.bz2
nixlib-611b8c4472db0bde066b97960ccfe4671ffb89fb.tar.lz
nixlib-611b8c4472db0bde066b97960ccfe4671ffb89fb.tar.xz
nixlib-611b8c4472db0bde066b97960ccfe4671ffb89fb.tar.zst
nixlib-611b8c4472db0bde066b97960ccfe4671ffb89fb.zip
nixos/nixos-generate-config: fix specifying --root /mnt --dir adir
it should save to `$PWD/adir` instead of `/mnt/adir`
and --dir adir should save to `$PWD/adir` instead of `/adir`
Diffstat (limited to 'nixos/modules')
-rw-r--r--nixos/modules/installer/tools/nixos-generate-config.pl8
1 files changed, 7 insertions, 1 deletions
diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl
index 1a9b1d061cf1..fb5d3ba47325 100644
--- a/nixos/modules/installer/tools/nixos-generate-config.pl
+++ b/nixos/modules/installer/tools/nixos-generate-config.pl
@@ -51,6 +51,7 @@ for (my $n = 0; $n < scalar @ARGV; $n++) {
         $n++;
         $rootDir = $ARGV[$n];
         die "$0: ‘--root’ requires an argument\n" unless defined $rootDir;
+        die "$0: no need to specify `/` with `--root`, it is the default\n" if $rootDir eq "/";
         $rootDir =~ s/\/*$//; # remove trailing slashes
         $rootDir = File::Spec->rel2abs($rootDir); # resolve absolute path
     }
@@ -617,7 +618,12 @@ EOF
 if ($showHardwareConfig) {
     print STDOUT $hwConfig;
 } else {
-    $outDir = "$rootDir$outDir";
+    if ($outDir eq "/etc/nixos") {
+        $outDir = "$rootDir$outDir";
+    } else {
+        $outDir = File::Spec->rel2abs($outDir);
+        $outDir =~ s/\/*$//; # remove trailing slashes
+    }
 
     my $fn = "$outDir/hardware-configuration.nix";
     print STDERR "writing $fn...\n";