A declarative NixOS system configuration using flakes, Home Manager, and sops-nix.
Host: argo - Personal laptop (Intel CPU, Dell, ABNT2 keyboard)
# Rebuild and switch
nh os switch
# Rebuild with trace
nh os switch -- --show-trace
# Check flake
nix flake check
# Update inputs
nix flake update| Feature | Module | Description |
|---|---|---|
| Hydenix | home/features/desktop-environment/hydenix | Hyprland-based desktop with Wayland |
| Nixvim | home/features/programs/cli/nixvim | Neovim config with 50+ plugins |
| Kanata | modules/nixos/kanata | Advanced keyboard remapping (layers, home-row mods) |
| Stylix | home/features/desktop-environment/stylix | System-wide theming (Ayu Mirage) |
| sops-nix | secrets/ | Encrypted secrets management |
.
├── flake.nix # Flake entry point
├── flake-outputs.nix # Outputs definition
├── hosts/
│ ├── argo/ # Host configuration
│ └── common/ # Shared system config
├── home/
│ ├── abreu/ # User configuration
│ ├── common/ # Shared home settings
│ └── features/ # Modular feature sets
│ ├── desktop-environment/ # Hydenix, Stylix
│ ├── keymaps/ # ABNT2 keyboard mappings
│ └── programs/ # CLI and GUI programs
├── modules/
│ ├── nixos/ # Custom NixOS modules (Kanata)
│ └── home-manager/ # Custom Home Manager modules
├── secrets/ # sops-nix encrypted secrets
└── docs/ # Documentation
See docs/ for detailed documentation:
- architecture.md - Flake structure and data flow
- hosts/argo.md - Host-specific configuration
- modules/nixos/kanata.md - Keyboard customization
- home/features/programs/cli/nixvim.md - Neovim plugins
| Input | Purpose |
|---|---|
| nixpkgs | Package set (nixos-25.11) |
| home-manager | User-level configuration |
| hydenix | Hyprland desktop environment |
| nixvim | Neovim configuration |
| stylix | System theming |
| sops-nix | Secrets management |
| kanata | Keyboard remapping |
- Nix with flakes enabled
- NixOS unstable or 25.11
# Edit encrypted secrets
sops secrets/users/abreu.yaml
# Reference in config
sops.secrets."api-keys/my-service" = {};Personal configuration. Use at your own risk.