|
@@ -0,0 +1,33 @@
|
|
|
|
|
+#!/usr/bin/env bash
|
|
|
|
|
+
|
|
|
|
|
+# Create a temporary directory
|
|
|
|
|
+temp=$(mktemp -d)
|
|
|
|
|
+
|
|
|
|
|
+# Function to cleanup temporary directory on exit
|
|
|
|
|
+cleanup() {
|
|
|
|
|
+ rm -rf "$temp"
|
|
|
|
|
+}
|
|
|
|
|
+trap cleanup EXIT
|
|
|
|
|
+
|
|
|
|
|
+# Create the directory where sshd expects to find the host keys
|
|
|
|
|
+install -d -m755 "$temp/persist/etc/ssh"
|
|
|
|
|
+install -d -m755 "$temp/etc/ssh"
|
|
|
|
|
+
|
|
|
|
|
+# Decrypt your private key from the password store and copy it to the temporary directory
|
|
|
|
|
+cat ./ssh_host_ed25519_key.txt > "$temp/persist/etc/ssh/ssh_host_ed25519_key"
|
|
|
|
|
+cat ./ssh_host_rsa_key.txt > "$temp/persist/etc/ssh/ssh_host_rsa_key"
|
|
|
|
|
+cat ./ssh_host_ed25519_key.txt > "$temp/etc/ssh/ssh_host_ed25519_key"
|
|
|
|
|
+cat ./ssh_host_rsa_key.txt > "$temp/etc/ssh/ssh_host_rsa_key"
|
|
|
|
|
+
|
|
|
|
|
+# Set the correct permissions so sshd will accept the key
|
|
|
|
|
+chmod 600 "$temp/persist/etc/ssh/ssh_host_ed25519_key"
|
|
|
|
|
+chmod 600 "$temp/persist/etc/ssh/ssh_host_rsa_key"
|
|
|
|
|
+chmod 600 "$temp/etc/ssh/ssh_host_ed25519_key"
|
|
|
|
|
+chmod 600 "$temp/etc/ssh/ssh_host_rsa_key"
|
|
|
|
|
+
|
|
|
|
|
+# Install NixOS to the host system with our secrets
|
|
|
|
|
+# --disko-mode mount \
|
|
|
|
|
+nix run github:nix-community/nixos-anywhere -- \
|
|
|
|
|
+ --extra-files "$temp" \
|
|
|
|
|
+ --flake .#odin \
|
|
|
|
|
+ --target-host [email protected]
|