All my nix stuff, in a single flake
Find a file
William a8ae7f671a flake.lock: Update
Flake lock file updates:

• Updated input 'fusion':
    'github:baduhai/fusion/ac3f67d965b583c7701048a50b263aeba4a4baff?narHash=sha256-QgN63uN9QA9FoDzDXpF62GJeFf03xIVj4V%2Bqsz18uHY%3D' (2026-06-05)
  → 'github:baduhai/fusion/d9b17fba39dedc462dd1124aa973b8e10eefadad?narHash=sha256-mzjenWGj5mHmkI23eDYnmmf1U1GWGRgwLTZr1JCOfIE%3D' (2026-06-08)
2026-06-08 18:46:43 -03:00
aspects no more playwright mcp 2026-06-05 10:29:05 -03:00
data migrate fusion rss reader from alexandria to trantor 2026-06-02 09:24:07 -03:00
docs docs: how to proxy a service publicly through trantor 2026-05-30 18:43:35 -03:00
packages alexandria: restore miniflux and remove tt-rss 2026-04-16 16:04:50 -03:00
secrets alexandria: fix jellyfin SSO config format for v4.0.0.4 2026-05-31 19:30:26 -03:00
shells 'system' has been renamed to/replaced by 'stdenv.hostPlatform.system' 2026-02-18 16:08:53 -03:00
terranix nixfmt 2026-02-12 18:50:38 -03:00
.envrc simplify .envrc 2024-09-25 08:43:28 -03:00
.gitignore add .worktrees to gitignore 2026-04-16 16:08:11 -03:00
flake.lock flake.lock: Update 2026-06-08 18:46:43 -03:00
flake.nix update nixpkgs-stable to nixos-26.05 2026-06-01 11:25:48 -03:00
readme.md Update readme.md 2026-02-19 18:32:43 -03:00

NixOS Flake Configuration

Modular NixOS configuration using flake-parts with the dendritic pattern.

Structure

.
├── aspects/           # Reusable NixOS/home-manager modules (dendritic)
│   ├── base/          # Base system configuration
│   ├── hosts/         # Host-specific configurations
│   │   ├── _alexandria/
│   │   ├── _io/
│   │   ├── _rotterdam/
│   │   └── _trantor/
│   ├── systems/       # System type modules (desktop, server, cli, gaming)
│   └── users/         # User account configurations
├── data/              # Shared host/service definitions
├── packages/          # Custom packages and overlays
├── shells/            # Shell configurations
└── terranix/          # Terraform configurations for cloud resources

Hosts

Host Architecture Type Description
trantor aarch64-linux server ARM server running Forgejo
alexandria x86_64-linux server x86 server (Kanidm, Vaultwarden, Nextcloud, Jellyfin)
rotterdam x86_64-linux desktop Main workstation setup for gaming
io x86_64-linux desktop Workstation

Services

  • git.baduhai.dev (Forgejo) - Publicly accessible on trantor

Other services (LAN/Tailscale only): Vaultwarden, Nextcloud, Jellyfin

Features

  • Ephemeral root: Automatic btrfs subvolume rollover with impermanence
  • Secrets: Managed via agenix with age encryption
  • Disk management: disko for declarative disk partitioning
  • Modular architecture: Each aspect is a separate module imported via import-tree
  • Dendritic pattern: Aspects are imported as a unified flake module

Building

# Build specific host
nix build .#nixosConfigurations.trantor.config.system.build.toplevel

# Rebuild host (if using nixos-cli on the host)
sudo nixos apply

Terranix

Terraform configurations for cloud infrastructure managed via terranix:

  • baduhai.dev DNS on CloudFlare
  • VPS provisioning on OCI
  • Tailscale subnet routers

Key Dependencies

  • nixpkgs (nixos-unstable for workstations, nixos for servers)
  • home-manager
  • agenix
  • disko
  • impermanence
  • nix-flatpak
  • nixos-cli