My attempt to move to nix from a decade of using arch
  • Nix 48.3%
  • TypeScript 27.6%
  • Python 19.7%
  • JavaScript 3.9%
  • Shell 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-29 15:28:51 -05:00
assets Remove deez 2026-06-21 23:28:17 -05:00
home clanker 2026-09-27 13:43:56 -05:00
homelab replace dummy key with proper key 2026-07-30 06:26:22 -05:00
hosts fuckass commit with a billion things in it pt2 2026-09-20 22:20:34 -05:00
parts Amadeus 2026-09-29 15:28:51 -05:00
secrets clanker 2026-09-27 13:43:56 -05:00
.gitignore replace dummy key with proper key 2026-07-30 06:26:22 -05:00
.sops.yaml buh bye fingerprint 2026-06-23 05:14:58 -05:00
flake.lock fuckass commit with a billion things in it 2026-09-24 05:08:49 -05:00
flake.nix fuckass commit with a billion things in it 2026-09-24 05:08:49 -05:00
README.md fih 2026-06-22 16:19:25 -05:00

Branches of Yggdrasil

My machines, like how I wanted.

My attempt to move to nix after nearly a decade on Arch lulw. defo not production ready but tis what I have.

How it's wired

.
├── flake.nix                # Root entrypoint: machines list + mkHost generator
├── agents/                  # Agent rules and memory samples (not part of the build)
├── assets/                  # Vendored themes and fonts
│   ├── fonts/               # The font pile (pulled in by parts/universal/fonts.nix)
│   ├── grub/                # GRUB boot-menu theme
│   └── plymouth/            # Boot splash
├── home/                    # home-manager land, one concern per file
│   ├── base/                # Headless-safe shell bits (zsh, git)
│   ├── desktop/             # niri session, lockscreen, theming
│   ├── files/               # Vendored per-app config samples
│   ├── programs/            # App configs (kitty, fuzzel, vscode, dolphin, btop, fastfetch)
│   └── scripts/             # Helper scripts
├── homelab/                 # Inventory of the SEPARATE Proxmox homelab (docs only)
├── hosts/                   # One dir per machine
│   ├── svartalfheim/        # Framework 13 laptop
│   │   └── extra/           # Host-only bits, auto-imported
│   └── vanaheim/            # Desktop
│       └── extra/           # Host-only bits, auto-imported
├── parts/                   # System config, split by how it switches on
│   ├── modules/             # Opt-in pieces (gpu, gaming, laptop, vpn), flag-gated
│   ├── templates/           # Declares the host.* feature flags
│   └── universal/           # Always-on base (boot, net, audio, fonts, users)
└── secrets/                 # SOPS-encrypted secret store

The shell that I use is based on a heavily stripped down and customised end-4 with the rest of the description blah blah over at my .dotfiles