This is my personal infrastructure repo. It is mostly here so I can rebuild my own machines without trying to remember every package, service, kernel tweak, browser preference, shell setting, and desktop detail by hand.
It is not meant to be a starter template. Some parts are reusable, but a lot of it is deliberately shaped around my hardware, my domains, my secrets layout, and the way I like my desktop to feel.
- A multi-host NixOS flake for my
desktop,laptop, andeuclidserver. - Home Manager configuration for the user-facing parts of my setup.
- A Hyprland desktop built around UWSM, tuigreet, Noctalia Shell, Stylix, Zen Browser, themed apps, and a lot of small quality-of-life modules.
- A homelab/server stack for services like Authentik, Traefik, WireGuard, CrowdSec, databases, notifications, and media-related tooling.
- Local packages, overlays, preview helpers, and small libraries that make the rest of the tree less repetitive.
The repo is wired with flake-parts, flake-file, and import-tree, so most of the structure is discovered from modules/ instead of being manually listed in one giant flake file.
| Host | What it is |
|---|---|
desktop |
Main workstation |
laptop |
Portable system |
euclid |
Homelab server |
| Path | Purpose |
|---|---|
assets/ |
README images and shared static assets |
lib/ |
Small helper libraries for Hyprland, Stylix, MIME, Starship, Yazi, and environment handling |
modules/hosts/ |
The actual machine entrypoints |
modules/desktop/ |
Hyprland, Noctalia, greetd, UWSM, portals, clipboard, tablet, MangoHud, and desktop glue |
modules/programs/ |
CLI, TUI, GUI, browser, Git, GPG, SSH, GTK, Java, and Nix-LD modules |
modules/services/ |
Audio, networking, power, storage, containers, homelab services, and system tuning |
modules/profiles/ |
Shared base, personal, server, gaming, partitioning, locale, and theming profiles |
modules/pkgs/ |
Local packages, adapters, previews, and overlays |
modules/nix/ |
Flake inputs, Nix settings, Home Manager, SOPS, kernel, firmware, and boot-related modules |
vars.nix |
Shared identity, Git metadata, locale, and domain defaults |

