Personal Nix Config
  • Nix 86.9%
  • JavaScript 6%
  • Python 2.1%
  • CSS 1.5%
  • Just 1.4%
  • Other 2.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hristo Djenkov 0d45cb6098
Some checks failed
check / check (push) Has been cancelled
Manage macOS privacy settings and clean up configuration
2026-11-08 11:23:55 +02:00
.forgejo asd 2026-10-06 00:23:53 +03:00
modules Manage macOS privacy settings and clean up configuration 2026-11-08 11:23:55 +02:00
tests Simplify Nix configuration and fix Epic ownership checks 2026-09-20 02:02:58 +03:00
.envrc Simplify Nix configuration and fix Epic ownership checks 2026-09-20 02:02:58 +03:00
.gitignore Simplify Nix configuration and fix Epic ownership checks 2026-09-20 02:02:58 +03:00
flake.lock chore: update tooling, Darwin setup, and network hardening 2026-11-04 02:35:55 +02:00
flake.nix asd 2026-10-06 00:23:53 +03:00
justfile Update self-hosted services and configure Headplane 2026-10-13 19:29:37 +03:00
LICENSE add license 2026-02-03 23:53:03 +01:00
README.md Manage macOS privacy settings and clean up configuration 2026-11-08 11:23:55 +02:00

nix-config

Personal macOS and NixOS configuration. macOS tracks unstable; NixOS tracks 26.05.

Hosts

Host System Services
lambda macOS · aarch64 MacBook Pro
htpc NixOS · x86_64 Kodi + Jellycon
hass NixOS · x86_64 Home Assistant, Mosquitto, CUPS / AirPrint, scanservjs, Glances, Caddy, Chromium kiosk
vps NixOS · aarch64 Caddy, PostgreSQL, Forgejo + runner, Headscale + Headplane, Pocket ID, Uptime Kuma, frp, FMBot, Epic Games Free Games, static website

Home server via frp: Immich and Nextcloud.

Files

Secrets: agenix and a private repository. Headscale ACLs and DNS are managed in Headplane; rebuilds preserve UI changes. Persistent Headscale configuration: /var/lib/headscale/config/server.yaml. Before the first VPS deployment using persistent Headplane state, run just prepare-headplane-state.

Commands

just --list
just format
just check
just preflight-lambda
just diff-lambda
just deploy-lambda
just rollback-lambda
just deploy-htpc
just deploy-hass
just deploy-vps
just clean

just update
just update nixpkgs-unstable

just update updates public inputs and validates Lambda. Private inputs: just update secrets fmatrix.

Development

nix develop ~/git/nix-config#<shell>
Shell Tools
default Zsh, just, jq, nh, statix, agenix, nixd
infra Ansible, OpenTofu, hcloud, OpenBao, YAML / Terraform language servers
web Node, pnpm, TypeScript, web language servers
go Go, golangci-lint, gopls
python Python 3.13, ipykernel, basedpyright

Each shell inherits default. For direnv, add use flake "$HOME/git/nix-config#<shell>" to the project's .envrc, then run direnv allow.

VSCodium settings: settings.json. Gruvbox palette: palette.nix. App theme imports: ~/.config/gruvbox/README.txt. Package lookup: nix-locate --whole-name --at-root /bin/<command>.