Configuration of my nixos systems
Go to file
Valentin Brandl 254ea99c39
flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/6ce3493a3c5c6a8f4cfa6f5f88723272e0cfd335' (2022-11-09)
  → 'github:nix-community/home-manager/bc90de24d898655542589237cc0a6ada7564cb6c' (2022-11-13)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/872fceeed60ae6b7766cc0a4cd5bf5901b9098ec' (2022-11-09)
  → 'github:nixos/nixpkgs/b457130e8a21608675ddf12c7d85227b22a27112' (2022-11-16)
2022-11-17 16:47:54 +01:00
hardware Sync config 2021-12-29 13:06:12 +01:00
home Rofi is already configured 2022-11-14 01:13:29 +01:00
machines Set kernel parameters to allow for hibernation 2022-11-14 00:19:51 +01:00
roles Use IDEA ultimate over community 2022-02-15 13:33:28 +01:00
users Restructure to use flakes 2022-02-15 15:44:40 +01:00
configuration.nix Restructure to use flakes 2022-02-15 15:45:24 +01:00
flake.lock flake.lock: Update 2022-11-17 16:47:54 +01:00
flake.nix Use nixos unstable channel 2022-11-14 00:21:23 +01:00
hardware-configuration-current.nix Initial commit 2020-05-30 14:07:02 +02:00
README.md Start documenting BTRFS setup 2022-11-10 11:11:00 +01:00
role-current.nix Initial commit 2020-05-30 14:07:02 +02:00

NixOS Configuration

Now using Flakes \o/

Updating Channels/the Lockfile

nix flake lock
nix flake update

Installing/Updating the System

sudo nixos-rebuild switch --flake <path-to-repo>#<hostname>
sudo nixos-rebuild switch --flake .#w1n5t0n

Encrypted Btrfs Setup

  • cryptsetup luksFormat --format=luks1 /...
  • cryptsetup luksOpen /... system
  • mkfs.btrfs /dev/mapper/system
  • mount /dev/mapper/system /mnt
  • btrfs subvolume create /mnt/root
  • btrfs subvolume create /mnt/home
  • btrfs subvolume create /mnt/nix
  • btrfs subvolume create /mnt/swap
subvolume mount options
home compress=zstd
swap compress=zstd,noatime
root compress=zstd
nix compress=zstd,noatime
  • /boot/efi as vfat TODO: partitioning command
  • TODO: create swap
  • mount subvolumes
  • `nixos-generate-config --root /mnt
  • add mount options in hardware-configuration.nix / create matching configuration in ./machines
  • TODO: config for luks, bootloader, ...
  • For snapper: create .snapshots subvolume in each subvolume to be backed up