From 3c2e26a1d96a4046f45ebc1a19ee87dda5651e64 Mon Sep 17 00:00:00 2001 From: clover caruso Date: Sat, 3 Oct 2026 21:50:24 -0700 Subject: [PATCH] Boot the Zenith installer with its usual wired SSH address Share static networking between the installer and installed system. Start key-only SSH automatically so installation can proceed from the Mac after USB boot. Assisted-by: gpt-6 --- flake.nix | 3 +++ nixos/zenith-network.nix | 10 ++++++++++ nixos/zenith.nix | 10 ++-------- readme.md | 5 +++++ 4 files changed, 20 insertions(+), 8 deletions(-) create mode 100644 nixos/zenith-network.nix diff --git a/flake.nix b/flake.nix index 0e6d8f35a89986aa5bdfa284e26f943afe482696..30220e04120f5e931eb4ed49ed103c62827811ee 100644 --- a/flake.nix +++ b/flake.nix @@ -14,10 +14,13 @@ system = "x86_64-linux"; modules = [ "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix" + ./nixos/zenith-network.nix ({ lib, pkgs, ... }: { networking.hostName = "infra-2-installer"; + networking.networkmanager.enable = lib.mkForce false; boot.zfs.forceImportRoot = false; users.users.root.openssh.authorizedKeys.keys = [ (lib.fileContents ./config/admin.pub) ]; + services.openssh.enable = true; services.openssh.settings = { PasswordAuthentication = false; KbdInteractiveAuthentication = false; diff --git a/nixos/zenith-network.nix b/nixos/zenith-network.nix new file mode 100644 index 0000000000000000000000000000000000000000..34ac0759d7065889e8058d1bdcfdef3acffbb4d4 --- /dev/null +++ b/nixos/zenith-network.nix @@ -0,0 +1,10 @@ +{ + networking.useDHCP = false; + networking.interfaces.enp4s0.useDHCP = false; + networking.interfaces.enp4s0.ipv4.addresses = [ + { address = "10.0.0.1"; prefixLength = 24; } + { address = "192.168.0.1"; prefixLength = 24; } + ]; + networking.defaultGateway = { address = "10.0.0.2"; interface = "enp4s0"; }; + networking.nameservers = [ "1.1.1.1" "1.0.0.1" ]; +} diff --git a/nixos/zenith.nix b/nixos/zenith.nix index bfc305b7af553891346cec4bf64e058873668e2f..e58bf97a9a51d2345c7e819608ae9ba19c298fff 100644 --- a/nixos/zenith.nix +++ b/nixos/zenith.nix @@ -3,16 +3,10 @@ let adminKey = lib.fileContents ../config/admin.pub; in { + imports = [ ./zenith-network.nix ]; + networking.hostName = "zenith"; networking.hostId = "4fa19ccb"; - networking.useDHCP = false; - networking.interfaces.enp4s0.useDHCP = false; - networking.interfaces.enp4s0.ipv4.addresses = [ - { address = "10.0.0.1"; prefixLength = 24; } - { address = "192.168.0.1"; prefixLength = 24; } - ]; - networking.defaultGateway = { address = "10.0.0.2"; interface = "enp4s0"; }; - networking.nameservers = [ "1.1.1.1" "1.0.0.1" ]; networking.firewall.allowedTCPPorts = [ 80 443 ]; networking.firewall.interfaces.enp4s0.allowedTCPPorts = [ 445 ]; diff --git a/readme.md b/readme.md index c91927fe33714fcb548110994a168dd623a67aa2..c209024dce5d47fdf7b662629c7a709828f73674 100644 --- a/readme.md +++ b/readme.md @@ -51,6 +51,11 @@ dashboard image. It does not install automatically. The physical installation uses `#zenith` after generating its hardware configuration; the existing data pool and service state follow the [handoff](tools/legacy-handoff.md). +On Zenith, the live installer uses the same wired addresses and gateway as the +installed system. Once firmware boots the USB, connect from this Mac with +`ssh root@10.0.0.1`. SSH starts automatically and accepts the admin key only; +no monitor, local login, or DHCP address lookup is needed after USB boot. + ## filesystem layout The computer mounts the ZFS root dataset under `/srv`, meaning "server," loosely -- 2.54.0