Configuration files for my NixOS and nix-darwin machines
  • Nix 93.5%
  • Python 3.1%
  • CSS 2.1%
  • TypeScript 1%
  • Just 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Wolfgang 721691acab
All checks were successful
push / generate-readme (push) Successful in 3m24s
push / lint (push) Successful in 9m40s
push / push-readme (push) Successful in 6s
darwin: add glab
2026-10-19 14:11:12 +02:00
.github/workflows ci: drop the pull_request_review trigger 2026-10-11 10:13:19 +02:00
bin fix: use flake-pinned lib in generateServicesTable 2026-10-02 11:38:59 +02:00
modules darwin: add glab 2026-10-19 14:11:12 +02:00
.envrc Add nh 2026-10-10 08:46:17 +02:00
.gitignore Remove claude, add ntp 2026-05-15 18:41:14 +02:00
AGENTS.md Extract generic homelab.router module from alison 2026-10-12 10:30:22 +02:00
flake.lock chore: Update flake.lock 2026-10-19 03:04:10 +00:00
flake.nix feat: wire up disko for the ZFS hosts 2026-10-02 11:47:25 +02:00
justfile darwin: Ask for sudo password before running nh darwin 2026-10-13 09:42:24 +02:00
LICENSE initial commit 2023-06-28 20:50:06 +02:00
README.md smarthome: rename raspberrymatic to openccu 2026-10-19 14:11:12 +02:00

nix-config

Configuration files for my NixOS and nix-darwin machines.

Very much a work in progress.

Services

This section is generated automatically from the Nix configuration using GitHub Actions and this cursed Nix script

alison

Icon Name Description Category
Grafana Platform for data analytics and monitoring Observability
Home Assistant Home automation platform Smart Home
OpenCCU Homematic IP CCU Smart Home
Prometheus Monitoring system & time series database Observability
Uptime Kuma Service monitoring tool Services

aria

Icon Name Description Category
Immich Self-hosted photo and video management solution Media

emily

Icon Name Description Category
Audiobookshelf Audiobook and podcast player Media
Bazarr Subtitle manager Arr
CrossPoint Sync Reading progress sync for KOReader e-readers Services
Deluge Torrent client Downloads
Immich Self-hosted photo and video management solution Media
Jellyfin The Free Software Media System Media
Jellyseerr Media request and discovery manager Arr
Keycloak Open Source Identity and Access Management Services
leseratte Hardcover to OPDS book downloader Arr
Microbin A minimal pastebin Services
Miniflux Minimalist and opinionated feed reader Services
Navidrome Self-hosted music streaming service Media
Nextcloud Enterprise File Storage and Collaboration Services
Paperless-ngx Document management system Services
Prowlarr PVR indexer Arr
Radarr Movie collection manager Arr
Radicale Free and Open-Source CalDAV and CardDAV Server Services
SABnzbd The free and easy binary newsreader Downloads
slskd Web-based Soulseek client Downloads
Sonarr TV show collection manager Arr
Vaultwarden Password manager Services

spencer

Icon Name Description Category
Forgejo A painless, self-hosted Git service Services

Installation runbook (NixOS)

Build an installer ISO (or use any NixOS ISO):

just build-iso <host>

On the target, set a root password from the TTY:

sudo su
passwd

From your host, copy your public key over and connect with agent forwarding (the agent is needed to fetch the private secrets flake input):

export NIXOS_HOST=192.168.2.xxx
ssh-add ~/.ssh/notthebee
ssh-copy-id -i ~/.ssh/notthebee root@$NIXOS_HOST
ssh -A root@$NIXOS_HOST

Enable flakes if you are not using the generated ISO:

mkdir -p ~/.config/nix
echo "experimental-features = nix-command flakes" >> ~/.config/nix/nix.conf

Clone this repository and partition/mount the drives with the host's disko config:

git clone https://github.com/notthebee/nix-config.git /etc/nixos
cd /etc/nixos
nix run github:nix-community/disko -- \
    --mode destroy,format,mount --flake .#<host>

Copy the repository into the new root so the installed system has it at /etc/nixos, and place the private key used by agenix:

cp -a /etc/nixos /mnt/etc/nixos
mkdir -p /mnt/home/notthebee/.ssh
exit
scp ~/.ssh/notthebee root@$NIXOS_HOST:/mnt/home/notthebee/.ssh
ssh root@$NIXOS_HOST
chmod 700 /mnt/home/notthebee/.ssh
chmod 600 /mnt/home/notthebee/.ssh/*

Install the system:

nixos-install \
--root "/mnt" \
--no-root-passwd \
--flake "/etc/nixos#<host>"

Unmount the filesystems and reboot:

umount /mnt/boot/efis/*
umount -Rl "/mnt"
zpool export -a
reboot