Welcome to my NixOS configuration repository! This is a multi-host flake-based setup supporting both NixOS and Darwin systems. These configurations represent my reproducible, declarative system setups for various machines and use cases.
-
nixos/
- System-level configurationshosts/
- Machine-specific configurationsfeatures/
- Modular system features (networking, desktop environments, etc.)common.nix
- Extended baseline with fonts and utilitiesminimal.nix
- Minimal baseline for headless systems
-
home-manager/
- User-level configurationscli/
- Terminal and command-line toolsgui/
- Graphical applications and settingshyprland/
- Hyprland window manager configurationterminal/
- Terminal emulator settingsplasma/
- KDE Plasma desktop environment
-
modules/
- Reusable NixOS and home-manager modules -
pkgs/
- Custom packages and fonts -
overlays/
- Package modifications -
secrets/
- SOPS-encrypted secrets
Host | Description |
---|---|
workstation |
Primary desktop system |
seed |
Specialized system configuration |
build |
x86 Proxmox VM for builds |
flix |
Media server (Jellyfin, Plex, Navidrome) |
nixbook |
Apple Silicon + NixOS configuration |
relay |
Tor exit node setup |
mbp |
macOS Darwin system |
dcp |
DCP system configuration |
default |
Default system configuration |
flow |
Flow system configuration |
- Input nixpkgs from hyprland hotfix PR 1284004bf6c6e50d8592b6efe83708931e75aec7
-
features/nvidia.nix
boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_6_10;
For NixOS systems:
sudo nixos-rebuild switch --flake '.#<hostname>' --impure
For Darwin (macOS) systems:
nix run --experimental-features "nix-command flakes" nix-darwin -- switch --flake .#<hostname>
Once experimental features for flakes are enabled, use these convenient aliases:
nixswitch
nixup
sudo nixos-rebuild switch --flake '.#workstation' --impure
sudo nixos-rebuild switch --flake '.#seed' --impure
sudo nixos-rebuild switch --flake '.#relay' --impure
sudo nixos-rebuild switch --flake '.#flix' --impure
darwin-rebuild switch --flake .#mbp
sudo nixos-rebuild test --flake '.#<host>' --impure
nix flake update
./trim-generations.sh [--user|--home-manager|--channels|--system]
nix store sign --recursive --key-file ~/.config/nix/secret.key /run/current-system
nix copy --to 's3://nix-cache?profile=nixbuilder&endpoint=minio.nas.reinthal.me' /run/current-system