finn.markwitzandClaude Sonnet 5 31e1910d75 fix(mibook): import hermes-agent module from the profile, not machines/configuration.nix
machines/configuration.nix wired hermes-agent.nixosModules.default into
mibook's mibook-only modules list. modules/environments/default.nix is
machine-agnostic, so jupiter still evaluated a
services.hermes-agent = lib.mkIf false { ... } definition for an option it
never declared as existing — NixOS errors on that regardless of mkIf's
condition, breaking nixosConfigurations.jupiter (and the repo's sole CI
job) entirely.

Fix: import the upstream module unconditionally from inside
modules/environments/hermes-agent/default.nix itself, so the option is
declared everywhere modules/environments/default.nix loads, and only ever
turned on where my.profiles.hermes-agent.enable = true (mibook). Also adds
users.users.finn.extraGroups = [ "hermes" ], required for the hermes CLI to
be usable per the corrected design. machines/configuration.nix no longer
mentions hermes-agent.

Deviates from the reconciled spec/plan text in one respect: uses `self`
(from specialArgs) instead of `inputs` (from _module.args) to reach the
flake input inside `imports`. Using `inputs` there reproduced infinite
recursion — NixOS resolves a module's imports before _module.args
assignments are merged, so an import list cannot depend on an arg that
itself comes from config. `self` is available at import-time via
specialArgs, `inputs` is not, in this repo's wiring. See report for detail.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vbvwg3Qt2u9nbkEA3wL17S
2026-09-08 17:50:11 +02:00
2024-01-20 10:18:08 +01:00
2025-02-07 22:13:20 +01:00
2023-07-03 07:58:41 +00:00
2023-09-11 14:54:26 +00:00
2026-09-08 15:43:50 +02:00
2025-10-27 07:40:22 +00:00

Private NixOS Configuration

Felix Nixos Config

Structure

.
├── images       # custom image generations
├── machines     # machine definitions
├── modules      # own nix-options, to modularize services/hardware/...
├── overlays     # overlays
├── pkgs         # own packages, which are not available in nixpkgs
└── environments     # summarize module collections into single options

Commands

# Rebuild (switch/boot/test) 
sudo nixos-rebuild switch --flake '.#jupiter'


# Update Flake
nix flake update

# Channel list
sudo nix-channel --list
# Channel update
sudo nix-channel --update
S
Description
Private NixOS configuration
Readme
562 KiB
Languages
Nix 100%