Preparation

  1. Disable Secure Boot. ZFS modules can not be loaded if Secure Boot is enabled.

  2. Download NixOS Live Image and boot from it.

  3. Connect to the Internet.

  4. Set root password or /root/.ssh/authorized_keys.

  5. Start SSH server:

    systemctl restart sshd
    
  6. Connect from another computer:

    ssh root@192.168.1.19
    
  7. Target disk

    List available disks with:

    ls /dev/disk/by-id/*
    

    If using virtio as disk bus, use /dev/disk/by-path/*.

    Declare disk array:

    DISK='/dev/disk/by-id/ata-FOO /dev/disk/by-id/nvme-BAR'
    

    For single disk installation, use:

    DISK='/dev/disk/by-id/disk1'
    
  8. Set partition size:

    Set swap size. It’s recommended to setup a swap partition. If you intend to use hibernation, the minimum should be no less than RAM size. Skip if swap is not needed:

    INST_PARTSIZE_SWAP=8
    

    Root pool size, use all remaining disk space if not set:

    INST_PARTSIZE_RPOOL=