This is a personal configuration framework. While you can use it as inspiration or a starting point, some components are tailored to specific needs and won’t work out of the box without modification.
Key features
This configuration framework provides a robust foundation for managing your systems:- Modular architecture - Add or remove components based on your needs using the
gardenmodule system - Cross-platform support - Works on NixOS, macOS (via nix-darwin), and WSL
- Sensible defaults - Get started quickly with pre-configured profiles for workstations, laptops, and servers
- Catppuccin theming - Consistent, beautiful theming across all applications
- Flake-based - Modern Nix flakes for reproducible builds and easy dependency management
- Home Manager integration - Declarative user environment configuration
- Security-focused - Built-in support for secure boot (lanzaboote), SOPS secrets management, and TPM
Architecture overview
The configuration is organized into several key areas:Profiles
Pre-configured system profiles like graphical, workstation, laptop, and server that bundle common settings
Modules
Granular configuration modules for hardware, software, services, and theming organized by category
Hosts
Individual system configurations for each machine, from desktop workstations to ARM servers
Secrets
Encrypted secrets management using SOPS for secure credential storage
The garden module system
At the heart of this configuration is the garden namespace, which provides a consistent interface for configuring all aspects of your system:
Supported platforms
NixOS
Full-featured NixOS configurations with hardware support, display managers, and system services
macOS
macOS configurations using nix-darwin with Homebrew integration for GUI apps
WSL
Windows Subsystem for Linux configurations with NixOS-WSL integration
What’s included
The framework includes configurations for:- Window managers: Hyprland with full compositor configuration
- Development tools: Neovim (izvim), Git, shells (fish, nushell), and language toolchains
- Applications: Browser extensions, media players, file managers, and productivity tools
- Services: SSH, GPG, backup systems, and custom systemd services
- Hardware: Multi-monitor setups, GPU drivers, Bluetooth, printing, and more
- Theming: Catppuccin color scheme applied consistently across all applications
Example hosts
The repository includes several reference configurations:- amaterasu - Intel/NVIDIA desktop workstation with dual monitors at 144Hz
- tatsumaki - ARM-based macOS laptop (Apple Silicon)
- valkyrie - WSL development environment
- skadi - ARM-based NixOS server
- lilith - Custom NixOS ISO installer with the
iznix-installinstallation script
Getting started
Ready to dive in? The quickstart guide will walk you through installing NixOS and deploying your first configuration.Quickstart
Get up and running with a working NixOS, macOS, or WSL installation
Community and support
This is a personal configuration repository, but contributions and questions are welcome:- Source code: github.com/isabelroses/dotfiles
- License: EUPL-1.2
- Documentation: You’re reading it!