Flake for my desktop, laptop, and my homelab.
0

Configure Feed

Select the types of activity you want to include in your feed.

Nix 96.4%
CSS 3.5%
Lua 0.2%
Shell 0.1%
148 1 0

Clone this repository

https://tangled.org/adam0.dev/infra https://tangled.org/did:plc:o4ij57xqkjq2bd26ecxe4qgp
git@knot.zezura.xyz:adam0.dev/infra git@knot.zezura.xyz:did:plc:o4ij57xqkjq2bd26ecxe4qgp

For self-hosted knots, clone URLs may differ based on your setup.



README.md
Avatar Nix logo

adam0's infra#

The Nix flake that keeps my desktop, laptop, and homelab server reproducible.

Repo Size
NixOS Flakes Home Manager Stylix SOPS Nix Disko

What This Is - Machines - Layout

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.

What This Is#

  • A multi-host NixOS flake for my desktop, laptop, and euclid server.
  • 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.

Machines#

Host What it is
desktop Main workstation
laptop Portable system
euclid Homelab server

Layout#

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