my personal nix configuration for nixos and macos
nixos 25.11 · flake-parts · catppuccin frappe lavender
everything is managed declaratively through a single flake. the whole thing is built on flake-parts so every output (hosts, packages, dev shells, checks, etc.) lives in its own file under parts/
system features are option-gated modules under modules/, so toggling something like audio, bluetooth, or steam is just personal.hardware.audio.enable = true. shared home-manager programs live in home/karolbroda/programs/shared/ and get imported by both platforms automatically
the desktop shell (bar, dashboard, lockscreen, launcher) is a custom quickshell config written in QML
| nixos | macos | |
|---|---|---|
| wm / compositor | hyprland | aerospace |
| shell | quickshell | sketchybar |
| terminal | wezterm | wezterm |
| editor | neovim (nixvim) | neovim (nixvim) |
| browser | firefox | firefox |
| theme | catppuccin frappe lavender | catppuccin frappe lavender |
sudo nixos-rebuild switch --flake .#nixosfresh install with the determinate systems installer:
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- installgit clone https://github.com/karol-broda/nix-config.git ~/nix-config
cd ~/nix-config
sudo nix run nix-darwin -- switch --flake .#macbookafter that:
sudo darwin-rebuild switch --flake .#macbooknix flake update



