Skip to content

Commit 66331d4

Browse files
KiaraGrouwstramergify[bot]
authored andcommitted
feat: expose --generate-hardware-config nixos-facter thru TF
add `var.nixos_facter_path` to TF modules `install` / `all-in-one`. c.f. #407, which handled `--generate-hardware-config nixos-generate-config`.
1 parent 3a11c17 commit 66331d4

File tree

7 files changed

+22
-0
lines changed

7 files changed

+22
-0
lines changed

terraform/all-in-one.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ No resources.
128128
| <a name="input_target_port"></a> [target\_port](#input_target_port) | SSH port used to connect to the target\_host after installing NixOS. If install\_port is not set than this port is also used before installing. | `number` | `22` | no |
129129
| <a name="input_target_user"></a> [target\_user](#input_target_user) | SSH user used to connect to the target\_host after installing NixOS. If install\_user is not set than this user is also used before installing. | `string` | `"root"` | no |
130130
| <a name="input_nixos_generate_config_path"></a> [nixos\_generate\_config\_path](#input_nixos_generate_config_path) | Path to which to write a `hardware-configuration.nix` generated by `nixos-generate-config`. | `string` | `""` | no |
131+
| <a name="input_nixos_facter_path"></a> [nixos\_facter\_path](#input_nixos_facter_path) | Path to which to write a `hardware-configuration.nix` generated by `nixos-facter`. | `string` | `""` | no |
131132

132133
## Outputs
133134

terraform/all-in-one/main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ module "install" {
3333
instance_id = var.instance_id
3434
phases = var.phases
3535
nixos_generate_config_path = var.nixos_generate_config_path
36+
nixos_facter_path = var.nixos_facter_path
3637
# deprecated attributes
3738
stop_after_disko = var.stop_after_disko
3839
no_reboot = var.no_reboot

terraform/all-in-one/variables.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,3 +125,9 @@ variable "nixos_generate_config_path" {
125125
description = "Path to which to write a `hardware-configuration.nix` generated by `nixos-generate-config`."
126126
default = ""
127127
}
128+
129+
variable "nixos_facter_path" {
130+
type = string
131+
description = "Path to which to write a `facter.json` generated by `nixos-facter`."
132+
default = ""
133+
}

terraform/install.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ No modules.
8282
| <a name="input_target_port"></a> [target\_port](#input_target_port) | SSH port used to connect to the target\_host | `number` | `22` | no |
8383
| <a name="input_target_user"></a> [target\_user](#input_target_user) | SSH user used to connect to the target\_host | `string` | `"root"` | no |
8484
| <a name="input_nixos_generate_config_path"></a> [nixos\_generate\_config\_path](#input_nixos_generate_config_path) | Path to which to write a `hardware-configuration.nix` generated by `nixos-generate-config`. | `string` | `""` | no |
85+
| <a name="input_nixos_facter_path"></a> [nixos\_facter\_path](#input_nixos_facter_path) | Path to which to write a `hardware-configuration.nix` generated by `nixos-facter`. | `string` | `""` | no |
8586

8687
## Outputs
8788

terraform/install/main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ locals {
1717
flake = var.flake
1818
phases = join(",", local.phases)
1919
nixos_generate_config_path = var.nixos_generate_config_path
20+
nixos_facter_path = var.nixos_facter_path
2021
})
2122
}
2223

terraform/install/run-nixos-anywhere.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,13 @@ else
2828
args+=("--store-paths" "${input[nixos_partitioner]}" "${input[nixos_system]}")
2929
fi
3030
if [[ -n ${input[nixos_generate_config_path]} ]]; then
31+
if [[ -n ${input[nixos_facter_path]} ]]; then
32+
echo "cannot set both variables 'nixos_generate_config_path' and 'nixos_facter_path'!" >&2
33+
exit 1
34+
fi
3135
args+=("--generate-hardware-config" "nixos-generate-config" "${input[nixos_generate_config_path]}")
36+
elif [[ -n ${input[nixos_facter_path]} ]]; then
37+
args+=("--generate-hardware-config" "nixos-facter" "${input[nixos_facter_path]}")
3238
fi
3339
args+=(--phases "${input[phases]}")
3440
if [[ ${input[ssh_private_key]} != null ]]; then

terraform/install/variables.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,3 +115,9 @@ variable "nixos_generate_config_path" {
115115
description = "Path to which to write a `hardware-configuration.nix` generated by `nixos-generate-config`."
116116
default = ""
117117
}
118+
119+
variable "nixos_facter_path" {
120+
type = string
121+
description = "Path to which to write a `facter.json` generated by `nixos-facter`."
122+
default = ""
123+
}

0 commit comments

Comments
 (0)