Configuration of my nixos systems
Valentin Brandl
6b531c9dd3
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' |
||
---|---|---|
hardware | ||
home | ||
machines | ||
roles | ||
users | ||
configuration.nix | ||
flake.lock | ||
flake.nix | ||
hardware-configuration-current.nix | ||
README.md | ||
renovate.json5 | ||
role-current.nix |
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