My personal NixOS configuration using flakes, unify, and Home Manager
A modular, reproducible NixOS configuration managing multiple systems with shared and host-specific settings. Built with modern Nix patterns including flake-parts and the unify framework.
- 🎨 Catppuccin theme system-wide (GTK, Qt, terminal, editors)
- 🪟 Hyprland Wayland compositor with custom panel and lock screen
- 📝 Neovim configured via nixCats with LSP, treesitter, and custom plugins
- 🐚 Modern CLI - Fish shell with bat, eza, fzf, zoxide, atuin, direnv
- 🔄 Version control - Git + Jujutsu (jj) integration
- 🎵 Customized Spotify via Spicetify
- 🐳 Podman containerization
- 🔧 Automated formatting with treefmt (nixfmt, prettier, stylua, etc.)
- ✅ CI/CD with GitHub Actions for builds and caching
- nixavell - Main laptop with full Hyprland desktop environment
- nixwsl - Minimal WSL2 development environment
- testvm - Testing virtual machine
- OS: NixOS with flakes
- Framework: unify
- Desktop: Hyprland, hyprlock, hyprpanel, rofi
- Shell: Fish with modern tools
- Editor: Neovim (nixCats)
- VCS: Git + Jujutsu
- Theme: Catppuccin
- Build: nh (Nix Helper), just
All commands use just (see justfile for all options):
just rebuild # Rebuild and switch configuration
just fmt # Format all code
just lint # Check configuration
just update # Update flake inputs
just clean # Garbage collect and optimize- Create
hosts/newhostname/newhostname.nix - Define configuration using
unify.hosts.nixos.newhostname - Add hardware/filesystem specifics
- Rebuild with
just rebuild
.
├── hosts/ # Host-specific configurations
├── modules/
│ ├── flake/ # Top-level flake config
│ ├── hardware/ # Hardware settings
│ ├── meta/ # User info, hostname
│ ├── nix/ # Nix daemon settings
│ ├── nvim/ # Neovim configuration
│ ├── packages/ # Custom packages
│ ├── programs/ # Application configs
│ ├── scripts/ # Custom scripts
│ ├── services/ # System services
│ ├── system/ # Core system settings
│ └── theme/ # Catppuccin theming
├── flake.nix # Flake definition
└── justfile # Task runner commands
See LICENSE