summary refs log tree commit diff
diff options
context:
space:
mode:
authorArtturin <Artturin@artturin.com>2021-11-20 03:48:59 +0200
committerArtturin <Artturin@artturin.com>2022-02-09 18:38:17 +0200
commitaaf13bb3bd00f506a52e2bebd1ddc8e27e66c62f (patch)
tree69a181b81b60c059db1c3cf9ef76d2a0e1d3443a
parentb2eacd1595216bce991c0b82b83393888c56bc12 (diff)
downloadnixpkgs-aaf13bb3bd00f506a52e2bebd1ddc8e27e66c62f.tar
nixpkgs-aaf13bb3bd00f506a52e2bebd1ddc8e27e66c62f.tar.gz
nixpkgs-aaf13bb3bd00f506a52e2bebd1ddc8e27e66c62f.tar.bz2
nixpkgs-aaf13bb3bd00f506a52e2bebd1ddc8e27e66c62f.tar.lz
nixpkgs-aaf13bb3bd00f506a52e2bebd1ddc8e27e66c62f.tar.xz
nixpkgs-aaf13bb3bd00f506a52e2bebd1ddc8e27e66c62f.tar.zst
nixpkgs-aaf13bb3bd00f506a52e2bebd1ddc8e27e66c62f.zip
nixos/nixos-generate-config: fix proram path replacements
btrfs-progs was made optional in 2019 c01ea27ce356e1433da01a7b46ba40c880f2f2ac
because it didn't cross-compile. it now does
-rw-r--r--nixos/modules/installer/tools/nixos-generate-config.pl6
-rw-r--r--nixos/modules/installer/tools/tools.nix3
2 files changed, 5 insertions, 4 deletions
diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl
index fe8c4fb1a6b..1220c1849d6 100644
--- a/nixos/modules/installer/tools/nixos-generate-config.pl
+++ b/nixos/modules/installer/tools/nixos-generate-config.pl
@@ -279,7 +279,7 @@ if (`lsblk -o TYPE` =~ "lvm") {
     push @initrdKernelModules, "dm-snapshot";
 }
 
-my $virt = `systemd-detect-virt`;
+my $virt = `@detectvirt@`;
 chomp $virt;
 
 
@@ -398,7 +398,7 @@ foreach my $fs (read_file("/proc/self/mountinfo")) {
     # Maybe this is a bind-mount of a filesystem we saw earlier?
     if (defined $fsByDev{$fields[2]}) {
         # Make sure this isn't a btrfs subvolume.
-        my $msg = `btrfs subvol show $rootDir$mountPoint`;
+        my $msg = `@btrfs@ subvol show $rootDir$mountPoint`;
         if ($? != 0 || $msg =~ /ERROR:/s) {
             my $path = $fields[3]; $path = "" if $path eq "/";
             my $base = $fsByDev{$fields[2]};
@@ -436,7 +436,7 @@ EOF
 
     # Is this a btrfs filesystem?
     if ($fsType eq "btrfs") {
-        my ($status, @info) = runCommand("btrfs subvol show $rootDir$mountPoint");
+        my ($status, @info) = runCommand("@btrfs@ subvol show $rootDir$mountPoint");
         if ($status != 0 || join("", @info) =~ /ERROR:/) {
             die "Failed to retrieve subvolume info for $mountPoint\n";
         }
diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix
index ea96989375c..b7f508eeb3a 100644
--- a/nixos/modules/installer/tools/tools.nix
+++ b/nixos/modules/installer/tools/tools.nix
@@ -33,8 +33,9 @@ let
   nixos-generate-config = makeProg {
     name = "nixos-generate-config";
     src = ./nixos-generate-config.pl;
-    path = lib.optionals (lib.elem "btrfs" config.boot.supportedFilesystems) [ pkgs.btrfs-progs ];
     perl = "${pkgs.perl.withPackages (p: [ p.FileSlurp ])}/bin/perl";
+    detectvirt = "${pkgs.systemd}/bin/systemd-detect-virt";
+    btrfs = "${pkgs.btrfs-progs}/bin/btrfs";
     inherit (config.system.nixos-generate-config) configuration desktopConfiguration;
     xserverEnabled = config.services.xserver.enable;
   };