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

• Added input 'hyprland':
    'github:hyprwm/Hyprland/01ff5fdf6a00a9231bd3b56400d8bcab378c4257' (2024-08-10)
• Added input 'hyprland/aquamarine':
    'github:hyprwm/aquamarine/7c3565f9bedc7cb601cc0baa14792247e4dc1d5a' (2024-07-30)
• Added input 'hyprland/aquamarine/hyprutils':
    follows 'hyprland/hyprutils'
• Added input 'hyprland/aquamarine/hyprwayland-scanner':
    follows 'hyprland/hyprwayland-scanner'
• Added input 'hyprland/aquamarine/nixpkgs':
    follows 'hyprland/nixpkgs'
• Added input 'hyprland/aquamarine/systems':
    follows 'hyprland/systems'
• Added input 'hyprland/hyprcursor':
    'github:hyprwm/hyprcursor/4493a972b48f9c3014befbbf381ed5fff91a65dc' (2024-07-18)
• Added input 'hyprland/hyprcursor/hyprlang':
    follows 'hyprland/hyprlang'
• Added input 'hyprland/hyprcursor/nixpkgs':
    follows 'hyprland/nixpkgs'
• Added input 'hyprland/hyprcursor/systems':
    follows 'hyprland/systems'
• Added input 'hyprland/hyprlang':
    'github:hyprwm/hyprlang/adbefbf49664a6c2c8bf36b6487fd31e3eb68086' (2024-07-18)
• Added input 'hyprland/hyprlang/hyprutils':
    follows 'hyprland/hyprutils'
• Added input 'hyprland/hyprlang/nixpkgs':
    follows 'hyprland/nixpkgs'
• Added input 'hyprland/hyprlang/systems':
    follows 'hyprland/systems'
• Added input 'hyprland/hyprutils':
    'github:hyprwm/hyprutils/5dcbbc1e3de40b2cecfd2007434d86e924468f1f' (2024-07-27)
• Added input 'hyprland/hyprutils/nixpkgs':
    follows 'hyprland/nixpkgs'
• Added input 'hyprland/hyprutils/systems':
    follows 'hyprland/systems'
• Added input 'hyprland/hyprwayland-scanner':
    'github:hyprwm/hyprwayland-scanner/a048a6cb015340bd82f97c1f40a4b595ca85cc30' (2024-07-18)
• Added input 'hyprland/hyprwayland-scanner/nixpkgs':
    follows 'hyprland/nixpkgs'
• Added input 'hyprland/hyprwayland-scanner/systems':
    follows 'hyprland/systems'
• Added input 'hyprland/nixpkgs':
    'github:NixOS/nixpkgs/52ec9ac3b12395ad677e8b62106f0b98c1f8569d' (2024-07-28)
• Added input 'hyprland/systems':
    'github:nix-systems/default-linux/31732fcf5e8fea42e59c2488ad31a0e651500f68' (2023-07-14)
• Added input 'hyprland/xdph':
    'github:hyprwm/xdg-desktop-portal-hyprland/7f2a77ddf60390248e2a3de2261d7102a13e5341' (2024-07-30)
• Added input 'hyprland/xdph/hyprland-protocols':
    'github:hyprwm/hyprland-protocols/5a11232266bf1a1f5952d5b179c3f4b2facaaa84' (2024-07-18)
• Added input 'hyprland/xdph/hyprland-protocols/nixpkgs':
    follows 'hyprland/xdph/nixpkgs'
• Added input 'hyprland/xdph/hyprland-protocols/systems':
    follows 'hyprland/xdph/systems'
• Added input 'hyprland/xdph/hyprlang':
    follows 'hyprland/hyprlang'
• Added input 'hyprland/xdph/nixpkgs':
    follows 'hyprland/nixpkgs'
• Added input 'hyprland/xdph/systems':
    follows 'hyprland/systems'
• Added input 'hyprland-contrib':
    'github:hyprwm/contrib/9d67858b437d4a1299be496d371b66fc0d3e01f6' (2024-08-02)
• Added input 'hyprland-contrib/nixpkgs':
    follows 'hyprland/nixpkgs'
• Added input 'hyprland-plugins':
    'github:hyprwm/hyprland-plugins/b73d7b901d8cb1172dd25c7b7159f0242c625a77' (2024-08-08)
• Added input 'hyprland-plugins/hyprland':
    follows 'hyprland'
• Added input 'hyprland-plugins/nixpkgs':
    follows 'hyprland-plugins/hyprland/nixpkgs'
• Added input 'hyprland-plugins/systems':
    follows 'hyprland-plugins/hyprland/systems'
2024-08-11 14:56:04 +02:00
hardware Sync config 2021-12-29 13:06:12 +01:00
home Initial switch to sway 2024-08-10 12:27:56 +02:00
machines Initial switch to sway 2024-08-10 12:27:56 +02:00
roles Use IDEA ultimate over community 2022-02-15 13:33:28 +01:00
users Enable git sendemail 2022-12-18 11:57:03 +01:00
configuration.nix Restructure to use flakes 2022-02-15 15:45:24 +01:00
flake.lock flake.lock: Update 2024-08-11 14:56:04 +02:00
flake.nix Update to nixos 24.05 2024-06-15 16:02:25 +02:00
hardware-configuration-current.nix Initial commit 2020-05-30 14:07:02 +02:00
README.md Document mail setup 2022-12-18 11:56:25 +01:00
renovate.json5 Enable renovate 2024-04-18 16:50:45 +02: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

Mail Setup

secret-tool store --label 'foo@example.com' email 'foo@example.com'

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