Remove REQUIRE_SIGNIN_VIEW so public repos are viewable without login; registration stays disabled and private repos still require auth.
Nix-Vibe: Multi-Host NixOS Configuration
This repository contains a modular NixOS and Home Manager configuration managed via Nix Flakes. The architecture is designed for reproducibility and consistency across diverse hardware, from powerful desktops to headless servers.
Architecture Overview
The system is built on a modular foundation, separating core configurations, hardware-specific settings, and user environments.
Host Roles
-
x1carbon: Advanced mobile workstation.- Role: Portable audio engineering and personal document management.
- Key Features: Specialized audio control (X32-Edit, Mixing Station), Paperless-ngx, image editing (GIMP), desktop publishing (Scribus), 2-in-1 tablet mode (auto-rotation via accelerometer + on-screen keyboard via wvkbd).
-
caitlin-x1: User-focused laptop.- Role: Daily productivity and gaming.
- Key Features: Steam integration, Prism Launcher for Minecraft, and Soundux for audio management.
-
x470: Lightweight guest/general use laptop.- Role: Basic productivity and remote network management.
- Key Features: Winbox for networking and FreeShow for presentations.
-
mary-x270: User-focused desktop workstation.- Role: Daily productivity workstation for Mary.
- Key Features: Shared GNOME desktop environment, Home Manager configuration, and multi-user access (
mary&petere).
-
richmond-server: Headless infrastructure core.- Role: Network services, container hosting, and central backup storage.
- Key Features: Podman-hosted services (Pi-hole, Castopod, MCFNotices), Backrest backup server, and complex VLAN networking.
-
homeserver-1: Headless general server.- Role: Auxiliary network server and container environment.
- Key Features: Tailscale, Podman, Zsh, Disko, SOPS secret management, Immich, Jellyfin, Backrest, Pocket ID, Gitea (git hosting, public at
gitea.edley.me), and a Homepage dashboard.
-
mcf-server: Headless server.- Role: Remote backup target for
homeserver-1(restic). - Key Features: SSH and Glances monitoring on the tailnet.
- Role: Remote backup target for
-
mcf-stream: Desktop.- Role: Newly scaffolded desktop host.
- Key Features: GNOME desktop, Home Manager for
petere.
-
hp-laptop: End-user laptop.- Role: Daily productivity laptop for
petere. - Key Features: Hyprland + QuickShell desktop (no GNOME), greetd/tuigreet login, Home Manager for
petere.
- Role: Daily productivity laptop for
Software Inventory
See the full cross-reference table in docs/software-inventory.md.
Homepage Dashboard
The Homepage dashboard (gethomepage.dev) runs on homeserver-1 at
http://homeserver-1:8082 and displays services from across the tailnet.
- Dashboard definition:
hosts/homeserver-1/homepage.nix - Adding machines, tabs, and services: docs/homepage-dashboard.md
- Widget API keys are managed via SOPS (
secrets.yaml→HOMEPAGE_VAR_*env vars)
Initial Installation
This repository uses nixos-anywhere for deployment to new hardware. See docs/installation.md for prerequisites and step-by-step instructions.
Managing Secrets
This project uses sops-nix and age to manage secrets.
For instructions on adding new secrets, managing keys, and using secrets in your configuration, please see the SOPS Secrets Management Guide.