my nix configs
  • Nix 48.5%
  • Python 47%
  • HTML 1.6%
  • Shell 1.5%
  • JavaScript 1%
  • Other 0.4%
Find a file
Harald Hoyer 34dff457ea fix(overlays): carry upstream's C++20 result_of fix for eternal-terminal
`darwin-rebuild build` on rialo died in eternal-terminal 7.0.0 and took the
whole darwin closure with it (config.fish, system-path, etc., et al. failed as
mere dependency victims). The existing override from 3f1983d2 patched
CMAKE_CXX_STANDARD 17 -> 20 to satisfy abseil 20260817, but that only traded
one precompiled-header failure for the next one: the vendored ThreadPool.h
still spells std::result_of, which C++20 removed and libc++ therefore hides
behind _LIBCPP_ENABLE_CXX20_REMOVED_TYPE_TRAITS.

Apply nixpkgs' own thread-pool-c++20-result-of.patch (std::invoke_result), so
the fix is spelling-independent of the stdlib and holds on the Linux hosts too,
where libstdc++ drops result_of just the same. Upstream merged both hunks in
48b962f on 2026-10-11, after our pinned rev 494ce7fd, so the override is now
guarded by a warnIf on the patch filename and not only on the version: the
moment the lock moves past that commit it passes the package through and says
so, instead of double-applying the patch or rotting silently.

Verified: darwin-rebuild -L --flake .#rialo build succeeds, plus the
formatting and deadnix checks.
2026-10-12 14:29:27 +02:00
.forgejo/workflows ci: drop nix flake build from PR check, check only 2026-08-15 21:54:12 +02:00
.secrets chore: update github token 2026-10-05 12:18:10 +02:00
config chore: remove config/sglang/qsa-sm120-decode-patch.py 2026-09-16 13:31:01 +02:00
docs feat(amd): serve gpu1 with Pennyroyal v3.0.0 2026-10-11 20:25:15 +02:00
lib fix(deploy): run activate-rs from nixpkgs' deploy-rs, not a local build 2026-10-01 18:14:56 +02:00
modules fix(wezterm): send legacy CSI sequence for Delete under kitty keyboard protocol 2026-10-12 10:56:45 +02:00
overlays fix(overlays): carry upstream's C++20 result_of fix for eternal-terminal 2026-10-12 14:29:27 +02:00
packages feat(swafra): optional temporal ranking (tunable decay, cue-gated recency boost) 2026-10-08 09:05:40 +02:00
shells fix(nextcloud-talk-platform): run checkPhase on the hermes-agent venv 2026-09-28 16:51:27 +02:00
systems feat(amd): try Kolibri-1 on gpu2 in place of Gemma 4 26B 2026-10-12 09:37:34 +02:00
.gitignore chore(gitignore): add .pi-lens 2026-08-05 01:49:46 +02:00
.mcp.json chore(mcp): add project MCP config in mcpServers schema 2026-09-15 09:54:42 +02:00
.sops.yaml refactor(t15): remove host from fleet 2026-08-25 13:11:53 +02:00
AGENTS.md chore: symlink AGENTS.md to CLAUDE.md and update commit template 2026-07-02 12:27:52 +02:00
CLAUDE.md docs(agents): ask before deleting anything under /srv 2026-09-16 21:21:06 +02:00
flake.lock agent-presentation: beat navigation, pause and spoken commands 2026-10-12 06:46:13 +02:00
flake.nix feat(sgx): serve agent-presentation on agent.hoyer.world 2026-10-09 11:53:44 +02:00
README.md docs: update README with project structure and instructions 2025-03-20 09:43:18 +01:00
statix.toml chore: add statix.toml suppressing repeated_keys 2026-07-04 12:17:28 +02:00

NixOS Configuration

A modular NixOS configuration setup for multiple systems.

Project Structure

  • modules/: Reusable NixOS/Darwin modules
    • common.nix: Common module imports and definitions
    • nixos/: NixOS-specific modules
      • home/: Home Manager integration for NixOS
      • nix/: Nix package manager configuration
      • nix-ld/: Dynamic linking support
      • network/: Network configuration modules
        • resolved/: DNS resolution configuration
      • security/: Security-related modules
        • ssh-host-keys/: SSH host key management
      • services/: Service configuration modules
        • base/: Basic system configuration
        • gui/: Graphical interface setup
        • homeprinter/: Home printer support
        • podman/: Container runtime
        • secureboot/: Secure boot configuration
      • sgx/: Intel SGX support
        • aesmd_dcap/: SGX AESMD DCAP service
        • pccs/: SGX Provisioning Certificate Caching Service
      • system/: System configuration modules
        • auto-upgrade/: Automatic system upgrades
        • limits/: System resource limits
        • zram/: ZRAM swap configuration
      • tools/: Common tools configuration
        • direnv/: Direnv integration
        • git/: Git configuration
      • user/: User account configuration
      • virtualization/: Virtualization support
    • home/: Home Manager modules
      • cli-apps/: Command-line applications
      • gui/: GUI application configuration
      • tools/: User tools configuration
      • user/: User preferences
    • darwin/: Darwin-specific modules
      • home/, nix/, security/, etc.
  • systems/: Individual system configurations
    • x86_64-linux/: Linux systems on x86_64
    • aarch64-linux/: Linux systems on ARM
    • x86_64-darwin/: macOS systems on x86_64
    • aarch64-darwin/: macOS systems on ARM
  • homes/: Home Manager configurations for each user/system
  • lib/: Helper functions and utilities
  • overlays/: Nixpkgs overlays
  • packages/: Custom packages

Using the Configurations

Install a system via nixos-anywhere

$ nix run github:numtide/nixos-anywhere -- \
  --flake 'git+https://git.hoyer.xyz/harald/nixcfg'.#hostname \
  root@hostname --no-reboot --tty -i $HOME/.ssh/id_ed25519
... enter disk password
$ ssh -t root@hostname systemd-cryptenroll /dev/luksdev --wipe-slot=tpm2 --tpm2-device=auto --tpm2-pcrs=1,15

Update NixOS system

$ nixos-rebuild --use-remote-sudo -L --show-trace --refresh --flake git+https://git.hoyer.xyz/harald/nixcfg boot

Update macOS system

$ darwin-rebuild -L --show-trace --refresh --flake git+https://git.hoyer.xyz/harald/nixcfg switch

Update home-manager configuration

$ nix --refresh run 'git+https://git.hoyer.xyz/harald/nixcfg' -- \
  switch -b backup --flake 'git+https://git.hoyer.xyz/harald/nixcfg'