No description
  • Nix 95.6%
  • Shell 4%
  • Perl 0.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Tom Berg 8366249a62 enkrateia: turn off the RJ45 LEDs too
The LAN9514 drives them itself, so there is no led class device to point
udev at and no dtparam either — eth_led0 is lan78xx/bcmgenet, i.e. 3B+ and
Pi4. smsc95xx ORs the three LED mux bits into LED_GPIO_CFG unconditionally
in its ->reset, so the only lever is to clear them again afterwards.

A vendor control request is what the driver itself uses for register
access, and usbfs permits vendor-type requests without claiming the
interface, so the driver stays bound and the link never drops. Read tested
against a live box: the register holds 0x01110000 and nothing else, and
clearing it hands the three pins back to GPIO in high-Z.

perl is already in the closure via systemd, so this adds nothing to a
machine with 1GB of RAM and an SD card.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C5KuVY7ZBrhZtE8xWQjTZ8
2026-09-04 10:09:33 +12:00
hosts enkrateia: turn off the RJ45 LEDs too 2026-09-04 10:09:33 +12:00
lib wireguard: move enkrateia to .2, next to the hub 2026-09-01 15:54:00 +12:00
modules sunshine: back up game saves, not the Proton prefix 2026-09-01 19:33:32 +12:00
secrets change passwords 2026-08-28 17:43:36 +12:00
.gitattributes fix sops and stop logos from accessing akrasias lan 2026-08-18 23:23:43 +12:00
.gitignore gitignore: result* rather than result 2026-09-01 15:54:00 +12:00
.sops.yaml akrasia: move key material to its own /persist/secrets subvolume 2026-08-19 10:00:44 +12:00
BLOCKERS.md blockers: Radarr 6.x fails to chown new movie folders to media group 2026-08-13 21:58:14 +12:00
CLAUDE.md docs: container journals reach Loki now 2026-08-25 20:02:08 +12:00
ENCRYPTION.md docs: plan for encrypting akrasia 2026-08-30 20:29:52 +12:00
flake.lock update flake 2026-09-01 16:01:45 +12:00
flake.nix enkrateia: a deploy node, so config changes stop meaning a reflash 2026-09-01 15:54:00 +12:00
LICENSE merge 2023-11-28 17:04:31 +13:00
README.md docs: plan for encrypting akrasia 2026-08-30 20:29:52 +12:00
RESTORE.md jellyfin: dump the playlists dir, not just the DB 2026-09-02 11:54:06 +12:00

nixos-config

Personal NixOS flake for the homelab. Host names follow a Greek/Latin philosophy theme.

Hosts

Host Role Platform
akrasia Gaming + LLM + NAS + headless service hub Tower, 2× GTX 1080
logos Programming laptop Dell Latitude 5400

Arche (the former headless server) was decommissioned after a fatal USB-C power-delivery fault; its services now run on akrasia.

Build a host

nix build .#nixosConfigurations.<Host>.config.system.build.toplevel

Deploy

nix run github:serokell/deploy-rs -- .#akrasia

Secrets

All secrets live under secrets/<host>/ and are encrypted with sops-nix + age. Host-specific age keys live in /persist/sops/key.txt on each machine.

Restore

See RESTORE.md for the recovery runbook — the order matters, because the offsite copy is the only place the age keys survive.

Disk encryption

akrasia's disks are not encrypted yet. See ENCRYPTION.md for the plan — Tang on the rpi3, system disk first, and the passphrase escrow that has to happen before any of it.