Awesome
Installation
-
Download latest nixos-unstable image from https://nixos.org/channels/nixos-unstable.
-
Make a bootable usb. For example:
# Obviously run `lsblk -f` first to get the correct 'of' path to your usb. # # NOTE: Not using the correct 'of' path could erase your hard drive so be # very careful to use the right one! dd if=path/to/image of=/dev/sdb # As root.
-
Boot into live image and log in as root with empty password (if it doesn't automatically log you in).
-
Get internet access.
-
ip a
will bring up a list of network interfaces. -
iwlist <interface> scan | less
to see if your wifi is available. -
Edit
/etc/wpa_supplicant.conf
with your network details. -
wpa_supplicant -B -i<interface> -c/etc/wpa_supplicant.conf -Dwext
. -
dhclient <interface>
ordhcpcd <interface>
ifdhclient
command doesn't exist.
-
-
Partition and format disks.
-
lsblk -f
lists your devices. -
mkfs.ext4 -L nixos <device>
to format a device. -
mkswap -L swap <device>
to make a swap partition.
-
-
(optional) Activate swap device:
swapon <device>
. -
Mount target filesystems under
/mnt
:mount /dev/disk/by-label/nixos /mnt
-
Generate
/etc/nixos
configuration files:nixos-generate-config --root /mnt
-
Inspect the generated
/mnt/etc/configuration.nix
to see if any bootloader options were put in there to hint on which bootloader options to use. -
If using systemd-boot, mount the boot partition under
/mnt/boot
and perform step 8 again to get an updatedhardware-configuration.nix
with the/mnt/boot
filesystem entry. -
Backup
hardware-configuration.nix
:cp /mnt/etc/nixos/hardware-configuration.nix \ /mnt/etc/nixos/hardware-configuration.modified.nix
-
Edit
hardware-configuration.modified.nix
to put the correct bootloader options in it, and also putsystem.stateVersion
fromconfiguration.nix
intohardware-configuration.modified.nix
. -
Copy
wpa_supplicant.conf
to target filesystem:cp /etc/wpa_supplicant.conf /mnt/etc
This allows wpa_supplicant to automatically connect to internet when rebooting into the installed system.
-
nixos-install -I nixos-config=https://raw.githubusercontent.com/vyp/dots/master/nixos/minimal.nix
-
Reboot and login with root and set password for user "u":
passwd u
-
Login as user and retrieve this repository:
git clone https://vyp@github.com/vyp/dots
-
./dots/bootstrap
. -
sudo nixos-rebuild boot
and reboot (withsudo shutdown now
).