All checks were successful
buildbot/nix-build .#checks.aarch64-darwin.nixos-test_install_machine Build done.
buildbot/nix-build .#checks.aarch64-darwin.nixos-test-backup Build done.
buildbot/nix-build .#checks.aarch64-darwin.nixos-flash-installer Build done.
buildbot/nix-build .#checks.aarch64-darwin.nixos-iso-installer Build done.
buildbot/nix-build .#checks.aarch64-linux.nixos-test_install_machine Build done.
buildbot/nix-build .#checks.aarch64-linux.nixos-test-backup Build done.
buildbot/nix-build .#checks.aarch64-linux.nixos-iso-installer Build done.
buildbot/nix-build .#checks.x86_64-linux.check-for-breakpoints Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-age Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-bash Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-e2fsprogs Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-fakeroot Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-git Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-nix Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-openssh Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-rsync Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-sops Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-sshpass Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-tor Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-zbar Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-pytest-without-core Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-vm-manager-no-breakpoints Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-vm-manager-pytest Build done.
buildbot/nix-build .#checks.aarch64-linux.nixos-flash-installer Build done.
buildbot/nix-build .#checks.x86_64-linux."clan-dep-python3.11-qemu" Build done.
buildbot/nix-build .#checks.x86_64-linux."clan-dep-python3.11-mypy" Build done.
buildbot/nix-build .#checks.x86_64-linux.devShell-clan-vm-manager Build done.
buildbot/nix-build .#checks.x86_64-linux.devShell-webview-ui Build done.
buildbot/nix-build .#checks.x86_64-linux.devShell-clan-cli Build done.
buildbot/nix-build .#checks.x86_64-linux.container Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-pytest-with-core Build done.
buildbot/nix-build .#checks.x86_64-linux.devShell-default Build done.
buildbot/nix-build .#checks.x86_64-linux.borgbackup Build done.
buildbot/nix-build .#checks.x86_64-linux.lib-jsonschema-example-valid Build done.
buildbot/nix-build .#checks.x86_64-linux.deltachat Build done.
buildbot/nix-build .#checks.x86_64-linux.package-clan-cli Build done.
buildbot/nix-build .#checks.x86_64-linux.package-clan-cli-docs Build done.
buildbot/nix-build .#checks.x86_64-linux.package-clan-ts-api Build done.
buildbot/nix-build .#checks.x86_64-linux.package-clan-vm-manager Build done.
buildbot/nix-build .#checks.x86_64-linux.package-default Build done.
buildbot/nix-build .#checks.x86_64-linux.matrix-synapse Build done.
buildbot/nix-build .#checks.x86_64-linux.devShell-docs Build done.
buildbot/nix-build .#checks.x86_64-linux.package-editor Build done.
buildbot/nix-build .#checks.x86_64-linux.module-schema Build done.
buildbot/nix-build .#checks.x86_64-linux.package-gui-installer-apk Build done.
buildbot/nix-build .#checks.x86_64-linux.package-gui-installer-archlinux Build done.
buildbot/nix-build .#checks.x86_64-linux.package-gui-installer-deb Build done.
buildbot/nix-build .#checks.x86_64-linux.package-gui-installer-rpm Build done.
buildbot/nix-build .#checks.x86_64-linux.package-impure-checks Build done.
buildbot/nix-build .#checks.x86_64-linux.flash Build done.
buildbot/nix-build .#checks.x86_64-linux.package-merge-after-ci Build done.
buildbot/nix-build .#checks.x86_64-linux.nixos-test_install_machine Build done.
buildbot/nix-build .#checks.x86_64-linux.lib-jsonschema-nix-unit-tests Build done.
buildbot/nix-build .#checks.x86_64-linux.package-moonlight-sunshine-accept Build done.
buildbot/nix-build .#checks.x86_64-linux.package-docs Build done.
buildbot/nix-build .#checks.x86_64-linux.package-deploy-docs Build done.
buildbot/nix-build .#checks.x86_64-linux.package-pending-reviews Build done.
buildbot/nix-build .#checks.x86_64-linux.package-tea-create-pr Build done.
buildbot/nix-build .#checks.x86_64-linux.package-webview-ui Build done.
buildbot/nix-build .#checks.x86_64-linux.package-zerotier-members Build done.
buildbot/nix-build .#checks.x86_64-linux.package-zerotierone Build done.
buildbot/nix-build .#checks.x86_64-linux.package-zt-tcp-relay Build done.
buildbot/nix-build .#checks.x86_64-linux.nixos-test-backup Build done.
buildbot/nix-build .#checks.x86_64-linux.package-module-docs Build done.
buildbot/nix-build .#checks.x86_64-linux.renderClanOptions Build done.
buildbot/nix-build .#checks.x86_64-linux.package-function-schema Build done.
buildbot/nix-build .#checks.x86_64-linux.package-module-schema Build done.
buildbot/nix-build .#checks.x86_64-linux.nixos-iso-installer Build done.
buildbot/nix-build .#checks.x86_64-linux.nixos-flash-installer Build done.
buildbot/nix-build .#checks.x86_64-linux.test-backups Build done.
buildbot/nix-build .#checks.x86_64-linux.treefmt Build done.
buildbot/nix-build .#checks.x86_64-linux.zt-tcp-relay Build done.
buildbot/nix-build .#checks.x86_64-linux.secrets Build done.
buildbot/nix-build .#checks.x86_64-linux.package-iso-installer Build done.
buildbot/nix-build .#checks.x86_64-linux.wayland-proxy-virtwl Build done.
buildbot/nix-build .#checks.x86_64-linux.test-installation Build done.
buildbot/nix-build .#checks.x86_64-linux.syncthing Build done.
buildbot/nix-eval Build done.
checks / checks-impure (pull_request) Successful in 2m13s
174 lines
5.3 KiB
Markdown
174 lines
5.3 KiB
Markdown
# Installer
|
|
|
|
Our installer image simplifies the process of performing remote installations.
|
|
|
|
Follow our step-by-step guide to create and transfer this image onto a bootable USB drive.
|
|
|
|
!!! info
|
|
If you already have a NixOS machine you can ssh into (in the cloud for example) you can skip this chapter and go directly to [Configure Machines](configure.md).
|
|
|
|
### Step 0. Prerequisites
|
|
|
|
- [x] A free USB Drive with at least 1.5GB (All data on it will be lost)
|
|
- [x] Linux/NixOS Machine with Internet
|
|
|
|
### Step 1. Identify the USB Flash Drive
|
|
|
|
1. Insert your USB flash drive into your computer.
|
|
|
|
2. Identify your flash drive with `lsblk`:
|
|
|
|
```shellSession
|
|
lsblk
|
|
```
|
|
|
|
```{.shellSession hl_lines="2" .no-copy}
|
|
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
|
|
sdb 8:0 1 117,2G 0 disk
|
|
└─sdb1 8:1 1 117,2G 0 part /run/media/qubasa/INTENSO
|
|
nvme0n1 259:0 0 1,8T 0 disk
|
|
├─nvme0n1p1 259:1 0 512M 0 part /boot
|
|
└─nvme0n1p2 259:2 0 1,8T 0 part
|
|
└─luks-f7600028-9d83-4967-84bc-dd2f498bc486 254:0 0 1,8T 0 crypt /nix/store
|
|
```
|
|
|
|
!!! Info "In this case the USB device is `sdb`"
|
|
|
|
3. Ensure all partitions on the drive are unmounted. Replace `sdb1` in the command below with your device identifier (like `sdc1`, etc.):
|
|
|
|
```shellSession
|
|
sudo umount /dev/sdb1
|
|
```
|
|
=== "**Linux OS**"
|
|
### Step 2. Flash Custom Installer
|
|
|
|
Using clan flash enables the inclusion of ssh public keys.
|
|
It also allows to set language and keymap currently in the installer image.
|
|
|
|
```bash
|
|
clan flash --flake git+https://git.clan.lol/clan/clan-core \
|
|
--ssh-pubkey $HOME/.ssh/id_ed25519.pub \
|
|
--keymap en \
|
|
--language en \
|
|
--disk main /dev/sd<X> \
|
|
flash-installer
|
|
```
|
|
|
|
The `--ssh-pubkey`, `--language` and `--keymap` are optional.
|
|
Replace `$HOME/.ssh/id_ed25519.pub` with a path to your SSH public key.
|
|
If you do not have an ssh key yet, you can generate one with `ssh-keygen -t ed25519` command.
|
|
|
|
!!! Danger "Specifying the wrong device can lead to unrecoverable data loss."
|
|
|
|
The `clan flash` utility will erase the disk. Make sure to specify the correct device
|
|
|
|
|
|
|
|
=== "**Other OS**"
|
|
### Step 2. Download Generic Installer
|
|
|
|
```shellSession
|
|
wget https://github.com/nix-community/nixos-images/releases/download/nixos-unstable/nixos-installer-x86_64-linux.iso
|
|
```
|
|
|
|
### Step 3. Flash the Installer to the USB Drive
|
|
|
|
!!! Danger "Specifying the wrong device can lead to unrecoverable data loss."
|
|
|
|
The `dd` utility will erase the disk. Make sure to specify the correct device (`of=...`)
|
|
|
|
For example if the USB device is `sdb` use `of=/dev/sdb`.
|
|
|
|
|
|
|
|
Use the `dd` utility to write the NixOS installer image to your USB drive:
|
|
|
|
```shellSession
|
|
sudo dd bs=4M conv=fsync oflag=direct status=progress if=./nixos-installer-x86_64-linux.iso of=/dev/sd<X>
|
|
```
|
|
|
|
### Step 4. Boot and Connect to your network
|
|
|
|
After writing the installer to the USB drive, use it to boot the target machine.
|
|
|
|
!!! info
|
|
Plug it into the target machine and select the USB drive as a temporary boot device.
|
|
|
|
??? tip "Here you can find the key combinations for selection used by most vendors."
|
|
- **Dell**: F12 (Boot Menu), F2/Del (BIOS Setup)
|
|
- **HP**: F9 (Boot Menu), Esc (Startup Menu)
|
|
- **Lenovo**: F12 (ThinkPad Boot Menu), F2/Fn+F2/Novo Button (IdeaPad Boot Menu/BIOS Setup)
|
|
- **Acer**: F12 (Boot Menu), F2/Del (BIOS Setup)
|
|
- **Asus**: F8/Esc (Boot Menu), F2/Del (BIOS Setup)
|
|
- **Toshiba**: F12/F2 (Boot Menu), Esc then F12 (Alternate Method)
|
|
- **Sony**: F11/Assist Button (Boot Menu/Recovery Options)
|
|
- **Samsung**: F2/F12/Esc (Boot Menu), F2 (BIOS Setup)
|
|
- **MSI**: F11 (Boot Menu), Del (BIOS Setup)
|
|
- **Apple**: Option (Alt) Key (Boot Menu for Mac)
|
|
- If your hardware was not listed read the manufacturers instructions how to enter the boot Menu/BIOS Setup.
|
|
|
|
**During Boot**
|
|
|
|
Select `NixOS` to boot into the clan installer.
|
|
|
|
**After Booting**
|
|
|
|
For deploying your configuration the machine needs to be connected via LAN (recommended).
|
|
|
|
|
|
## (Optional) Connect to Wifi
|
|
|
|
If you don't have access via LAN the Installer offers support for connecting via Wifi.
|
|
|
|
```shellSession
|
|
iwctl
|
|
```
|
|
|
|
This will enter `iwd`
|
|
|
|
```{.console, .no-copy}
|
|
[iwd]#
|
|
```
|
|
|
|
Now run the following command to connect to your Wifi:
|
|
|
|
```{.shellSession .no-copy}
|
|
# Identify your network device.
|
|
device list
|
|
|
|
# Replace 'wlan0' with your wireless device name
|
|
# Find your Wifi SSID.
|
|
station wlan0 scan
|
|
station wlan0 get-networks
|
|
|
|
# Replace your_ssid with the Wifi SSID
|
|
# Connect to your network.
|
|
station wlan0 connect your_ssid
|
|
|
|
# Verify you are connected
|
|
station wlan0 show
|
|
```
|
|
|
|
If the connection was successful you should see something like this:
|
|
|
|
```{.console, .no-copy}
|
|
State connected
|
|
Connected network FRITZ!Box (Your router device)
|
|
IPv4 address 192.168.188.50 (Your new local ip)
|
|
```
|
|
|
|
Press ++ctrl+d++ to exit `IWD`.
|
|
|
|
!!! Important
|
|
Press ++ctrl+d++ **again** to update the displayed QR code and connection information.
|
|
|
|
You're all set up
|
|
|
|
---
|
|
|
|
## Whats next?
|
|
|
|
- [Configure Machines](configure.md): Customize machine configuration
|
|
|
|
---
|