2022-11-19 15:54:57 +01:00
2022-11-19 15:42:26 +01:00
2022-11-19 15:54:57 +01:00
2022-11-19 15:51:32 +01:00
2022-11-19 15:42:26 +01:00

Installing

Fresh system (nixos USB drive)

  1. Open a nix-shell with git:

    nix-shell -p git
  2. Clone the flake

    git clone https://git.lajuntament.space/marc/samfelag.git
  3. Partition the disk

    1. Locate the disk

      lsblk
    2. Create a GPT partition table

      sudo parted /dev/nvme0n1 -- mklabel gpt
    3. Create the root partition

      sudo parted /dev/nvme0n1 -- mkpart primary 512MB -8GB
    4. Create the swap partition

      sudo parted /dev/nvme0n1 -- mkpart primary linux-swap -8GB 100%
    5. Create the boot partition

      sudo parted /dev/nvme0n1 -- mkpart ESP fat32 1MB 512MB
      sudo parted /dev/nvme0n1 -- set 3 esp on
  4. Format the partitions

    1. Root partition

      sudo mkfs.ext4 -L nixos /dev/nvme0n1p1
    2. Swap partition

      sudo mkswap -L swap /dev/nvme0n1p2
    3. Boot partition

      sudo mkfs.fat -F 32 -n BOOT /dev/nvme0n1p3
  5. Mount the filesystems

    1. Root partition

      sudo mount /dev/disk/by-label/nixos /mnt
    2. Boot partition

      sudo mkdir -p /mnt/boot
      sudo mount /dev/disk/by-label/BOOT /mnt/boot
    3. Swap partition (if needed)

      sudo swapon /dev/disk/by-label/swap
  6. Create the host nix configuration If the host is not present under system/hosts, create a new folder for the host. Generate the hardware configuration file, you can use nixos-generate-config as a base:

    nixos-generate-config --dir <<host directory>> --no-filesystems
  7. Install nixos!

    sudo nixos-install --impure --root /mnt --flake '.#reykjavik'
  8. Set up the user You'll set the root password during the installation. You can then reboot and use the installed OS. First thing you'll have to do is log in as root and set the password for your user:

    passwd marc

Rebuilding

sudo nixos-rebuild switch --impure --flake '.#reykjavik'
Description
Nix flake with the configuration for all my nix based systems
Readme 15 MiB
Languages
Nix 52.6%
Emacs Lisp 20%
Shell 13.4%
HCL 12.8%
SCSS 1.2%