jackos1998 ab2308e765 lib: Disable IPv6 privacy addresses on assignments
IPv6 temporary (privacy) addresses rotate an interface's stable source
address out from under long-lived connected sockets. nginx's resolver
on middleman binds a UDP socket to the preferred temporary address at
worker start; once that address expires and is removed, the socket can
no longer send, so every upstream lookup fails with "could not be
resolved (timed out)" until nginx is restarted (which then binds the
next temporary address, so it recurs).

These are servers with no need for privacy addresses, so disable them
in networkdAssignment for every RA-accepting interface.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-02 21:20:53 +01:00
2026-08-02 01:07:27 +01:00
2026-08-02 11:42:09 +01:00
2026-08-02 01:07:27 +01:00
2026-03-01 22:57:03 +00:00
2026-08-02 01:07:27 +01:00
2026-07-22 18:44:03 +01:00
2026-08-02 00:12:57 +01:00
2023-11-17 20:25:58 +00:00

nixfiles

Personal Nix flake managing every box I run: hosted servers, home infrastructure, routers, a remote site, VPSes and personal workstations. It is built around a custom module system layered on top of NixOS and home-manager rather than the stock per-host nixosConfigurations pattern.

For the module-system internals, see docs/architecture.md; for day-to-day commands, deployment and secrets, see docs/deployment.md. This README is the map of what is actually deployed; the per-box details live under docs/ (start at docs/README.md).

Note: This documentation (the README and everything under docs/) is a work in progress and was agent-generated from the repository. It may be incomplete or out of date — treat the Nix configuration as the source of truth.

The boxes at a glance

Boxes are grouped by deployment/location. Each group has its own directory under docs/ with a README.md overview and one page per box.

Group What it is
colony Hosted dedicated server in Amsterdam (ams1). A VM host running the public-facing infrastructure: routing, web, git, media, object storage, chat, game servers.
home Home network: a VM host (palace), the home routers, storage, Home Assistant, and a workstation — plus the hand-configured switches and wireless APs tying it together.
remote Edge VPSes (britway, britnet) and the remote kelder site.
mobile The tower laptop.

The custom installer image is documented at docs/misc/installer.md. The general topics — the module system, network and deployment — live next to the index: docs/architecture.md, docs/networking.md and docs/deployment.md. The generated custom-module option reference is at docs/reference/nixos-options.md.

The high-level site diagrams and box hierarchy live in docs/README.md. Networking is largely defined by per-box assignments plus the AS211024 L2 VXLAN mesh; see docs/networking.md for the full picture and docs/architecture.md for the implementation mechanics.

Repo layout

README.md           <- you are here
nixos/
  boxes/            per-box configuration
    colony/         colony host + its VMs (vms/) + shill's containers
    home/           palace host + its VMs, routing-common, plus stream, castle
    britway/        London VPS
    kelder/         remote box + its containers
    tower/          laptop
    britnet.nix     Birmingham VPS
  installer.nix     installer-image configuration
  modules/          shared NixOS modules (my.* options); registered in _list.nix
home-manager/       home-manager modules + configs
lib/                lib.my helpers, constants (lib.my.c), net/dns helpers
pkgs/               custom packages (overlays.default)
secrets/            age-encrypted secrets (ragenix)
devshell/           devshell commands (build/deploy/check/ssh helpers)
ci/                 CI helpers (binary-cache push, docs generators)
docs/               deployment documentation (index at docs/README.md)

A box is wired into the flake by adding its config file to the configs list in flake.nix. See the top-level evaluation for how evalModules turns these into nixosConfigurations, homeConfigurations and deploy nodes.

S
Description
Configs for all (well almost all) my systems
Readme 8.3 MiB
2025-01-01 19:14:04 +00:00
Languages
Nix 86.8%
Python 7.5%
Shell 3.3%
HTML 2.4%