ewan's projects — docs

projects

Nix Starter

April 11, 2026

# nix# nixos# configuration# beginner

nix-starter provides beginner-friendly, self-contained NixOS configurations. No personal infrastructure, no shared abstractions — just plain NixOS.

Hosts

Host Description
as-the-gods-intended Minimal TUI laptop, optional KDE Plasma desktop
server Hardened server — AT Protocol PDS + Mastodon via Cloudflare Tunnel

Structure

flake.nix                        — top-level flake, wires up all hosts
hosts/
├── as-the-gods-intended/
│   ├── default.nix              — system config (boot, networking, packages)
│   ├── home.nix                 — user config (shell, editor, tools)
│   ├── hardware-configuration.nix  — generated per-machine, replace before install
│   └── README.md               — full setup guide for that host
└── server/
    ├── default.nix              — host skeleton (boot, networking, SSH, nginx, nix)
    ├── hardware-configuration.nix  — generated per-machine, replace before install
    ├── README.md               — full setup, secrets, and tunnel guide
    └── modules/
        ├── cloudflare-tunnel.nix   — outbound tunnel, ingress rules for both services
        ├── pds.nix                 — bluesky-pds + nginx vhost
        └── mastodon.nix            — Mastodon + nginx vhost overrides

Adding a new host

  1. Copy an existing host directory as a starting point:
    cp -r hosts/as-the-gods-intended hosts/my-new-host
    
  2. Update networking.hostName, the username, and the hardware config.
  3. Add an entry to flake.nix under nixosConfigurations.
  4. Follow the setup guide in the new host's README.md.

Resources


← all docs