2 KiB
Apache setup log
Nixos
-
create bootable usb stick from installer iso
-
boot from usb stick
-
connect to wifi
-
set keyboard layout
-
run gparted
-
create 512 MB fat32 boot partition
/dev/sda1
with anesp
andboot
flag -
create unformatted partition from rest
/dev/sda2
-
encrypt and open unformatted partition:
cryptsetup -y -v luksFormat /dev/sda2 cryptsetup -v luksOpen /dev/sda2 nixos
-
create lvm volumes:
pvcreate /dev/mapper/nixos vgcreate nixos /dev/mapper/nixos lvcreate -L 16G -n swap nixos lvcreate -L 100G -n nix nixos lvcreate -L 20G -n root nixos lvcreate -L 32G -n docker nixos lvcreate -l 100%FREE -n home nixos
-
format partitions:
mkswap -L swap /dev/nixos/swap mkfs.ext4 -L nix /dev/nixos/nix mkfs.ext4 -L root /dev/nixos/root mkfs.ext4 -L home /dev/nixos/home mkfs.ext4 -L docker /dev/nixos/docker
-
mount filesystems:
mount /dev/disk/by-label/root /mnt/ mkdir -p /mnt/nix mount /dev/disk/by-label/nix /mnt/nix mkdir -p /mnt/home mount /dev/disk/by-label/home /mnt/home mkdir -p /mnt/var/lib/docker mount /dev/disk/by-label/docker /mnt/var/lib/docker mkdir -p /mnt/boot mount /dev/disk/by-label/boot /mnt/boot/ swapon /dev/disk/by-label/swap
-
generate nixos config:
nixos-generate-config --root /mnt
-
change hostname:
sed -i 's/# networking\.hostName.*/networking.hostName = "apache";/' /mnt/etc/nixos/configuration.nix
-
enable sshd with root login in
/mnt/etc/nixos/configuration.nix
:services.openssh = { enable = true; settings.PermitRootLogin = "yes"; };
-
configure luks initrd device:
boot.initrd.luks.devices = { nixos = { device = "/dev/disk/by-uuid/`blkid /dev/sda2`"; preLVM = true; }; };
-
run install and reboot:
nixos-install reboot
-
from other nixos, copy config to xps:
scp -r nixos-config root@apache:
-
ssh to xps:
ssh root@apache
-
rebuild with new config:
nixos-rebuild switch