diff --git a/docs/nixos-anywhere.md b/docs/nixos-anywhere.md index a8f7925..d7becc1 100644 --- a/docs/nixos-anywhere.md +++ b/docs/nixos-anywhere.md @@ -1,13 +1,29 @@ +# Deploying with nixos-anywhere + +## On Target: Enter NixOS from non-NixOS host + +In case you cannot boot easily into a nixos-installer image you can download the kexec installer image of NixOS and kexec into it: + ``` curl -L https://github.com/nix-community/nixos-images/releases/download/nixos-unstable/nixos-kexec-installer-noninteractive-x86_64-linux.tar.gz | tar -xzf- -C /root /root/kexec/run ``` -``` -mkdir -p /etc/secrets/initrd -ssh-keygen -t ed25519 -f /etc/secrets/initrd/ssh_host_ed25519_key -``` +## Run Disko ``` -nix run github:nix-community/nixos-anywhere -- --flake .#blue-shell root@194.13.83.205 +nix run github:nix-community/nixos-anywhere -- --flake .#<hostname> --target-host root@<host> --phases disko +``` + +## On Target: Create inital ssh host key used in initrd + +``` +mkdir -p /mnt/etc/secrets/initrd +ssh-keygen -t ed25519 -f /mnt/etc/secrets/initrd/ssh_host_ed25519_key +``` + +## Run NixOS Anywhere + +``` +nix run github:nix-community/nixos-anywhere -- --flake .#<hostname> --target-host root@<host> --phases install,reboot ```