# dotfiles-nixos One flake that builds every machine the user owns. The domain model (Host, Module, Skeleton, Auto-loader, Enable convention, overlays) lives in `~/Documents/ai-artifacts/projects/dotfiles/003-dotfiles-context.md`. ## Conventions - Comments posted to Gitea (pull requests, issues, reviews) go out under the operator's account, so sign every one to make clear the author is the agent, not the operator. End the comment with a `— Claude` sign-off. (A dedicated bot account may replace this later. Until then, the sign-off is the only marker.) - Commit messages follow Conventional Commits, specified in `docs/conventional-commits.md`. Scope is the module or host the change belongs to (`fish`, `nvim`, `neogaia`), omitted for repo-wide changes. Keep messages free of Gitea-specific references: this repository is mirrored to GitHub, where issue and pull-request numbers resolve to unrelated things. - When a graphical application is added, give it a `window-rewrite` icon mapping in `modules/desktop/waybar.nix`. Without one its windows fall back to the generic default glyph on the workspace indicator instead of showing a recognisable per-application icon. Match on the window class, which `hyprctl clients -j | jq -r '.[].class' | sort -u` lists for the running session. ## Gotchas - Subagent completion delivery is non-blocking through immediate spawn, milestone notifications, retained terminal entries, and `subagent_list` or `subagent_result` retrieval. `subagent_wait` intentionally blocks the parent tool call until its condition or timeout, so do not use it merely to keep background work alive during an interactive workflow. - Nixvim's flake input following the root nixpkgs source does not make its Home Manager module reuse the host's `pkgs` instance. Keep `programs.nixvim.nixpkgs.useGlobalPackages = true` so Nixvim uses the shared package set without warning that its source default was affected. - This host has no `python` or `python3` command on its ordinary `PATH`. For ad hoc Python, use Nix explicitly, such as `nix shell nixpkgs#python3 -c python3