forked from Fediversity/Fediversity
11 KiB
11 KiB
Install
Install NixOS with nixos-anywhere
Example
locals {
ipv4 = "192.0.2.1"
}
module "system-build" {
source = "github.com/nix-community/nixos-anywhere//terraform/nix-build"
# with flakes
attribute = ".#nixosConfigurations.mymachine.config.system.build.toplevel"
# without flakes
# file can use (pkgs.nixos []) function from nixpkgs
#file = "${path.module}/../.."
#attribute = "config.system.build.toplevel"
}
module "disko" {
source = "github.com/nix-community/nixos-anywhere//terraform/nix-build"
# with flakes
attribute = ".#nixosConfigurations.mymachine.config.system.build.diskoScript"
# without flakes
# file can use (pkgs.nixos []) function from nixpkgs
#file = "${path.module}/../.."
#attribute = "config.system.build.diskoScript"
}
module "install" {
source = "github.com/nix-community/nixos-anywhere//terraform/install"
nixos_system = module.system-build.result.out
nixos_partitioner = module.disko.result.out
target_host = local.ipv4
}
Requirements
No requirements.
Providers
Name | Version |
---|---|
null | n/a |
Modules
No modules.
Resources
Name | Type |
---|---|
null_resource.nixos-remote | resource |
Inputs
Name | Description | Type | Default | Required |
---|---|---|---|---|
build_on_remote | Build the closure on the remote machine instead of building it locally and copying it over | bool |
false |
no |
debug_logging | Enable debug logging | bool |
false |
no |
disk_encryption_key_scripts | Each script will be executed locally. Output of each will be created at the given path to disko during installation. The keys will be not copied to the final system | list(object({ |
[] |
no |
extra_environment | Extra environment variables to be set during installation. This can be useful to set extra variables for the extra_files_script or disk_encryption_key_scripts | map(string) |
{} |
no |
extra_files_script | A script that should place files in the current directory that will be copied to the targets / directory | string |
null |
no |
flake | The flake to install the system from | string |
"" |
no |
instance_id | The instance id of the target_host, used to track when to reinstall the machine | string |
null |
no |
kexec_tarball_url | NixOS kexec installer tarball url | string |
null |
no |
nixos_facter_path | Path to which to write a facter.json generated by nixos-facter . This option cannot be set at the same time as nixos_generate_config_path . |
string |
"" |
no |
nixos_generate_config_path | Path to which to write a hardware-configuration.nix generated by nixos-generate-config . This option cannot be set at the same time as nixos_facter_path . |
string |
"" |
no |
nixos_partitioner | nixos partitioner and mount script | string |
"" |
no |
nixos_system | The nixos system to deploy | string |
"" |
no |
no_reboot | DEPRECATED: Use phases instead. Do not reboot after installation |
bool |
false |
no |
phases | Phases to run. See nixos-anywhere --help for more information |
list(string) |
[ |
no |
ssh_private_key | Content of private key used to connect to the target_host | string |
"" |
no |
stop_after_disko | DEPRECATED: Use phases instead. Exit after disko formatting |
bool |
false |
no |
target_host | DNS host to deploy to | string |
n/a | yes |
target_pass | Password used to connect to the target_host | string |
null |
no |
target_port | SSH port used to connect to the target_host | number |
22 |
no |
target_user | SSH user used to connect to the target_host | string |
"root" |
no |
Outputs
No outputs.