Files
nix/hosts/installer/README.md
Nikolaos Karaolidis 2888bb8b72 Add treefmt
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2025-02-16 18:53:11 +00:00

1.8 KiB

installer

I have automated myself out of a job. How to use:

  1. Boot into installer

  2. Unlock luks partition

  3. Connect to the internet with nmcli

  • Scan for available networks:

    nmcli device wifi list
    
  • For an open network:

    nmcli device wifi connect "<SSID>"
    
  • For a secured network:

    nmcli device wifi connect "<SSID>" password "<password>"
    
  1. Run sudo nix-install /etc/nixos -m install|repair -h host [-k key] [-c] [-r]"

Reinstalling the Installer

  1. Download a Minimal Live Nix ISO
  1. Burn the ISO
  • On Windows, use Rufus to burn the ISO to a USB drive.

  • On Linux, use the dd command:

    sudo dd if=<path-to-iso> of=/dev/sdX bs=4M status=progress
    
  1. Boot into USB

  2. Connect to the Internet with wpa_supplicant

  • Identify your network interface:

    ip link show | grep -E '^[0-9]+:' | awk '{print $2}' | tr -d ':'
    
  • For an open network:

    wpa_supplicant -i "${interface}" -c <(wpa_passphrase "${ssid}") -B
    
  • For a secured network:

    config=$(mktemp)
    wpa_passphrase "${ssid}" "${passphrase}" > "${config}"
    wpa_supplicant -i "${interface}" -c "${config}" -B
    rm "${config}"
    
  • Obtain an IP address:

    dhcpcd
    
  1. Clone the flake repository

    git clone git.karaolidis.com/karaolidis/nix
    cd nix
    
  2. I really hope you had a backup of the keys, because you must copy them to the repository before the next step.

  3. Run nix --experimental-features "nix-command flakes" shell nixpkgs#disko nixpkgs#jq -c bash hosts/common/configs/system/nix-install/install.sh nix -m install -h installer -k personal -c