diff --git a/AGENTS.md b/AGENTS.md index 319660b..ddab61e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -5,6 +5,18 @@ and macOS. ## Invariants +- `nix/` layout: + - `nix/config/` — Home Manager concerns (shell, editors, terminal, desktop + user config). Each concern is a self-registering flake-parts module. + - `nix/modules/` — NixOS system modules that build out a machine (desktop + sessions, display managers, apps, games, shared baseline). Plain modules, + imported explicitly by hosts; never discovered automatically. + - `nix/services/` — long-running / server-oriented NixOS modules + (forgejo, jellyfin, wireguard). Imported explicitly by hosts. + - `nix/agent/` — agent skills and subagents, self-registering flake-parts + modules. +- Packages are installed centrally in `nix/modules/common.nix`; `nix/config/` + concerns own configuration files only, unless documented otherwise. - Keep host composition explicit under `nix/hosts///`; do not add recursive auto-imports. - A home-directory target has exactly one owner. @@ -15,10 +27,10 @@ and macOS. `~/.config/dotfiles-local/`. - Never add secrets, sessions, memories, logs, caches, sockets, or generated agent state. -- Agent skills are self-contained directories under `nix/modules/skills/`: +- Agent skills are self-contained directories under `nix/agent/skills/`: `SKILL.md` plus optional `references/`, `scripts/`, `assets/`, `evals/`, and a self-registering `default.nix`. Subagent definitions live in - `nix/modules/subagents/`. Client target directories are fixed in the + `nix/agent/agents/`. Client target directories are fixed in the skill helper and subagent module. Client directories contain only deployed copies; edit the canonical asset here. - Build before switching. The root flake is the sole configuration owner. @@ -30,7 +42,7 @@ Run these from the repository root: ```sh nix fmt -- --check . nix flake check -shellcheck nixos-switch.sh nix/modules/shell/scripts/bin/* +shellcheck nixos-switch.sh nix/config/shell/scripts/bin/* ``` Build the tracer host without activating it: diff --git a/flake.lock b/flake.lock index 819f5d7..e03651d 100644 --- a/flake.lock +++ b/flake.lock @@ -107,11 +107,11 @@ ] }, "locked": { - "lastModified": 1788355065, - "narHash": "sha256-gAz5oTI7ur34CfuakQduiQd/2ZhO62Bn2XXg08nZYYQ=", + "lastModified": 1789235087, + "narHash": "sha256-6hZ6Gy8isRQsWdI4l81Egag/PUIh68nSmFr2maInUNg=", "owner": "nix-community", "repo": "home-manager", - "rev": "d9d750e4fc11c10cab2da677bdd31e427f3a3a71", + "rev": "fe48612c5321a2cc09b0f563757a9c9733d641f8", "type": "github" }, "original": { @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1786719456, - "narHash": "sha256-B74DLQs/VjlqyhnnX3tguWwghqJHWSJX30TKZuAljIg=", + "lastModified": 1788229478, + "narHash": "sha256-G0F2rFORVcFkEvVdE/qWQTnYekIc77YP5/vRF9nZlxU=", "owner": "nix-community", "repo": "home-manager", - "rev": "83b7606dcf44abe3a94b86e8bb2b3355d22e8797", + "rev": "1dc2d1f720ab17fc7981e087346bf54b26d284b1", "type": "github" }, "original": { @@ -150,11 +150,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1787081356, - "narHash": "sha256-zEz25a9C+8MY806G1zClBdyL6WeBr+t3hyGC94/Xj3M=", + "lastModified": 1789152524, + "narHash": "sha256-tuxhmdi2XwKOv6zcbFVha7Q1ut1kus5Hm5xBVEJePIo=", "owner": "modem-dev", "repo": "hunk", - "rev": "8a2e0d86c3696e796eb058d8193e8e553545fb68", + "rev": "392cb7f99661270ff77df1f6c6bae9d9f5a0f156", "type": "github" }, "original": { @@ -262,11 +262,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1787042014, - "narHash": "sha256-stgzvREl3lC3UYnMU+4ttB1d3acWTzmMryDLEnRi0Ew=", - "rev": "c69ae8fb8faeb3472fd11234ba55a70ac3601f9b", + "lastModified": 1789114715, + "narHash": "sha256-eeH+/1GxEjw8NCObjaHVIy3YvCQ4Qckrx4LZj5xBaU4=", + "rev": "21a67dc470149f337cecafbe965d8d252a390518", "type": "tarball", - "url": "https://releases.nixos.org/nixos/26.05/nixos-26.05.7984.c69ae8fb8fae/nixexprs.tar.xz" + "url": "https://releases.nixos.org/nixos/26.05/nixos-26.05.9592.21a67dc47014/nixexprs.tar.xz" }, "original": { "id": "nixpkgs", @@ -276,11 +276,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1787001381, - "narHash": "sha256-6Qso3az0lZx+zxDQOhEvNUfJMqqq9tcjrLhsCAswAvs=", - "rev": "ec2d622de0773551768cf98f3fc50cbcc003b9c5", + "lastModified": 1789149629, + "narHash": "sha256-eQUZVehWLDBbpBR2rq6DnuRee1ULT6Y675RhsYDSjYI=", + "rev": "eaad089433ca2bb662274377d33df3d0e51ef28b", "type": "tarball", - "url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1057119.ec2d622de077/nixexprs.tar.xz" + "url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1072397.eaad089433ca/nixexprs.tar.xz" }, "original": { "id": "nixpkgs", @@ -290,11 +290,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1786599213, - "narHash": "sha256-yNJd40f11EzXBjSByCB7IPpeFFAdeoSKKM67dGkfFoU=", + "lastModified": 1788179007, + "narHash": "sha256-hn1oU2rue2SYK8dAr8+WNZWtbsz1S2W5mnHlSEuh3bo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0e251e24a4f24e036a084b6b4b2d2491af4167f4", + "rev": "34ab99075ac4f7e40cf037eef32cb1c360bb85e9", "type": "github" }, "original": { @@ -311,11 +311,11 @@ ] }, "locked": { - "lastModified": 1787066558, - "narHash": "sha256-nDiJkzVkxRmPQ/FRb8ZKDungVh88+Qzw5su6LXKC91M=", + "lastModified": 1789222992, + "narHash": "sha256-BFMgvLl3/C+f5xA6eBwRt9nY7n1ahJkq/U0na6Oalvs=", "owner": "noctalia-dev", "repo": "noctalia-shell", - "rev": "356a41a5cacd544730d40b936d2e66ed99e9995a", + "rev": "7dcd32a9ace61b6cd4137af2d061976bf8b9c67d", "type": "github" }, "original": { @@ -332,11 +332,11 @@ ] }, "locked": { - "lastModified": 1784877312, - "narHash": "sha256-eQ4xvBKnQp4C5lEVukx/75umFFmWyCjbuO82qyFDw14=", + "lastModified": 1789168745, + "narHash": "sha256-ZyLIpL6uPnH8uvSLBnRc1vbW5h5cECuoEIWPrGpBjSQ=", "owner": "vicrodh", "repo": "qbz", - "rev": "c4cc755fd02d999084883e864c0697139a8b8648", + "rev": "6394ef176c1223c1f9d467cb051083d99378de2c", "type": "github" }, "original": { @@ -368,11 +368,11 @@ ] }, "locked": { - "lastModified": 1786629091, - "narHash": "sha256-gkig4nPi1CWc4Z50GBsjE4ygSE7hMpl/TwID2an2Cck=", + "lastModified": 1788914643, + "narHash": "sha256-4GuMPW90JSxXWDPUB9M+1m7fYbe3H0apOd86/zBQ2Kw=", "owner": "Mic92", "repo": "sops-nix", - "rev": "a8627b21b9107c5711c96b84f32a9a4b3d45295f", + "rev": "13616fff713a9f94055c66f15687ebdc17a335df", "type": "github" }, "original": { @@ -439,11 +439,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1787021741, - "narHash": "sha256-/h16jgfnGkh48iwMFPK0tY4NBLG2zp4m5HloCXstPAA=", + "lastModified": 1789183649, + "narHash": "sha256-M08rk8a5WepjMphE6W1pIdP3AhzpcBSMUJ0zzaGMOgM=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "fd7d5b08ac2e4da35cf908cbbf762a9276f00ddd", + "rev": "f091fa4f590babf9a9ea3ac12524512cbb132e29", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 2856f13..8a7a907 100644 --- a/flake.nix +++ b/flake.nix @@ -47,7 +47,8 @@ imports = [ ./nix/hosts/darwin ./nix/hosts/nixos - (inputs.import-tree.matchNot ".*/assets/.*" ./nix/modules) + (inputs.import-tree.matchNot ".*/assets/.*" ./nix/config) + (inputs.import-tree.matchNot ".*/assets/.*" ./nix/agent) home-manager.flakeModules.home-manager ]; perSystem = diff --git a/nix/modules/agents/builder.md b/nix/agent/agents/builder.md similarity index 100% rename from nix/modules/agents/builder.md rename to nix/agent/agents/builder.md diff --git a/nix/modules/agents/default.nix b/nix/agent/agents/default.nix similarity index 100% rename from nix/modules/agents/default.nix rename to nix/agent/agents/default.nix diff --git a/nix/modules/agents/explorer.md b/nix/agent/agents/explorer.md similarity index 100% rename from nix/modules/agents/explorer.md rename to nix/agent/agents/explorer.md diff --git a/nix/modules/agents/researcher.md b/nix/agent/agents/researcher.md similarity index 100% rename from nix/modules/agents/researcher.md rename to nix/agent/agents/researcher.md diff --git a/nix/modules/agents/worker.md b/nix/agent/agents/worker.md similarity index 100% rename from nix/modules/agents/worker.md rename to nix/agent/agents/worker.md diff --git a/nix/modules/skills/_lib.nix b/nix/agent/skills/_lib.nix similarity index 100% rename from nix/modules/skills/_lib.nix rename to nix/agent/skills/_lib.nix diff --git a/nix/modules/skills/architect/SKILL.md b/nix/agent/skills/architect/SKILL.md similarity index 100% rename from nix/modules/skills/architect/SKILL.md rename to nix/agent/skills/architect/SKILL.md diff --git a/nix/modules/skills/architect/assets/templates/adr-madr.md b/nix/agent/skills/architect/assets/templates/adr-madr.md similarity index 100% rename from nix/modules/skills/architect/assets/templates/adr-madr.md rename to nix/agent/skills/architect/assets/templates/adr-madr.md diff --git a/nix/modules/skills/architect/assets/templates/adr-nygard.md b/nix/agent/skills/architect/assets/templates/adr-nygard.md similarity index 100% rename from nix/modules/skills/architect/assets/templates/adr-nygard.md rename to nix/agent/skills/architect/assets/templates/adr-nygard.md diff --git a/nix/modules/skills/architect/assets/templates/design-doc-arc42-lite.md b/nix/agent/skills/architect/assets/templates/design-doc-arc42-lite.md similarity index 100% rename from nix/modules/skills/architect/assets/templates/design-doc-arc42-lite.md rename to nix/agent/skills/architect/assets/templates/design-doc-arc42-lite.md diff --git a/nix/modules/skills/architect/default.nix b/nix/agent/skills/architect/default.nix similarity index 100% rename from nix/modules/skills/architect/default.nix rename to nix/agent/skills/architect/default.nix diff --git a/nix/modules/skills/architect/references/go-heuristics.md b/nix/agent/skills/architect/references/go-heuristics.md similarity index 100% rename from nix/modules/skills/architect/references/go-heuristics.md rename to nix/agent/skills/architect/references/go-heuristics.md diff --git a/nix/modules/skills/architect/references/heuristics-library.md b/nix/agent/skills/architect/references/heuristics-library.md similarity index 100% rename from nix/modules/skills/architect/references/heuristics-library.md rename to nix/agent/skills/architect/references/heuristics-library.md diff --git a/nix/modules/skills/architect/references/interrogation-questions.md b/nix/agent/skills/architect/references/interrogation-questions.md similarity index 100% rename from nix/modules/skills/architect/references/interrogation-questions.md rename to nix/agent/skills/architect/references/interrogation-questions.md diff --git a/nix/modules/skills/architect/references/premortem-taxonomy.md b/nix/agent/skills/architect/references/premortem-taxonomy.md similarity index 100% rename from nix/modules/skills/architect/references/premortem-taxonomy.md rename to nix/agent/skills/architect/references/premortem-taxonomy.md diff --git a/nix/modules/skills/architect/references/quality-attribute-tree.md b/nix/agent/skills/architect/references/quality-attribute-tree.md similarity index 100% rename from nix/modules/skills/architect/references/quality-attribute-tree.md rename to nix/agent/skills/architect/references/quality-attribute-tree.md diff --git a/nix/modules/skills/architect/references/temporal-design.md b/nix/agent/skills/architect/references/temporal-design.md similarity index 100% rename from nix/modules/skills/architect/references/temporal-design.md rename to nix/agent/skills/architect/references/temporal-design.md diff --git a/nix/modules/skills/architect/scripts/new_adr.sh b/nix/agent/skills/architect/scripts/new_adr.sh similarity index 100% rename from nix/modules/skills/architect/scripts/new_adr.sh rename to nix/agent/skills/architect/scripts/new_adr.sh diff --git a/nix/modules/skills/architect/scripts/set_adr_status.sh b/nix/agent/skills/architect/scripts/set_adr_status.sh similarity index 100% rename from nix/modules/skills/architect/scripts/set_adr_status.sh rename to nix/agent/skills/architect/scripts/set_adr_status.sh diff --git a/nix/modules/skills/code-review/SKILL.md b/nix/agent/skills/code-review/SKILL.md similarity index 100% rename from nix/modules/skills/code-review/SKILL.md rename to nix/agent/skills/code-review/SKILL.md diff --git a/nix/modules/skills/code-review/default.nix b/nix/agent/skills/code-review/default.nix similarity index 100% rename from nix/modules/skills/code-review/default.nix rename to nix/agent/skills/code-review/default.nix diff --git a/nix/modules/skills/default.nix b/nix/agent/skills/default.nix similarity index 100% rename from nix/modules/skills/default.nix rename to nix/agent/skills/default.nix diff --git a/nix/modules/skills/deslop/.gitignore b/nix/agent/skills/deslop/.gitignore similarity index 100% rename from nix/modules/skills/deslop/.gitignore rename to nix/agent/skills/deslop/.gitignore diff --git a/nix/modules/skills/deslop/LICENSE b/nix/agent/skills/deslop/LICENSE similarity index 100% rename from nix/modules/skills/deslop/LICENSE rename to nix/agent/skills/deslop/LICENSE diff --git a/nix/modules/skills/deslop/README.md b/nix/agent/skills/deslop/README.md similarity index 100% rename from nix/modules/skills/deslop/README.md rename to nix/agent/skills/deslop/README.md diff --git a/nix/modules/skills/deslop/SKILL.md b/nix/agent/skills/deslop/SKILL.md similarity index 100% rename from nix/modules/skills/deslop/SKILL.md rename to nix/agent/skills/deslop/SKILL.md diff --git a/nix/modules/skills/deslop/default.nix b/nix/agent/skills/deslop/default.nix similarity index 100% rename from nix/modules/skills/deslop/default.nix rename to nix/agent/skills/deslop/default.nix diff --git a/nix/modules/skills/deslop/references/examples.md b/nix/agent/skills/deslop/references/examples.md similarity index 100% rename from nix/modules/skills/deslop/references/examples.md rename to nix/agent/skills/deslop/references/examples.md diff --git a/nix/modules/skills/deslop/references/phrases.md b/nix/agent/skills/deslop/references/phrases.md similarity index 100% rename from nix/modules/skills/deslop/references/phrases.md rename to nix/agent/skills/deslop/references/phrases.md diff --git a/nix/modules/skills/deslop/references/structures.md b/nix/agent/skills/deslop/references/structures.md similarity index 100% rename from nix/modules/skills/deslop/references/structures.md rename to nix/agent/skills/deslop/references/structures.md diff --git a/nix/modules/skills/deslop/references/tropes.md b/nix/agent/skills/deslop/references/tropes.md similarity index 100% rename from nix/modules/skills/deslop/references/tropes.md rename to nix/agent/skills/deslop/references/tropes.md diff --git a/nix/modules/skills/fingerguns/SKILL.md b/nix/agent/skills/fingerguns/SKILL.md similarity index 100% rename from nix/modules/skills/fingerguns/SKILL.md rename to nix/agent/skills/fingerguns/SKILL.md diff --git a/nix/modules/skills/fingerguns/default.nix b/nix/agent/skills/fingerguns/default.nix similarity index 100% rename from nix/modules/skills/fingerguns/default.nix rename to nix/agent/skills/fingerguns/default.nix diff --git a/nix/modules/skills/go-idioms/SKILL.md b/nix/agent/skills/go-idioms/SKILL.md similarity index 100% rename from nix/modules/skills/go-idioms/SKILL.md rename to nix/agent/skills/go-idioms/SKILL.md diff --git a/nix/modules/skills/go-idioms/default.nix b/nix/agent/skills/go-idioms/default.nix similarity index 100% rename from nix/modules/skills/go-idioms/default.nix rename to nix/agent/skills/go-idioms/default.nix diff --git a/nix/modules/skills/go-idioms/references/mistakes.md b/nix/agent/skills/go-idioms/references/mistakes.md similarity index 100% rename from nix/modules/skills/go-idioms/references/mistakes.md rename to nix/agent/skills/go-idioms/references/mistakes.md diff --git a/nix/modules/skills/go-idioms/references/patterns.md b/nix/agent/skills/go-idioms/references/patterns.md similarity index 100% rename from nix/modules/skills/go-idioms/references/patterns.md rename to nix/agent/skills/go-idioms/references/patterns.md diff --git a/nix/modules/skills/go-idioms/references/performance.md b/nix/agent/skills/go-idioms/references/performance.md similarity index 100% rename from nix/modules/skills/go-idioms/references/performance.md rename to nix/agent/skills/go-idioms/references/performance.md diff --git a/nix/modules/skills/go-idioms/references/tooling.md b/nix/agent/skills/go-idioms/references/tooling.md similarity index 100% rename from nix/modules/skills/go-idioms/references/tooling.md rename to nix/agent/skills/go-idioms/references/tooling.md diff --git a/nix/modules/skills/grill-me/SKILL.md b/nix/agent/skills/grill-me/SKILL.md similarity index 100% rename from nix/modules/skills/grill-me/SKILL.md rename to nix/agent/skills/grill-me/SKILL.md diff --git a/nix/modules/skills/grill-me/default.nix b/nix/agent/skills/grill-me/default.nix similarity index 100% rename from nix/modules/skills/grill-me/default.nix rename to nix/agent/skills/grill-me/default.nix diff --git a/nix/modules/skills/grill-with-docs/SKILL.md b/nix/agent/skills/grill-with-docs/SKILL.md similarity index 100% rename from nix/modules/skills/grill-with-docs/SKILL.md rename to nix/agent/skills/grill-with-docs/SKILL.md diff --git a/nix/modules/skills/grill-with-docs/default.nix b/nix/agent/skills/grill-with-docs/default.nix similarity index 100% rename from nix/modules/skills/grill-with-docs/default.nix rename to nix/agent/skills/grill-with-docs/default.nix diff --git a/nix/modules/skills/handoff/SKILL.md b/nix/agent/skills/handoff/SKILL.md similarity index 100% rename from nix/modules/skills/handoff/SKILL.md rename to nix/agent/skills/handoff/SKILL.md diff --git a/nix/modules/skills/handoff/default.nix b/nix/agent/skills/handoff/default.nix similarity index 100% rename from nix/modules/skills/handoff/default.nix rename to nix/agent/skills/handoff/default.nix diff --git a/nix/modules/skills/i-have-adhd/SKILL.md b/nix/agent/skills/i-have-adhd/SKILL.md similarity index 100% rename from nix/modules/skills/i-have-adhd/SKILL.md rename to nix/agent/skills/i-have-adhd/SKILL.md diff --git a/nix/modules/skills/i-have-adhd/default.nix b/nix/agent/skills/i-have-adhd/default.nix similarity index 100% rename from nix/modules/skills/i-have-adhd/default.nix rename to nix/agent/skills/i-have-adhd/default.nix diff --git a/nix/modules/skills/improve-codebase-architecture/SKILL.md b/nix/agent/skills/improve-codebase-architecture/SKILL.md similarity index 100% rename from nix/modules/skills/improve-codebase-architecture/SKILL.md rename to nix/agent/skills/improve-codebase-architecture/SKILL.md diff --git a/nix/modules/skills/improve-codebase-architecture/default.nix b/nix/agent/skills/improve-codebase-architecture/default.nix similarity index 100% rename from nix/modules/skills/improve-codebase-architecture/default.nix rename to nix/agent/skills/improve-codebase-architecture/default.nix diff --git a/nix/modules/skills/jj-workflow/SKILL.md b/nix/agent/skills/jj-workflow/SKILL.md similarity index 100% rename from nix/modules/skills/jj-workflow/SKILL.md rename to nix/agent/skills/jj-workflow/SKILL.md diff --git a/nix/modules/skills/jj-workflow/default.nix b/nix/agent/skills/jj-workflow/default.nix similarity index 100% rename from nix/modules/skills/jj-workflow/default.nix rename to nix/agent/skills/jj-workflow/default.nix diff --git a/nix/modules/skills/learning-opportunities/SKILL.md b/nix/agent/skills/learning-opportunities/SKILL.md similarity index 100% rename from nix/modules/skills/learning-opportunities/SKILL.md rename to nix/agent/skills/learning-opportunities/SKILL.md diff --git a/nix/modules/skills/learning-opportunities/default.nix b/nix/agent/skills/learning-opportunities/default.nix similarity index 100% rename from nix/modules/skills/learning-opportunities/default.nix rename to nix/agent/skills/learning-opportunities/default.nix diff --git a/nix/modules/skills/learning-opportunities/resources/PRINCIPLES.md b/nix/agent/skills/learning-opportunities/resources/PRINCIPLES.md similarity index 100% rename from nix/modules/skills/learning-opportunities/resources/PRINCIPLES.md rename to nix/agent/skills/learning-opportunities/resources/PRINCIPLES.md diff --git a/nix/modules/skills/shared/ADR-FORMAT.md b/nix/agent/skills/shared/ADR-FORMAT.md similarity index 100% rename from nix/modules/skills/shared/ADR-FORMAT.md rename to nix/agent/skills/shared/ADR-FORMAT.md diff --git a/nix/modules/skills/shared/ARCHITECTURE-LANGUAGE.md b/nix/agent/skills/shared/ARCHITECTURE-LANGUAGE.md similarity index 100% rename from nix/modules/skills/shared/ARCHITECTURE-LANGUAGE.md rename to nix/agent/skills/shared/ARCHITECTURE-LANGUAGE.md diff --git a/nix/modules/skills/shared/CONTEXT-FORMAT.md b/nix/agent/skills/shared/CONTEXT-FORMAT.md similarity index 100% rename from nix/modules/skills/shared/CONTEXT-FORMAT.md rename to nix/agent/skills/shared/CONTEXT-FORMAT.md diff --git a/nix/modules/skills/shared/DEEP-MODULES.md b/nix/agent/skills/shared/DEEP-MODULES.md similarity index 100% rename from nix/modules/skills/shared/DEEP-MODULES.md rename to nix/agent/skills/shared/DEEP-MODULES.md diff --git a/nix/modules/skills/shared/HTML-REPORT.md b/nix/agent/skills/shared/HTML-REPORT.md similarity index 100% rename from nix/modules/skills/shared/HTML-REPORT.md rename to nix/agent/skills/shared/HTML-REPORT.md diff --git a/nix/modules/skills/shared/INTERFACE-DESIGN.md b/nix/agent/skills/shared/INTERFACE-DESIGN.md similarity index 100% rename from nix/modules/skills/shared/INTERFACE-DESIGN.md rename to nix/agent/skills/shared/INTERFACE-DESIGN.md diff --git a/nix/modules/skills/shared/MOCKING.md b/nix/agent/skills/shared/MOCKING.md similarity index 100% rename from nix/modules/skills/shared/MOCKING.md rename to nix/agent/skills/shared/MOCKING.md diff --git a/nix/modules/skills/shared/REFACTORING.md b/nix/agent/skills/shared/REFACTORING.md similarity index 100% rename from nix/modules/skills/shared/REFACTORING.md rename to nix/agent/skills/shared/REFACTORING.md diff --git a/nix/modules/skills/shared/TESTING.md b/nix/agent/skills/shared/TESTING.md similarity index 100% rename from nix/modules/skills/shared/TESTING.md rename to nix/agent/skills/shared/TESTING.md diff --git a/nix/modules/skills/shared/default.nix b/nix/agent/skills/shared/default.nix similarity index 100% rename from nix/modules/skills/shared/default.nix rename to nix/agent/skills/shared/default.nix diff --git a/nix/modules/skills/tdd/SKILL.md b/nix/agent/skills/tdd/SKILL.md similarity index 100% rename from nix/modules/skills/tdd/SKILL.md rename to nix/agent/skills/tdd/SKILL.md diff --git a/nix/modules/skills/tdd/default.nix b/nix/agent/skills/tdd/default.nix similarity index 100% rename from nix/modules/skills/tdd/default.nix rename to nix/agent/skills/tdd/default.nix diff --git a/nix/modules/skills/thermo-nuclear-code-quality-review/SKILL.md b/nix/agent/skills/thermo-nuclear-code-quality-review/SKILL.md similarity index 100% rename from nix/modules/skills/thermo-nuclear-code-quality-review/SKILL.md rename to nix/agent/skills/thermo-nuclear-code-quality-review/SKILL.md diff --git a/nix/modules/skills/thermo-nuclear-code-quality-review/default.nix b/nix/agent/skills/thermo-nuclear-code-quality-review/default.nix similarity index 100% rename from nix/modules/skills/thermo-nuclear-code-quality-review/default.nix rename to nix/agent/skills/thermo-nuclear-code-quality-review/default.nix diff --git a/nix/modules/skills/to-issues/SKILL.md b/nix/agent/skills/to-issues/SKILL.md similarity index 100% rename from nix/modules/skills/to-issues/SKILL.md rename to nix/agent/skills/to-issues/SKILL.md diff --git a/nix/modules/skills/to-issues/default.nix b/nix/agent/skills/to-issues/default.nix similarity index 100% rename from nix/modules/skills/to-issues/default.nix rename to nix/agent/skills/to-issues/default.nix diff --git a/nix/modules/skills/to-prd/SKILL.md b/nix/agent/skills/to-prd/SKILL.md similarity index 100% rename from nix/modules/skills/to-prd/SKILL.md rename to nix/agent/skills/to-prd/SKILL.md diff --git a/nix/modules/skills/to-prd/default.nix b/nix/agent/skills/to-prd/default.nix similarity index 100% rename from nix/modules/skills/to-prd/default.nix rename to nix/agent/skills/to-prd/default.nix diff --git a/nix/modules/desktop/aerospace.toml b/nix/config/desktop/aerospace.toml similarity index 100% rename from nix/modules/desktop/aerospace.toml rename to nix/config/desktop/aerospace.toml diff --git a/nix/modules/desktop/claude/CLAUDE.md b/nix/config/desktop/claude/CLAUDE.md similarity index 100% rename from nix/modules/desktop/claude/CLAUDE.md rename to nix/config/desktop/claude/CLAUDE.md diff --git a/nix/modules/desktop/claude/settings.json b/nix/config/desktop/claude/settings.json similarity index 100% rename from nix/modules/desktop/claude/settings.json rename to nix/config/desktop/claude/settings.json diff --git a/nix/modules/desktop/default.nix b/nix/config/desktop/default.nix similarity index 100% rename from nix/modules/desktop/default.nix rename to nix/config/desktop/default.nix diff --git a/nix/modules/desktop/hammerspoon/.luarc.json b/nix/config/desktop/hammerspoon/.luarc.json similarity index 100% rename from nix/modules/desktop/hammerspoon/.luarc.json rename to nix/config/desktop/hammerspoon/.luarc.json diff --git a/nix/modules/desktop/hammerspoon/Spoons/EmmyLua.spoon/docs.json b/nix/config/desktop/hammerspoon/Spoons/EmmyLua.spoon/docs.json similarity index 100% rename from nix/modules/desktop/hammerspoon/Spoons/EmmyLua.spoon/docs.json rename to nix/config/desktop/hammerspoon/Spoons/EmmyLua.spoon/docs.json diff --git a/nix/modules/desktop/hammerspoon/Spoons/EmmyLua.spoon/init.lua b/nix/config/desktop/hammerspoon/Spoons/EmmyLua.spoon/init.lua similarity index 100% rename from nix/modules/desktop/hammerspoon/Spoons/EmmyLua.spoon/init.lua rename to nix/config/desktop/hammerspoon/Spoons/EmmyLua.spoon/init.lua diff --git a/nix/modules/desktop/hammerspoon/Spoons/MouseFollowsFocus.spoon/docs.json b/nix/config/desktop/hammerspoon/Spoons/MouseFollowsFocus.spoon/docs.json similarity index 100% rename from nix/modules/desktop/hammerspoon/Spoons/MouseFollowsFocus.spoon/docs.json rename to nix/config/desktop/hammerspoon/Spoons/MouseFollowsFocus.spoon/docs.json diff --git a/nix/modules/desktop/hammerspoon/Spoons/MouseFollowsFocus.spoon/init.lua b/nix/config/desktop/hammerspoon/Spoons/MouseFollowsFocus.spoon/init.lua similarity index 100% rename from nix/modules/desktop/hammerspoon/Spoons/MouseFollowsFocus.spoon/init.lua rename to nix/config/desktop/hammerspoon/Spoons/MouseFollowsFocus.spoon/init.lua diff --git a/nix/modules/desktop/hammerspoon/init.lua b/nix/config/desktop/hammerspoon/init.lua similarity index 100% rename from nix/modules/desktop/hammerspoon/init.lua rename to nix/config/desktop/hammerspoon/init.lua diff --git a/nix/modules/desktop/niri/config.kdl b/nix/config/desktop/niri/config.kdl similarity index 100% rename from nix/modules/desktop/niri/config.kdl rename to nix/config/desktop/niri/config.kdl diff --git a/nix/modules/desktop/noctalia/colors.json b/nix/config/desktop/noctalia/colors.json similarity index 100% rename from nix/modules/desktop/noctalia/colors.json rename to nix/config/desktop/noctalia/colors.json diff --git a/nix/modules/desktop/noctalia/settings.json b/nix/config/desktop/noctalia/settings.json similarity index 100% rename from nix/modules/desktop/noctalia/settings.json rename to nix/config/desktop/noctalia/settings.json diff --git a/nix/modules/desktop/sway/config b/nix/config/desktop/sway/config similarity index 100% rename from nix/modules/desktop/sway/config rename to nix/config/desktop/sway/config diff --git a/nix/modules/desktop/waybar/config.jsonc b/nix/config/desktop/waybar/config.jsonc similarity index 100% rename from nix/modules/desktop/waybar/config.jsonc rename to nix/config/desktop/waybar/config.jsonc diff --git a/nix/modules/desktop/waybar/style.css b/nix/config/desktop/waybar/style.css similarity index 100% rename from nix/modules/desktop/waybar/style.css rename to nix/config/desktop/waybar/style.css diff --git a/nix/modules/editors/default.nix b/nix/config/editors/default.nix similarity index 100% rename from nix/modules/editors/default.nix rename to nix/config/editors/default.nix diff --git a/nix/modules/editors/harper-ls/dictionary.txt b/nix/config/editors/harper-ls/dictionary.txt similarity index 100% rename from nix/modules/editors/harper-ls/dictionary.txt rename to nix/config/editors/harper-ls/dictionary.txt diff --git a/nix/modules/editors/helix/config.toml b/nix/config/editors/helix/config.toml similarity index 100% rename from nix/modules/editors/helix/config.toml rename to nix/config/editors/helix/config.toml diff --git a/nix/modules/editors/helix/languages.toml b/nix/config/editors/helix/languages.toml similarity index 100% rename from nix/modules/editors/helix/languages.toml rename to nix/config/editors/helix/languages.toml diff --git a/nix/modules/editors/stylua.toml b/nix/config/editors/stylua.toml similarity index 100% rename from nix/modules/editors/stylua.toml rename to nix/config/editors/stylua.toml diff --git a/nix/modules/editors/vimrc b/nix/config/editors/vimrc similarity index 100% rename from nix/modules/editors/vimrc rename to nix/config/editors/vimrc diff --git a/nix/modules/editors/zathura/zathurarc b/nix/config/editors/zathura/zathurarc similarity index 100% rename from nix/modules/editors/zathura/zathurarc rename to nix/config/editors/zathura/zathurarc diff --git a/nix/modules/fonts/assets/MaterialIcons/MaterialIcons-Regular.ttf b/nix/config/fonts/assets/MaterialIcons/MaterialIcons-Regular.ttf similarity index 100% rename from nix/modules/fonts/assets/MaterialIcons/MaterialIcons-Regular.ttf rename to nix/config/fonts/assets/MaterialIcons/MaterialIcons-Regular.ttf diff --git a/nix/modules/fonts/assets/MaterialIcons/MaterialIconsOutlined-Regular.otf b/nix/config/fonts/assets/MaterialIcons/MaterialIconsOutlined-Regular.otf similarity index 100% rename from nix/modules/fonts/assets/MaterialIcons/MaterialIconsOutlined-Regular.otf rename to nix/config/fonts/assets/MaterialIcons/MaterialIconsOutlined-Regular.otf diff --git a/nix/modules/fonts/assets/MaterialIcons/MaterialIconsRound-Regular.otf b/nix/config/fonts/assets/MaterialIcons/MaterialIconsRound-Regular.otf similarity index 100% rename from nix/modules/fonts/assets/MaterialIcons/MaterialIconsRound-Regular.otf rename to nix/config/fonts/assets/MaterialIcons/MaterialIconsRound-Regular.otf diff --git a/nix/modules/fonts/assets/MaterialIcons/MaterialIconsSharp-Regular.otf b/nix/config/fonts/assets/MaterialIcons/MaterialIconsSharp-Regular.otf similarity index 100% rename from nix/modules/fonts/assets/MaterialIcons/MaterialIconsSharp-Regular.otf rename to nix/config/fonts/assets/MaterialIcons/MaterialIconsSharp-Regular.otf diff --git a/nix/modules/fonts/assets/MaterialIcons/MaterialIconsTwoTone-Regular.otf b/nix/config/fonts/assets/MaterialIcons/MaterialIconsTwoTone-Regular.otf similarity index 100% rename from nix/modules/fonts/assets/MaterialIcons/MaterialIconsTwoTone-Regular.otf rename to nix/config/fonts/assets/MaterialIcons/MaterialIconsTwoTone-Regular.otf diff --git a/nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaNerdFont-Regular.ttf b/nix/config/fonts/assets/patricks-iosevka-patched/IosevkaNerdFont-Regular.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaNerdFont-Regular.ttf rename to nix/config/fonts/assets/patricks-iosevka-patched/IosevkaNerdFont-Regular.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-Italic.ttf b/nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-Italic.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-Italic.ttf rename to nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-Italic.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-Light.ttf b/nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-Light.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-Light.ttf rename to nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-Light.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-LightItalic.ttf b/nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-LightItalic.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-LightItalic.ttf rename to nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-LightItalic.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-LightOblique.ttf b/nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-LightOblique.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-LightOblique.ttf rename to nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-LightOblique.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-Medium.ttf b/nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-Medium.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-Medium.ttf rename to nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-Medium.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-MediumItalic.ttf b/nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-MediumItalic.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-MediumItalic.ttf rename to nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-MediumItalic.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-MediumOblique.ttf b/nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-MediumOblique.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-MediumOblique.ttf rename to nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-MediumOblique.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-Oblique.ttf b/nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-Oblique.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-Oblique.ttf rename to nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-Oblique.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-Regular.ttf b/nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-Regular.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-Regular.ttf rename to nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-Regular.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-SemiBold.ttf b/nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-SemiBold.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-SemiBold.ttf rename to nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-SemiBold.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-SemiBoldItalic.ttf b/nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-SemiBoldItalic.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-SemiBoldItalic.ttf rename to nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-SemiBoldItalic.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-SemiBoldOblique.ttf b/nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-SemiBoldOblique.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-SemiBoldOblique.ttf rename to nix/config/fonts/assets/patricks-iosevka-patched/IosevkaPatrickNerdFont-SemiBoldOblique.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-italic.ttf b/nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-italic.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-italic.ttf rename to nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-italic.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-light.ttf b/nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-light.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-light.ttf rename to nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-light.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-lightitalic.ttf b/nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-lightitalic.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-lightitalic.ttf rename to nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-lightitalic.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-lightoblique.ttf b/nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-lightoblique.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-lightoblique.ttf rename to nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-lightoblique.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-medium.ttf b/nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-medium.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-medium.ttf rename to nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-medium.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-mediumitalic.ttf b/nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-mediumitalic.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-mediumitalic.ttf rename to nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-mediumitalic.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-mediumoblique.ttf b/nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-mediumoblique.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-mediumoblique.ttf rename to nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-mediumoblique.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-oblique.ttf b/nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-oblique.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-oblique.ttf rename to nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-oblique.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-regular.ttf b/nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-regular.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-regular.ttf rename to nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-regular.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-semibold.ttf b/nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-semibold.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-semibold.ttf rename to nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-semibold.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-semibolditalic.ttf b/nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-semibolditalic.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-semibolditalic.ttf rename to nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-semibolditalic.ttf diff --git a/nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-semiboldoblique.ttf b/nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-semiboldoblique.ttf similarity index 100% rename from nix/modules/fonts/assets/patricks-iosevka/patricks-iosevka-semiboldoblique.ttf rename to nix/config/fonts/assets/patricks-iosevka/patricks-iosevka-semiboldoblique.ttf diff --git a/nix/modules/fonts/default.nix b/nix/config/fonts/default.nix similarity index 100% rename from nix/modules/fonts/default.nix rename to nix/config/fonts/default.nix diff --git a/nix/modules/shell/bashrc b/nix/config/shell/bashrc similarity index 100% rename from nix/modules/shell/bashrc rename to nix/config/shell/bashrc diff --git a/nix/modules/shell/default.nix b/nix/config/shell/default.nix similarity index 100% rename from nix/modules/shell/default.nix rename to nix/config/shell/default.nix diff --git a/nix/modules/shell/ignore b/nix/config/shell/ignore similarity index 100% rename from nix/modules/shell/ignore rename to nix/config/shell/ignore diff --git a/nix/modules/shell/matcha.toml b/nix/config/shell/matcha.toml similarity index 100% rename from nix/modules/shell/matcha.toml rename to nix/config/shell/matcha.toml diff --git a/nix/modules/shell/scripts/aliases.sh b/nix/config/shell/scripts/aliases.sh similarity index 100% rename from nix/modules/shell/scripts/aliases.sh rename to nix/config/shell/scripts/aliases.sh diff --git a/nix/modules/shell/scripts/base16-darkearth.sh b/nix/config/shell/scripts/base16-darkearth.sh similarity index 100% rename from nix/modules/shell/scripts/base16-darkearth.sh rename to nix/config/shell/scripts/base16-darkearth.sh diff --git a/nix/modules/shell/scripts/bin/git-clone-bare b/nix/config/shell/scripts/bin/git-clone-bare similarity index 100% rename from nix/modules/shell/scripts/bin/git-clone-bare rename to nix/config/shell/scripts/bin/git-clone-bare diff --git a/nix/modules/shell/scripts/bin/nix-view-build b/nix/config/shell/scripts/bin/nix-view-build similarity index 100% rename from nix/modules/shell/scripts/bin/nix-view-build rename to nix/config/shell/scripts/bin/nix-view-build diff --git a/nix/modules/shell/scripts/bin/nixos-switch b/nix/config/shell/scripts/bin/nixos-switch similarity index 100% rename from nix/modules/shell/scripts/bin/nixos-switch rename to nix/config/shell/scripts/bin/nixos-switch diff --git a/nix/modules/shell/scripts/bin/nvim-difftool b/nix/config/shell/scripts/bin/nvim-difftool similarity index 100% rename from nix/modules/shell/scripts/bin/nvim-difftool rename to nix/config/shell/scripts/bin/nvim-difftool diff --git a/nix/modules/shell/scripts/rc.sh b/nix/config/shell/scripts/rc.sh similarity index 100% rename from nix/modules/shell/scripts/rc.sh rename to nix/config/shell/scripts/rc.sh diff --git a/nix/modules/shell/scripts/s3-copy.sh b/nix/config/shell/scripts/s3-copy.sh similarity index 100% rename from nix/modules/shell/scripts/s3-copy.sh rename to nix/config/shell/scripts/s3-copy.sh diff --git a/nix/modules/shell/zshrc b/nix/config/shell/zshrc similarity index 100% rename from nix/modules/shell/zshrc rename to nix/config/shell/zshrc diff --git a/nix/modules/terminal/default.nix b/nix/config/terminal/default.nix similarity index 100% rename from nix/modules/terminal/default.nix rename to nix/config/terminal/default.nix diff --git a/nix/modules/terminal/ohmyposh/omp.toml b/nix/config/terminal/ohmyposh/omp.toml similarity index 100% rename from nix/modules/terminal/ohmyposh/omp.toml rename to nix/config/terminal/ohmyposh/omp.toml diff --git a/nix/modules/terminal/scripts/tmux-pick-session b/nix/config/terminal/scripts/tmux-pick-session similarity index 100% rename from nix/modules/terminal/scripts/tmux-pick-session rename to nix/config/terminal/scripts/tmux-pick-session diff --git a/nix/modules/terminal/scripts/tmux-sessionizer.sh b/nix/config/terminal/scripts/tmux-sessionizer.sh similarity index 100% rename from nix/modules/terminal/scripts/tmux-sessionizer.sh rename to nix/config/terminal/scripts/tmux-sessionizer.sh diff --git a/nix/modules/terminal/scripts/tmux-spotify-queuer.sh b/nix/config/terminal/scripts/tmux-spotify-queuer.sh similarity index 100% rename from nix/modules/terminal/scripts/tmux-spotify-queuer.sh rename to nix/config/terminal/scripts/tmux-spotify-queuer.sh diff --git a/nix/modules/terminal/scripts/tmux-todoizer.sh b/nix/config/terminal/scripts/tmux-todoizer.sh similarity index 100% rename from nix/modules/terminal/scripts/tmux-todoizer.sh rename to nix/config/terminal/scripts/tmux-todoizer.sh diff --git a/nix/modules/terminal/tmux.conf b/nix/config/terminal/tmux.conf similarity index 100% rename from nix/modules/terminal/tmux.conf rename to nix/config/terminal/tmux.conf diff --git a/nix/modules/terminal/wezterm/colors/darkearth.toml b/nix/config/terminal/wezterm/colors/darkearth.toml similarity index 100% rename from nix/modules/terminal/wezterm/colors/darkearth.toml rename to nix/config/terminal/wezterm/colors/darkearth.toml diff --git a/nix/modules/terminal/wezterm/colors/lightearth.toml b/nix/config/terminal/wezterm/colors/lightearth.toml similarity index 100% rename from nix/modules/terminal/wezterm/colors/lightearth.toml rename to nix/config/terminal/wezterm/colors/lightearth.toml diff --git a/nix/modules/terminal/wezterm/colors/oxocarbon-dark.toml b/nix/config/terminal/wezterm/colors/oxocarbon-dark.toml similarity index 100% rename from nix/modules/terminal/wezterm/colors/oxocarbon-dark.toml rename to nix/config/terminal/wezterm/colors/oxocarbon-dark.toml diff --git a/nix/modules/terminal/wezterm/wezterm.lua b/nix/config/terminal/wezterm/wezterm.lua similarity index 100% rename from nix/modules/terminal/wezterm/wezterm.lua rename to nix/config/terminal/wezterm/wezterm.lua diff --git a/nix/modules/terminal/wezterm/windows.lua b/nix/config/terminal/wezterm/windows.lua similarity index 100% rename from nix/modules/terminal/wezterm/windows.lua rename to nix/config/terminal/wezterm/windows.lua diff --git a/nix/modules/tools/assets/nixpkgs/config.nix b/nix/config/tools/assets/nixpkgs/config.nix similarity index 100% rename from nix/modules/tools/assets/nixpkgs/config.nix rename to nix/config/tools/assets/nixpkgs/config.nix diff --git a/nix/modules/tools/blueprinter/assets/templates/.editorconfig b/nix/config/tools/blueprinter/assets/templates/.editorconfig similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/.editorconfig rename to nix/config/tools/blueprinter/assets/templates/.editorconfig diff --git a/nix/modules/tools/blueprinter/assets/templates/agents/.blueprint.toml b/nix/config/tools/blueprinter/assets/templates/agents/.blueprint.toml similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/agents/.blueprint.toml rename to nix/config/tools/blueprinter/assets/templates/agents/.blueprint.toml diff --git a/nix/modules/tools/blueprinter/assets/templates/agents/CLAUDE.md b/nix/config/tools/blueprinter/assets/templates/agents/CLAUDE.md similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/agents/CLAUDE.md rename to nix/config/tools/blueprinter/assets/templates/agents/CLAUDE.md diff --git a/nix/modules/tools/blueprinter/assets/templates/agents/go-agent.md b/nix/config/tools/blueprinter/assets/templates/agents/go-agent.md similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/agents/go-agent.md rename to nix/config/tools/blueprinter/assets/templates/agents/go-agent.md diff --git a/nix/modules/tools/blueprinter/assets/templates/gitignore-blueprints/.blueprint.toml b/nix/config/tools/blueprinter/assets/templates/gitignore-blueprints/.blueprint.toml similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/gitignore-blueprints/.blueprint.toml rename to nix/config/tools/blueprinter/assets/templates/gitignore-blueprints/.blueprint.toml diff --git a/nix/modules/tools/blueprinter/assets/templates/gitignore-blueprints/go.gitignore b/nix/config/tools/blueprinter/assets/templates/gitignore-blueprints/go.gitignore similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/gitignore-blueprints/go.gitignore rename to nix/config/tools/blueprinter/assets/templates/gitignore-blueprints/go.gitignore diff --git a/nix/modules/tools/blueprinter/assets/templates/gitignore-blueprints/lua.gitignore b/nix/config/tools/blueprinter/assets/templates/gitignore-blueprints/lua.gitignore similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/gitignore-blueprints/lua.gitignore rename to nix/config/tools/blueprinter/assets/templates/gitignore-blueprints/lua.gitignore diff --git a/nix/modules/tools/blueprinter/assets/templates/gitignore-blueprints/python.gitignore b/nix/config/tools/blueprinter/assets/templates/gitignore-blueprints/python.gitignore similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/gitignore-blueprints/python.gitignore rename to nix/config/tools/blueprinter/assets/templates/gitignore-blueprints/python.gitignore diff --git a/nix/modules/tools/blueprinter/assets/templates/license-blueprints/.blueprint.toml b/nix/config/tools/blueprinter/assets/templates/license-blueprints/.blueprint.toml similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/license-blueprints/.blueprint.toml rename to nix/config/tools/blueprinter/assets/templates/license-blueprints/.blueprint.toml diff --git a/nix/modules/tools/blueprinter/assets/templates/license-blueprints/Apache-License-v2 b/nix/config/tools/blueprinter/assets/templates/license-blueprints/Apache-License-v2 similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/license-blueprints/Apache-License-v2 rename to nix/config/tools/blueprinter/assets/templates/license-blueprints/Apache-License-v2 diff --git a/nix/modules/tools/blueprinter/assets/templates/license-blueprints/GNU-AGPLv3 b/nix/config/tools/blueprinter/assets/templates/license-blueprints/GNU-AGPLv3 similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/license-blueprints/GNU-AGPLv3 rename to nix/config/tools/blueprinter/assets/templates/license-blueprints/GNU-AGPLv3 diff --git a/nix/modules/tools/blueprinter/assets/templates/license-blueprints/GNU-GPLv3 b/nix/config/tools/blueprinter/assets/templates/license-blueprints/GNU-GPLv3 similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/license-blueprints/GNU-GPLv3 rename to nix/config/tools/blueprinter/assets/templates/license-blueprints/GNU-GPLv3 diff --git a/nix/modules/tools/blueprinter/assets/templates/license-blueprints/MIT b/nix/config/tools/blueprinter/assets/templates/license-blueprints/MIT similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/license-blueprints/MIT rename to nix/config/tools/blueprinter/assets/templates/license-blueprints/MIT diff --git a/nix/modules/tools/blueprinter/assets/templates/nix-blueprints/.blueprint.toml b/nix/config/tools/blueprinter/assets/templates/nix-blueprints/.blueprint.toml similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/nix-blueprints/.blueprint.toml rename to nix/config/tools/blueprinter/assets/templates/nix-blueprints/.blueprint.toml diff --git a/nix/modules/tools/blueprinter/assets/templates/nix-blueprints/flake.lock b/nix/config/tools/blueprinter/assets/templates/nix-blueprints/flake.lock similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/nix-blueprints/flake.lock rename to nix/config/tools/blueprinter/assets/templates/nix-blueprints/flake.lock diff --git a/nix/modules/tools/blueprinter/assets/templates/nix-blueprints/flake.nix b/nix/config/tools/blueprinter/assets/templates/nix-blueprints/flake.nix similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/nix-blueprints/flake.nix rename to nix/config/tools/blueprinter/assets/templates/nix-blueprints/flake.nix diff --git a/nix/modules/tools/blueprinter/assets/templates/nix-blueprints/python-shell.nix b/nix/config/tools/blueprinter/assets/templates/nix-blueprints/python-shell.nix similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/nix-blueprints/python-shell.nix rename to nix/config/tools/blueprinter/assets/templates/nix-blueprints/python-shell.nix diff --git a/nix/modules/tools/blueprinter/assets/templates/nix-blueprints/r-shell.nix b/nix/config/tools/blueprinter/assets/templates/nix-blueprints/r-shell.nix similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/nix-blueprints/r-shell.nix rename to nix/config/tools/blueprinter/assets/templates/nix-blueprints/r-shell.nix diff --git a/nix/modules/tools/blueprinter/assets/templates/nix-blueprints/rust-shell.nix b/nix/config/tools/blueprinter/assets/templates/nix-blueprints/rust-shell.nix similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/nix-blueprints/rust-shell.nix rename to nix/config/tools/blueprinter/assets/templates/nix-blueprints/rust-shell.nix diff --git a/nix/modules/tools/blueprinter/assets/templates/note-blueprints/daily.md b/nix/config/tools/blueprinter/assets/templates/note-blueprints/daily.md similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/note-blueprints/daily.md rename to nix/config/tools/blueprinter/assets/templates/note-blueprints/daily.md diff --git a/nix/modules/tools/blueprinter/assets/templates/note-blueprints/note.md b/nix/config/tools/blueprinter/assets/templates/note-blueprints/note.md similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/note-blueprints/note.md rename to nix/config/tools/blueprinter/assets/templates/note-blueprints/note.md diff --git a/nix/modules/tools/blueprinter/assets/templates/note-blueprints/note.typ b/nix/config/tools/blueprinter/assets/templates/note-blueprints/note.typ similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/note-blueprints/note.typ rename to nix/config/tools/blueprinter/assets/templates/note-blueprints/note.typ diff --git a/nix/modules/tools/blueprinter/assets/templates/typst-blueprints/.blueprint.toml b/nix/config/tools/blueprinter/assets/templates/typst-blueprints/.blueprint.toml similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/typst-blueprints/.blueprint.toml rename to nix/config/tools/blueprinter/assets/templates/typst-blueprints/.blueprint.toml diff --git a/nix/modules/tools/blueprinter/assets/templates/typst-blueprints/conference.typ b/nix/config/tools/blueprinter/assets/templates/typst-blueprints/conference.typ similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/typst-blueprints/conference.typ rename to nix/config/tools/blueprinter/assets/templates/typst-blueprints/conference.typ diff --git a/nix/modules/tools/blueprinter/assets/templates/typst-blueprints/deck.typ b/nix/config/tools/blueprinter/assets/templates/typst-blueprints/deck.typ similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/typst-blueprints/deck.typ rename to nix/config/tools/blueprinter/assets/templates/typst-blueprints/deck.typ diff --git a/nix/modules/tools/blueprinter/assets/templates/typst-blueprints/document.typ b/nix/config/tools/blueprinter/assets/templates/typst-blueprints/document.typ similarity index 100% rename from nix/modules/tools/blueprinter/assets/templates/typst-blueprints/document.typ rename to nix/config/tools/blueprinter/assets/templates/typst-blueprints/document.typ diff --git a/nix/modules/tools/blueprinter/blueprinter.toml b/nix/config/tools/blueprinter/blueprinter.toml similarity index 100% rename from nix/modules/tools/blueprinter/blueprinter.toml rename to nix/config/tools/blueprinter/blueprinter.toml diff --git a/nix/modules/tools/default.nix b/nix/config/tools/default.nix similarity index 100% rename from nix/modules/tools/default.nix rename to nix/config/tools/default.nix diff --git a/nix/modules/tools/herdr/config.toml b/nix/config/tools/herdr/config.toml similarity index 100% rename from nix/modules/tools/herdr/config.toml rename to nix/config/tools/herdr/config.toml diff --git a/nix/modules/tools/jj/config.toml b/nix/config/tools/jj/config.toml similarity index 100% rename from nix/modules/tools/jj/config.toml rename to nix/config/tools/jj/config.toml diff --git a/nix/modules/tools/nix/nix.conf b/nix/config/tools/nix/nix.conf similarity index 100% rename from nix/modules/tools/nix/nix.conf rename to nix/config/tools/nix/nix.conf diff --git a/nix/hosts/README.md b/nix/hosts/README.md index b1dd035..fd3258b 100644 --- a/nix/hosts/README.md +++ b/nix/hosts/README.md @@ -4,8 +4,12 @@ This repository owns reusable Home Manager modules and the explicit composition roots for each machine. NixOS hosts live under `nix/hosts/nixos//`. Standalone Home Manager -hosts live under `nix/hosts/darwin//`. Their shared system modules live -under `nix/system/`, outside the recursively discovered flake-parts module tree. +hosts live under `nix/hosts/darwin//`. System modules live under +`nix/modules/` and long-running services under `nix/services/`; both are +plain NixOS modules imported explicitly by hosts, outside the recursively +discovered flake-parts module tree. Home Manager concerns live under +`nix/config/` and agent assets under `nix/agent/`; both self-register into +the `patrick` home profile through recursive discovery. The NixOS configurations were imported as a snapshot from [`ptdewey/nixos`](https://github.com/ptdewey/nixos) at commit diff --git a/nix/hosts/nixos/default.nix b/nix/hosts/nixos/default.nix index 190417f..0bc1b33 100644 --- a/nix/hosts/nixos/default.nix +++ b/nix/hosts/nixos/default.nix @@ -3,8 +3,8 @@ flake.nixosConfigurations = let commonModules = [ - ../../system/common.nix - ../../system/services/local-observability.nix + ../../modules/common.nix + ../../services/local-observability.nix { # Keep the flake's nixpkgs available through the registry and NIX_PATH. nix.registry.nixpkgs.flake = inputs.nixpkgs; @@ -19,12 +19,12 @@ modules = commonModules ++ [ ./europa/configuration.nix ./europa/home.nix - ../../system/desktops/gnome.nix - ../../system/desktops/niri.nix - ../../system/games/minecraft.nix - ../../system/games/steam.nix - # ../../system/games/lutris.nix - ../../system/apps/discord.nix + ../../modules/gnome.nix + ../../modules/niri.nix + ../../modules/minecraft.nix + ../../modules/steam.nix + # ../../modules/lutris.nix + ../../modules/discord.nix { nixpkgs.hostPlatform = "x86_64-linux"; } ]; @@ -34,11 +34,11 @@ specialArgs = { inherit inputs; }; modules = commonModules ++ [ ./callisto/configuration.nix - # ../../system/desktops/gdm.nix - ../../system/desktops/tuigreet.nix - ../../system/desktops/niri.nix - ../../system/apps/discord.nix - ../../system/desktops/river.nix + # ../../modules/gdm.nix + ../../modules/tuigreet.nix + ../../modules/niri.nix + ../../modules/discord.nix + ../../modules/river.nix { nixpkgs.overlays = [ ]; diff --git a/nix/system/common.nix b/nix/modules/common.nix similarity index 97% rename from nix/system/common.nix rename to nix/modules/common.nix index bdc1b4d..80e1777 100644 --- a/nix/system/common.nix +++ b/nix/modules/common.nix @@ -43,7 +43,6 @@ zip ast-grep nmap - # libreoffice yaru-theme bibata-cursors typst @@ -54,7 +53,6 @@ stylua luajitPackages.luacheck just - go-mockery inotify-tools luajit luajitPackages.luarocks @@ -72,13 +70,11 @@ rust-analyzer rustfmt lld - nh feishin atproto-goat pnpm dig host - thunderbird templ codex herdr diff --git a/nix/system/apps/discord.nix b/nix/modules/discord.nix similarity index 100% rename from nix/system/apps/discord.nix rename to nix/modules/discord.nix diff --git a/nix/system/desktops/gdm.nix b/nix/modules/gdm.nix similarity index 100% rename from nix/system/desktops/gdm.nix rename to nix/modules/gdm.nix diff --git a/nix/system/desktops/gnome.nix b/nix/modules/gnome.nix similarity index 100% rename from nix/system/desktops/gnome.nix rename to nix/modules/gnome.nix diff --git a/nix/system/games/lutris.nix b/nix/modules/lutris.nix similarity index 100% rename from nix/system/games/lutris.nix rename to nix/modules/lutris.nix diff --git a/nix/system/games/minecraft.nix b/nix/modules/minecraft.nix similarity index 100% rename from nix/system/games/minecraft.nix rename to nix/modules/minecraft.nix diff --git a/nix/system/desktops/niri.nix b/nix/modules/niri.nix similarity index 100% rename from nix/system/desktops/niri.nix rename to nix/modules/niri.nix diff --git a/nix/system/desktops/river.nix b/nix/modules/river.nix similarity index 100% rename from nix/system/desktops/river.nix rename to nix/modules/river.nix diff --git a/nix/system/desktops/sddm-theme.nix b/nix/modules/sddm-theme.nix similarity index 100% rename from nix/system/desktops/sddm-theme.nix rename to nix/modules/sddm-theme.nix diff --git a/nix/system/apps/spotify.nix b/nix/modules/spotify.nix similarity index 100% rename from nix/system/apps/spotify.nix rename to nix/modules/spotify.nix diff --git a/nix/system/games/steam.nix b/nix/modules/steam.nix similarity index 100% rename from nix/system/games/steam.nix rename to nix/modules/steam.nix diff --git a/nix/system/desktops/tuigreet.nix b/nix/modules/tuigreet.nix similarity index 100% rename from nix/system/desktops/tuigreet.nix rename to nix/modules/tuigreet.nix diff --git a/nix/system/desktops/extras/waybar-mediaplayer/control.go b/nix/modules/waybar-mediaplayer/control.go similarity index 100% rename from nix/system/desktops/extras/waybar-mediaplayer/control.go rename to nix/modules/waybar-mediaplayer/control.go diff --git a/nix/system/desktops/extras/waybar-mediaplayer/go.mod b/nix/modules/waybar-mediaplayer/go.mod similarity index 100% rename from nix/system/desktops/extras/waybar-mediaplayer/go.mod rename to nix/modules/waybar-mediaplayer/go.mod diff --git a/nix/system/desktops/extras/waybar-mediaplayer/go.sum b/nix/modules/waybar-mediaplayer/go.sum similarity index 100% rename from nix/system/desktops/extras/waybar-mediaplayer/go.sum rename to nix/modules/waybar-mediaplayer/go.sum diff --git a/nix/system/desktops/extras/waybar-mediaplayer/main.go b/nix/modules/waybar-mediaplayer/main.go similarity index 100% rename from nix/system/desktops/extras/waybar-mediaplayer/main.go rename to nix/modules/waybar-mediaplayer/main.go diff --git a/nix/system/desktops/extras/waybar-mediaplayer/mpris.go b/nix/modules/waybar-mediaplayer/mpris.go similarity index 100% rename from nix/system/desktops/extras/waybar-mediaplayer/mpris.go rename to nix/modules/waybar-mediaplayer/mpris.go diff --git a/nix/system/desktops/extras/waybar-mediaplayer/output.go b/nix/modules/waybar-mediaplayer/output.go similarity index 100% rename from nix/system/desktops/extras/waybar-mediaplayer/output.go rename to nix/modules/waybar-mediaplayer/output.go diff --git a/nix/system/desktops/extras/waybar-mediaplayer/package.nix b/nix/modules/waybar-mediaplayer/package.nix similarity index 100% rename from nix/system/desktops/extras/waybar-mediaplayer/package.nix rename to nix/modules/waybar-mediaplayer/package.nix diff --git a/nix/system/desktops/extras/waybar-mediaplayer/players.go b/nix/modules/waybar-mediaplayer/players.go similarity index 100% rename from nix/system/desktops/extras/waybar-mediaplayer/players.go rename to nix/modules/waybar-mediaplayer/players.go diff --git a/nix/system/desktops/wayland-wm.nix b/nix/modules/wayland-wm.nix similarity index 88% rename from nix/system/desktops/wayland-wm.nix rename to nix/modules/wayland-wm.nix index c444ff6..890ca11 100644 --- a/nix/system/desktops/wayland-wm.nix +++ b/nix/modules/wayland-wm.nix @@ -21,7 +21,7 @@ awww # Go MPRIS media status/control binary for the waybar `custom/media` module. - (import ./extras/waybar-mediaplayer/package.nix { pkgs = pkgs; }) + (import ./waybar-mediaplayer/package.nix { pkgs = pkgs; }) quickshell fnott ]; diff --git a/nix/system/utilities/forgejo.nix b/nix/services/forgejo.nix similarity index 100% rename from nix/system/utilities/forgejo.nix rename to nix/services/forgejo.nix diff --git a/nix/system/utilities/jellyfin.nix b/nix/services/jellyfin.nix similarity index 100% rename from nix/system/utilities/jellyfin.nix rename to nix/services/jellyfin.nix diff --git a/nix/system/services/local-observability.nix b/nix/services/local-observability.nix similarity index 100% rename from nix/system/services/local-observability.nix rename to nix/services/local-observability.nix diff --git a/nix/system/utilities/wireguard.nix b/nix/services/wireguard.nix similarity index 100% rename from nix/system/utilities/wireguard.nix rename to nix/services/wireguard.nix