Skip to content

Commit 57730f9

Browse files
authored
Merge pull request #569 from a-kenji/ke-run-nixos-facter
feat: Fallback to `nixpkgs#nixos-facter` if not available in booted system
2 parents d00d5b7 + 6a04ab9 commit 57730f9

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/nixos-anywhere.sh

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -582,15 +582,17 @@ generateHardwareConfig() {
582582
case "$hardwareConfigBackend" in
583583
nixos-facter)
584584
if [[ ${isInstaller} == "y" ]]; then
585-
if [[ ${hasNixOSFacter} == "n" ]]; then
586-
abort "nixos-facter is not available in booted installer, use nixos-generate-config. For nixos-facter, you may want to boot an installer image from here instead: https://github.com/nix-community/nixos-images"
587-
fi
588-
else
589585
maybeSudo=""
590586
fi
591-
592-
step "Generating hardware-configuration.nix using nixos-facter"
593-
runSshNoTty -o ConnectTimeout=10 ${maybeSudo} "nixos-facter" >"$hardwareConfigPath"
587+
if [[ ${hasNixOSFacter} == "n" ]]; then
588+
step "Generating facter.json using nixos-facter from nixpkgs"
589+
runSshNoTty -o ConnectTimeout=10 "${maybeSudo}" \
590+
nix run "${nixOptions[@]}" \
591+
nixpkgs#nixos-facter >"$hardwareConfigPath"
592+
else
593+
step "Generating facter.json using nixos-facter"
594+
runSshNoTty -o ConnectTimeout=10 "${maybeSudo}" "nixos-facter" >"$hardwareConfigPath"
595+
fi
594596
;;
595597
nixos-generate-config)
596598
step "Generating hardware-configuration.nix using nixos-generate-config"

0 commit comments

Comments
 (0)