Compare commits
32 Commits
6c6164043b
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 57c467ef11 | |||
| fbcf8f65e6 | |||
| ef78590a6a | |||
| 39cc27fd72 | |||
| fe88684d9d | |||
| 4b4221da30 | |||
| 9be26d79cc | |||
| 2821f4b6f4 | |||
| d1494476b8 | |||
| eea29e9877 | |||
| 2ab870db8c | |||
| 66127c05ea | |||
| 4a9d24fe08 | |||
| 1265dea16a | |||
| 222c1becf4 | |||
| 365b6016f1 | |||
| 9566724015 | |||
| cd80ded6c0 | |||
| 4fe9f3e306 | |||
| d26a40f4ee | |||
| 74566375f9 | |||
| add002e05c | |||
| 5c92a9f1c6 | |||
| b67922ca60 | |||
| 19dea8277e | |||
| 8bbfc64b84 | |||
| f5e2b50082 | |||
| 6286921cd1 | |||
| a053c9a50e | |||
| 7f80fd8a75 | |||
| 4e1b39f443 | |||
| b2ca12f86c |
@@ -177,6 +177,7 @@ base.secrets.enable # pass-wayland, pinentry
|
|||||||
desktop.wm.hyprland.enable # Hyprland window manager
|
desktop.wm.hyprland.enable # Hyprland window manager
|
||||||
desktop.wm.rofi.enable # Rofi launcher
|
desktop.wm.rofi.enable # Rofi launcher
|
||||||
desktop.wm.wayland.enable # Wayland tools (grim, slurp, etc.)
|
desktop.wm.wayland.enable # Wayland tools (grim, slurp, etc.)
|
||||||
|
desktop.wm.dms.enable # DankMaterialShell desktop shell
|
||||||
desktop.apps.obsidian.enable # Obsidian
|
desktop.apps.obsidian.enable # Obsidian
|
||||||
desktop.apps.office.enable # LibreOffice
|
desktop.apps.office.enable # LibreOffice
|
||||||
desktop.apps.crypto.enable # Bisq2, Monero, Trezor
|
desktop.apps.crypto.enable # Bisq2, Monero, Trezor
|
||||||
@@ -244,9 +245,11 @@ source = "${config."m3ta-home".paths.srcRoot}/assets/wallpapers";
|
|||||||
| `nixpkgs` | Package set (follows nixos-config's nixpkgs) |
|
| `nixpkgs` | Package set (follows nixos-config's nixpkgs) |
|
||||||
| `home-manager` | Home-Manager modules |
|
| `home-manager` | Home-Manager modules |
|
||||||
| `nix-colors` | Dracula theme palette (used everywhere) |
|
| `nix-colors` | Dracula theme palette (used everywhere) |
|
||||||
| `m3ta-nixpkgs` | Custom packages (zellij-ps, rofi-project-opener) and HM modules |
|
| `m3ta-nixpkgs` | Custom packages (zellij-ps, rofi-project-opener) and HM modules |
|
||||||
| `agenix` | Secret management |
|
| `dms` | DankMaterialShell Home-Manager module and package |
|
||||||
| `NUR` | Additional packages |
|
| `dms-plugin-registry` | DankMaterialShell plugin sources |
|
||||||
|
| `agenix` | Secret management |
|
||||||
|
| `NUR` | Additional packages |
|
||||||
|
|
||||||
## Important Notes
|
## Important Notes
|
||||||
|
|
||||||
|
|||||||
+303
-105
@@ -5,20 +5,36 @@
|
|||||||
"anthropic": {
|
"anthropic": {
|
||||||
"discovery": {
|
"discovery": {
|
||||||
"agents": {
|
"agents": {
|
||||||
"include": ["**/AGENT.md"],
|
"include": [
|
||||||
"paths": ["agents"]
|
"**/AGENT.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"agents"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"prompts": {
|
"prompts": {
|
||||||
"include": ["**/PROMPT.md"],
|
"include": [
|
||||||
"paths": ["prompts"]
|
"**/PROMPT.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"prompts"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"skills": {
|
"skills": {
|
||||||
"include": ["**/SKILL.md"],
|
"include": [
|
||||||
"paths": ["skills"]
|
"**/SKILL.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"skills"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"tools": {
|
"tools": {
|
||||||
"include": ["**/TOOL.md"],
|
"include": [
|
||||||
"paths": ["tools"]
|
"**/TOOL.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"tools"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"items": {
|
"items": {
|
||||||
@@ -226,20 +242,36 @@
|
|||||||
"basecamp": {
|
"basecamp": {
|
||||||
"discovery": {
|
"discovery": {
|
||||||
"agents": {
|
"agents": {
|
||||||
"include": ["**/AGENT.md"],
|
"include": [
|
||||||
"paths": ["agents"]
|
"**/AGENT.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"agents"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"prompts": {
|
"prompts": {
|
||||||
"include": ["**/PROMPT.md"],
|
"include": [
|
||||||
"paths": ["prompts"]
|
"**/PROMPT.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"prompts"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"skills": {
|
"skills": {
|
||||||
"include": ["**/SKILL.md"],
|
"include": [
|
||||||
"paths": ["skills"]
|
"**/SKILL.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"skills"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"tools": {
|
"tools": {
|
||||||
"include": ["**/TOOL.md"],
|
"include": [
|
||||||
"paths": ["tools"]
|
"**/TOOL.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"tools"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"items": {
|
"items": {
|
||||||
@@ -260,9 +292,9 @@
|
|||||||
},
|
},
|
||||||
"tools": {}
|
"tools": {}
|
||||||
},
|
},
|
||||||
"narHash": "sha256:7f068227eed664d6fbfb077eddf32901e01430441fbc2c58106aa95e45292d94",
|
"narHash": "sha256:2bbaeab9865fca091abd0714b4d971666e3f0c83c6ee1291eda88f757791ebf6",
|
||||||
"ref": null,
|
"ref": null,
|
||||||
"rev": "b20051d4b66b85aed61e165fedad0837ea1a5a4c",
|
"rev": "64db1cfb966a78e1ae63f485fc4cca4704a29d3a",
|
||||||
"root": ".",
|
"root": ".",
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/basecamp/basecamp-cli",
|
"url": "https://github.com/basecamp/basecamp-cli",
|
||||||
@@ -271,20 +303,36 @@
|
|||||||
"kestra": {
|
"kestra": {
|
||||||
"discovery": {
|
"discovery": {
|
||||||
"agents": {
|
"agents": {
|
||||||
"include": ["**/AGENT.md"],
|
"include": [
|
||||||
"paths": ["agents"]
|
"**/AGENT.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"agents"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"prompts": {
|
"prompts": {
|
||||||
"include": ["**/PROMPT.md"],
|
"include": [
|
||||||
"paths": ["prompts"]
|
"**/PROMPT.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"prompts"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"skills": {
|
"skills": {
|
||||||
"include": ["**/SKILL.md"],
|
"include": [
|
||||||
"paths": ["skills"]
|
"**/SKILL.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"skills"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"tools": {
|
"tools": {
|
||||||
"include": ["**/TOOL.md"],
|
"include": [
|
||||||
"paths": ["tools"]
|
"**/TOOL.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"tools"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"items": {
|
"items": {
|
||||||
@@ -338,20 +386,36 @@
|
|||||||
"m3ta-agents": {
|
"m3ta-agents": {
|
||||||
"discovery": {
|
"discovery": {
|
||||||
"agents": {
|
"agents": {
|
||||||
"include": ["**/AGENT.md"],
|
"include": [
|
||||||
"paths": ["agents"]
|
"**/AGENT.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"agents"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"prompts": {
|
"prompts": {
|
||||||
"include": ["**/PROMPT.md"],
|
"include": [
|
||||||
"paths": ["prompts"]
|
"**/PROMPT.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"prompts"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"skills": {
|
"skills": {
|
||||||
"include": ["**/SKILL.md"],
|
"include": [
|
||||||
"paths": ["skills"]
|
"**/SKILL.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"skills"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"tools": {
|
"tools": {
|
||||||
"include": ["**/TOOL.md"],
|
"include": [
|
||||||
"paths": ["tools"]
|
"**/TOOL.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"tools"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"items": {
|
"items": {
|
||||||
@@ -626,20 +690,36 @@
|
|||||||
"mattpocock": {
|
"mattpocock": {
|
||||||
"discovery": {
|
"discovery": {
|
||||||
"agents": {
|
"agents": {
|
||||||
"include": ["**/AGENT.md"],
|
"include": [
|
||||||
"paths": ["agents"]
|
"**/AGENT.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"agents"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"prompts": {
|
"prompts": {
|
||||||
"include": ["**/PROMPT.md"],
|
"include": [
|
||||||
"paths": ["prompts"]
|
"**/PROMPT.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"prompts"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"skills": {
|
"skills": {
|
||||||
"include": ["**/SKILL.md"],
|
"include": [
|
||||||
"paths": ["skills"]
|
"**/SKILL.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"skills"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"tools": {
|
"tools": {
|
||||||
"include": ["**/TOOL.md"],
|
"include": [
|
||||||
"paths": ["tools"]
|
"**/TOOL.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"tools"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"items": {
|
"items": {
|
||||||
@@ -648,7 +728,9 @@
|
|||||||
"skills": {
|
"skills": {
|
||||||
"caveman": {
|
"caveman": {
|
||||||
"entry": "skills/productivity/caveman/SKILL.md",
|
"entry": "skills/productivity/caveman/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": ">",
|
"description": ">",
|
||||||
"name": "caveman",
|
"name": "caveman",
|
||||||
@@ -659,7 +741,9 @@
|
|||||||
},
|
},
|
||||||
"design-an-interface": {
|
"design-an-interface": {
|
||||||
"entry": "skills/deprecated/design-an-interface/SKILL.md",
|
"entry": "skills/deprecated/design-an-interface/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Generate multiple radically different interface designs for a module using parallel sub-agents. Use when user wants to design an API, explore interface options, compare module shapes, or mentions \"design it twice\".",
|
"description": "Generate multiple radically different interface designs for a module using parallel sub-agents. Use when user wants to design an API, explore interface options, compare module shapes, or mentions \"design it twice\".",
|
||||||
"name": "design-an-interface",
|
"name": "design-an-interface",
|
||||||
@@ -670,7 +754,9 @@
|
|||||||
},
|
},
|
||||||
"diagnose": {
|
"diagnose": {
|
||||||
"entry": "skills/engineering/diagnose/SKILL.md",
|
"entry": "skills/engineering/diagnose/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Disciplined diagnosis loop for hard bugs and performance regressions. Reproduce → minimise → hypothesise → instrument → fix → regression-test. Use when user says \"diagnose this\" / \"debug this\", reports a bug, says something is broken/throwing/failing, or describes a performance regression.",
|
"description": "Disciplined diagnosis loop for hard bugs and performance regressions. Reproduce → minimise → hypothesise → instrument → fix → regression-test. Use when user says \"diagnose this\" / \"debug this\", reports a bug, says something is broken/throwing/failing, or describes a performance regression.",
|
||||||
"name": "diagnose",
|
"name": "diagnose",
|
||||||
@@ -681,7 +767,9 @@
|
|||||||
},
|
},
|
||||||
"edit-article": {
|
"edit-article": {
|
||||||
"entry": "skills/personal/edit-article/SKILL.md",
|
"entry": "skills/personal/edit-article/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.",
|
"description": "Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.",
|
||||||
"name": "edit-article",
|
"name": "edit-article",
|
||||||
@@ -692,7 +780,9 @@
|
|||||||
},
|
},
|
||||||
"git-guardrails-claude-code": {
|
"git-guardrails-claude-code": {
|
||||||
"entry": "skills/misc/git-guardrails-claude-code/SKILL.md",
|
"entry": "skills/misc/git-guardrails-claude-code/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute. Use when user wants to prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code.",
|
"description": "Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute. Use when user wants to prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code.",
|
||||||
"name": "git-guardrails-claude-code",
|
"name": "git-guardrails-claude-code",
|
||||||
@@ -703,7 +793,9 @@
|
|||||||
},
|
},
|
||||||
"grill-me": {
|
"grill-me": {
|
||||||
"entry": "skills/productivity/grill-me/SKILL.md",
|
"entry": "skills/productivity/grill-me/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions \"grill me\".",
|
"description": "Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions \"grill me\".",
|
||||||
"name": "grill-me",
|
"name": "grill-me",
|
||||||
@@ -714,7 +806,9 @@
|
|||||||
},
|
},
|
||||||
"grill-with-docs": {
|
"grill-with-docs": {
|
||||||
"entry": "skills/engineering/grill-with-docs/SKILL.md",
|
"entry": "skills/engineering/grill-with-docs/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise. Use when user wants to stress-test a plan against their project's language and documented decisions.",
|
"description": "Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise. Use when user wants to stress-test a plan against their project's language and documented decisions.",
|
||||||
"name": "grill-with-docs",
|
"name": "grill-with-docs",
|
||||||
@@ -725,7 +819,9 @@
|
|||||||
},
|
},
|
||||||
"handoff": {
|
"handoff": {
|
||||||
"entry": "skills/productivity/handoff/SKILL.md",
|
"entry": "skills/productivity/handoff/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Compact the current conversation into a handoff document for another agent to pick up.",
|
"description": "Compact the current conversation into a handoff document for another agent to pick up.",
|
||||||
"name": "handoff",
|
"name": "handoff",
|
||||||
@@ -736,7 +832,9 @@
|
|||||||
},
|
},
|
||||||
"improve-codebase-architecture": {
|
"improve-codebase-architecture": {
|
||||||
"entry": "skills/engineering/improve-codebase-architecture/SKILL.md",
|
"entry": "skills/engineering/improve-codebase-architecture/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable.",
|
"description": "Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable.",
|
||||||
"name": "improve-codebase-architecture",
|
"name": "improve-codebase-architecture",
|
||||||
@@ -747,7 +845,9 @@
|
|||||||
},
|
},
|
||||||
"migrate-to-shoehorn": {
|
"migrate-to-shoehorn": {
|
||||||
"entry": "skills/misc/migrate-to-shoehorn/SKILL.md",
|
"entry": "skills/misc/migrate-to-shoehorn/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Migrate test files from `as` type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace `as` in tests, or needs partial test data.",
|
"description": "Migrate test files from `as` type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace `as` in tests, or needs partial test data.",
|
||||||
"name": "migrate-to-shoehorn",
|
"name": "migrate-to-shoehorn",
|
||||||
@@ -758,7 +858,9 @@
|
|||||||
},
|
},
|
||||||
"obsidian-vault": {
|
"obsidian-vault": {
|
||||||
"entry": "skills/personal/obsidian-vault/SKILL.md",
|
"entry": "skills/personal/obsidian-vault/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Search, create, and manage notes in the Obsidian vault with wikilinks and index notes. Use when user wants to find, create, or organize notes in Obsidian.",
|
"description": "Search, create, and manage notes in the Obsidian vault with wikilinks and index notes. Use when user wants to find, create, or organize notes in Obsidian.",
|
||||||
"name": "obsidian-vault",
|
"name": "obsidian-vault",
|
||||||
@@ -769,7 +871,9 @@
|
|||||||
},
|
},
|
||||||
"prototype": {
|
"prototype": {
|
||||||
"entry": "skills/engineering/prototype/SKILL.md",
|
"entry": "skills/engineering/prototype/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Build a throwaway prototype to flesh out a design before committing to it. Routes between two branches — a runnable terminal app for state/business-logic questions, or several radically different UI variations toggleable from one route. Use when the user wants to prototype, sanity-check a data model or state machine, mock up a UI, explore design options, or says \"prototype this\", \"let me play with it\", \"try a few designs\".",
|
"description": "Build a throwaway prototype to flesh out a design before committing to it. Routes between two branches — a runnable terminal app for state/business-logic questions, or several radically different UI variations toggleable from one route. Use when the user wants to prototype, sanity-check a data model or state machine, mock up a UI, explore design options, or says \"prototype this\", \"let me play with it\", \"try a few designs\".",
|
||||||
"name": "prototype",
|
"name": "prototype",
|
||||||
@@ -780,7 +884,9 @@
|
|||||||
},
|
},
|
||||||
"qa": {
|
"qa": {
|
||||||
"entry": "skills/deprecated/qa/SKILL.md",
|
"entry": "skills/deprecated/qa/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Interactive QA session where user reports bugs or issues conversationally, and the agent files GitHub issues. Explores the codebase in the background for context and domain language. Use when user wants to report bugs, do QA, file issues conversationally, or mentions \"QA session\".",
|
"description": "Interactive QA session where user reports bugs or issues conversationally, and the agent files GitHub issues. Explores the codebase in the background for context and domain language. Use when user wants to report bugs, do QA, file issues conversationally, or mentions \"QA session\".",
|
||||||
"name": "qa",
|
"name": "qa",
|
||||||
@@ -791,7 +897,9 @@
|
|||||||
},
|
},
|
||||||
"request-refactor-plan": {
|
"request-refactor-plan": {
|
||||||
"entry": "skills/deprecated/request-refactor-plan/SKILL.md",
|
"entry": "skills/deprecated/request-refactor-plan/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Create a detailed refactor plan with tiny commits via user interview, then file it as a GitHub issue. Use when user wants to plan a refactor, create a refactoring RFC, or break a refactor into safe incremental steps.",
|
"description": "Create a detailed refactor plan with tiny commits via user interview, then file it as a GitHub issue. Use when user wants to plan a refactor, create a refactoring RFC, or break a refactor into safe incremental steps.",
|
||||||
"name": "request-refactor-plan",
|
"name": "request-refactor-plan",
|
||||||
@@ -802,7 +910,9 @@
|
|||||||
},
|
},
|
||||||
"review": {
|
"review": {
|
||||||
"entry": "skills/in-progress/review/SKILL.md",
|
"entry": "skills/in-progress/review/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes — Standards (does the code follow this repo's documented coding standards?) and Spec (does the code match what the originating issue/PRD asked for?). Runs both reviews in parallel sub-agents and reports them side by side. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to \"review since X\".",
|
"description": "Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes — Standards (does the code follow this repo's documented coding standards?) and Spec (does the code match what the originating issue/PRD asked for?). Runs both reviews in parallel sub-agents and reports them side by side. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to \"review since X\".",
|
||||||
"name": "review",
|
"name": "review",
|
||||||
@@ -813,7 +923,9 @@
|
|||||||
},
|
},
|
||||||
"scaffold-exercises": {
|
"scaffold-exercises": {
|
||||||
"entry": "skills/misc/scaffold-exercises/SKILL.md",
|
"entry": "skills/misc/scaffold-exercises/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Create exercise directory structures with sections, problems, solutions, and explainers that pass linting. Use when user wants to scaffold exercises, create exercise stubs, or set up a new course section.",
|
"description": "Create exercise directory structures with sections, problems, solutions, and explainers that pass linting. Use when user wants to scaffold exercises, create exercise stubs, or set up a new course section.",
|
||||||
"name": "scaffold-exercises",
|
"name": "scaffold-exercises",
|
||||||
@@ -824,7 +936,9 @@
|
|||||||
},
|
},
|
||||||
"setup-matt-pocock-skills": {
|
"setup-matt-pocock-skills": {
|
||||||
"entry": "skills/engineering/setup-matt-pocock-skills/SKILL.md",
|
"entry": "skills/engineering/setup-matt-pocock-skills/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Sets up an `## Agent skills` block in AGENTS.md/CLAUDE.md and `docs/agents/` so the engineering skills know this repo's issue tracker (GitHub or local markdown), triage label vocabulary, and domain doc layout. Run before first use of `to-issues`, `to-prd`, `triage`, `diagnose`, `tdd`, `improve-codebase-architecture`, or `zoom-out` — or if those skills appear to be missing context about the issue tracker, triage labels, or domain docs.",
|
"description": "Sets up an `## Agent skills` block in AGENTS.md/CLAUDE.md and `docs/agents/` so the engineering skills know this repo's issue tracker (GitHub or local markdown), triage label vocabulary, and domain doc layout. Run before first use of `to-issues`, `to-prd`, `triage`, `diagnose`, `tdd`, `improve-codebase-architecture`, or `zoom-out` — or if those skills appear to be missing context about the issue tracker, triage labels, or domain docs.",
|
||||||
"name": "setup-matt-pocock-skills",
|
"name": "setup-matt-pocock-skills",
|
||||||
@@ -835,7 +949,9 @@
|
|||||||
},
|
},
|
||||||
"setup-pre-commit": {
|
"setup-pre-commit": {
|
||||||
"entry": "skills/misc/setup-pre-commit/SKILL.md",
|
"entry": "skills/misc/setup-pre-commit/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo. Use when user wants to add pre-commit hooks, set up Husky, configure lint-staged, or add commit-time formatting/typechecking/testing.",
|
"description": "Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo. Use when user wants to add pre-commit hooks, set up Husky, configure lint-staged, or add commit-time formatting/typechecking/testing.",
|
||||||
"name": "setup-pre-commit",
|
"name": "setup-pre-commit",
|
||||||
@@ -846,7 +962,9 @@
|
|||||||
},
|
},
|
||||||
"tdd": {
|
"tdd": {
|
||||||
"entry": "skills/engineering/tdd/SKILL.md",
|
"entry": "skills/engineering/tdd/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Test-driven development with red-green-refactor loop. Use when user wants to build features or fix bugs using TDD, mentions \"red-green-refactor\", wants integration tests, or asks for test-first development.",
|
"description": "Test-driven development with red-green-refactor loop. Use when user wants to build features or fix bugs using TDD, mentions \"red-green-refactor\", wants integration tests, or asks for test-first development.",
|
||||||
"name": "tdd",
|
"name": "tdd",
|
||||||
@@ -856,19 +974,23 @@
|
|||||||
"path": "skills/engineering/tdd"
|
"path": "skills/engineering/tdd"
|
||||||
},
|
},
|
||||||
"teach": {
|
"teach": {
|
||||||
"entry": "skills/in-progress/teach/SKILL.md",
|
"entry": "skills/productivity/teach/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Teach the user a new skill or concept, within this workspace.",
|
"description": "Teach the user a new skill or concept, within this workspace.",
|
||||||
"name": "teach",
|
"name": "teach",
|
||||||
"requires": [],
|
"requires": [],
|
||||||
"tags": []
|
"tags": []
|
||||||
},
|
},
|
||||||
"path": "skills/in-progress/teach"
|
"path": "skills/productivity/teach"
|
||||||
},
|
},
|
||||||
"to-issues": {
|
"to-issues": {
|
||||||
"entry": "skills/engineering/to-issues/SKILL.md",
|
"entry": "skills/engineering/to-issues/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Break a plan, spec, or PRD into independently-grabbable issues on the project issue tracker using tracer-bullet vertical slices. Use when user wants to convert a plan into issues, create implementation tickets, or break down work into issues.",
|
"description": "Break a plan, spec, or PRD into independently-grabbable issues on the project issue tracker using tracer-bullet vertical slices. Use when user wants to convert a plan into issues, create implementation tickets, or break down work into issues.",
|
||||||
"name": "to-issues",
|
"name": "to-issues",
|
||||||
@@ -879,7 +1001,9 @@
|
|||||||
},
|
},
|
||||||
"to-prd": {
|
"to-prd": {
|
||||||
"entry": "skills/engineering/to-prd/SKILL.md",
|
"entry": "skills/engineering/to-prd/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Turn the current conversation context into a PRD and publish it to the project issue tracker. Use when user wants to create a PRD from the current context.",
|
"description": "Turn the current conversation context into a PRD and publish it to the project issue tracker. Use when user wants to create a PRD from the current context.",
|
||||||
"name": "to-prd",
|
"name": "to-prd",
|
||||||
@@ -890,7 +1014,9 @@
|
|||||||
},
|
},
|
||||||
"triage": {
|
"triage": {
|
||||||
"entry": "skills/engineering/triage/SKILL.md",
|
"entry": "skills/engineering/triage/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Triage issues through a state machine driven by triage roles. Use when user wants to create an issue, triage issues, review incoming bugs or feature requests, prepare issues for an AFK agent, or manage issue workflow.",
|
"description": "Triage issues through a state machine driven by triage roles. Use when user wants to create an issue, triage issues, review incoming bugs or feature requests, prepare issues for an AFK agent, or manage issue workflow.",
|
||||||
"name": "triage",
|
"name": "triage",
|
||||||
@@ -901,7 +1027,9 @@
|
|||||||
},
|
},
|
||||||
"ubiquitous-language": {
|
"ubiquitous-language": {
|
||||||
"entry": "skills/deprecated/ubiquitous-language/SKILL.md",
|
"entry": "skills/deprecated/ubiquitous-language/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Extract a DDD-style ubiquitous language glossary from the current conversation, flagging ambiguities and proposing canonical terms. Saves to UBIQUITOUS_LANGUAGE.md. Use when user wants to define domain terms, build a glossary, harden terminology, create a ubiquitous language, or mentions \"domain model\" or \"DDD\".",
|
"description": "Extract a DDD-style ubiquitous language glossary from the current conversation, flagging ambiguities and proposing canonical terms. Saves to UBIQUITOUS_LANGUAGE.md. Use when user wants to define domain terms, build a glossary, harden terminology, create a ubiquitous language, or mentions \"domain model\" or \"DDD\".",
|
||||||
"name": "ubiquitous-language",
|
"name": "ubiquitous-language",
|
||||||
@@ -912,7 +1040,9 @@
|
|||||||
},
|
},
|
||||||
"write-a-skill": {
|
"write-a-skill": {
|
||||||
"entry": "skills/productivity/write-a-skill/SKILL.md",
|
"entry": "skills/productivity/write-a-skill/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Create new agent skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, or build a new skill.",
|
"description": "Create new agent skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, or build a new skill.",
|
||||||
"name": "write-a-skill",
|
"name": "write-a-skill",
|
||||||
@@ -923,7 +1053,9 @@
|
|||||||
},
|
},
|
||||||
"writing-beats": {
|
"writing-beats": {
|
||||||
"entry": "skills/in-progress/writing-beats/SKILL.md",
|
"entry": "skills/in-progress/writing-beats/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Shape an article as a journey of beats, choose-your-own-adventure style. The user picks a starting beat from the raw material, you write only that beat, then offer options for where to pivot next, beat by beat, until the article reaches a natural end. Use when the user has raw material and wants to assemble it as a narrative rather than an argument.",
|
"description": "Shape an article as a journey of beats, choose-your-own-adventure style. The user picks a starting beat from the raw material, you write only that beat, then offer options for where to pivot next, beat by beat, until the article reaches a natural end. Use when the user has raw material and wants to assemble it as a narrative rather than an argument.",
|
||||||
"name": "writing-beats",
|
"name": "writing-beats",
|
||||||
@@ -934,7 +1066,9 @@
|
|||||||
},
|
},
|
||||||
"writing-fragments": {
|
"writing-fragments": {
|
||||||
"entry": "skills/in-progress/writing-fragments/SKILL.md",
|
"entry": "skills/in-progress/writing-fragments/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Grilling session that mines the user for fragments — heterogeneous nuggets of writing (claims, vignettes, sharp sentences, half-thoughts) — and appends them to a single document as raw material for a future article. Use when the user wants to develop ideas before imposing structure, or mentions \"fragments\", \"ideate\", or \"raw material\" for writing.",
|
"description": "Grilling session that mines the user for fragments — heterogeneous nuggets of writing (claims, vignettes, sharp sentences, half-thoughts) — and appends them to a single document as raw material for a future article. Use when the user wants to develop ideas before imposing structure, or mentions \"fragments\", \"ideate\", or \"raw material\" for writing.",
|
||||||
"name": "writing-fragments",
|
"name": "writing-fragments",
|
||||||
@@ -945,7 +1079,9 @@
|
|||||||
},
|
},
|
||||||
"writing-shape": {
|
"writing-shape": {
|
||||||
"entry": "skills/in-progress/writing-shape/SKILL.md",
|
"entry": "skills/in-progress/writing-shape/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Take a markdown file of raw material and shape it into an article through a conversational session — drafting candidate openings, growing the piece paragraph by paragraph, arguing about format (lists, tables, callouts, quotes) at each step. Use when the user has a pile of notes, fragments, or a rough draft and wants help turning it into something publishable.",
|
"description": "Take a markdown file of raw material and shape it into an article through a conversational session — drafting candidate openings, growing the piece paragraph by paragraph, arguing about format (lists, tables, callouts, quotes) at each step. Use when the user has a pile of notes, fragments, or a rough draft and wants help turning it into something publishable.",
|
||||||
"name": "writing-shape",
|
"name": "writing-shape",
|
||||||
@@ -956,7 +1092,9 @@
|
|||||||
},
|
},
|
||||||
"zoom-out": {
|
"zoom-out": {
|
||||||
"entry": "skills/engineering/zoom-out/SKILL.md",
|
"entry": "skills/engineering/zoom-out/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Tell the agent to zoom out and give broader context or a higher-level perspective. Use when you're unfamiliar with a section of code or need to understand how it fits into the bigger picture.",
|
"description": "Tell the agent to zoom out and give broader context or a higher-level perspective. Use when you're unfamiliar with a section of code or need to understand how it fits into the bigger picture.",
|
||||||
"name": "zoom-out",
|
"name": "zoom-out",
|
||||||
@@ -968,9 +1106,9 @@
|
|||||||
},
|
},
|
||||||
"tools": {}
|
"tools": {}
|
||||||
},
|
},
|
||||||
"narHash": "sha256:e61c575015dca998709776014f52317e29b49aca42659b635dbc69fb60a7f9e1",
|
"narHash": "sha256:f0f009c64fe1572fbfade479e4829f2fd4499f703e7110c1387a5e05bfe00b9e",
|
||||||
"ref": null,
|
"ref": null,
|
||||||
"rev": "e3b90b5238f38cdea5996e16861dcae28ef52eda",
|
"rev": "694fa30311e02c2639942308513555e61ee84a6f",
|
||||||
"root": ".",
|
"root": ".",
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/mattpocock/skills",
|
"url": "https://github.com/mattpocock/skills",
|
||||||
@@ -979,20 +1117,36 @@
|
|||||||
"superpowers": {
|
"superpowers": {
|
||||||
"discovery": {
|
"discovery": {
|
||||||
"agents": {
|
"agents": {
|
||||||
"include": ["**/AGENT.md"],
|
"include": [
|
||||||
"paths": ["agents"]
|
"**/AGENT.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"agents"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"prompts": {
|
"prompts": {
|
||||||
"include": ["**/PROMPT.md"],
|
"include": [
|
||||||
"paths": ["prompts"]
|
"**/PROMPT.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"prompts"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"skills": {
|
"skills": {
|
||||||
"include": ["**/SKILL.md"],
|
"include": [
|
||||||
"paths": ["skills"]
|
"**/SKILL.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"skills"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"tools": {
|
"tools": {
|
||||||
"include": ["**/TOOL.md"],
|
"include": [
|
||||||
"paths": ["tools"]
|
"**/TOOL.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"tools"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"items": {
|
"items": {
|
||||||
@@ -1001,7 +1155,9 @@
|
|||||||
"skills": {
|
"skills": {
|
||||||
"brainstorming": {
|
"brainstorming": {
|
||||||
"entry": "skills/brainstorming/SKILL.md",
|
"entry": "skills/brainstorming/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.",
|
"description": "You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.",
|
||||||
"name": "brainstorming",
|
"name": "brainstorming",
|
||||||
@@ -1012,7 +1168,9 @@
|
|||||||
},
|
},
|
||||||
"dispatching-parallel-agents": {
|
"dispatching-parallel-agents": {
|
||||||
"entry": "skills/dispatching-parallel-agents/SKILL.md",
|
"entry": "skills/dispatching-parallel-agents/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies",
|
"description": "Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies",
|
||||||
"name": "dispatching-parallel-agents",
|
"name": "dispatching-parallel-agents",
|
||||||
@@ -1023,7 +1181,9 @@
|
|||||||
},
|
},
|
||||||
"executing-plans": {
|
"executing-plans": {
|
||||||
"entry": "skills/executing-plans/SKILL.md",
|
"entry": "skills/executing-plans/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Use when you have a written implementation plan to execute in a separate session with review checkpoints",
|
"description": "Use when you have a written implementation plan to execute in a separate session with review checkpoints",
|
||||||
"name": "executing-plans",
|
"name": "executing-plans",
|
||||||
@@ -1034,7 +1194,9 @@
|
|||||||
},
|
},
|
||||||
"finishing-a-development-branch": {
|
"finishing-a-development-branch": {
|
||||||
"entry": "skills/finishing-a-development-branch/SKILL.md",
|
"entry": "skills/finishing-a-development-branch/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup",
|
"description": "Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup",
|
||||||
"name": "finishing-a-development-branch",
|
"name": "finishing-a-development-branch",
|
||||||
@@ -1045,7 +1207,9 @@
|
|||||||
},
|
},
|
||||||
"receiving-code-review": {
|
"receiving-code-review": {
|
||||||
"entry": "skills/receiving-code-review/SKILL.md",
|
"entry": "skills/receiving-code-review/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation",
|
"description": "Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation",
|
||||||
"name": "receiving-code-review",
|
"name": "receiving-code-review",
|
||||||
@@ -1056,7 +1220,9 @@
|
|||||||
},
|
},
|
||||||
"requesting-code-review": {
|
"requesting-code-review": {
|
||||||
"entry": "skills/requesting-code-review/SKILL.md",
|
"entry": "skills/requesting-code-review/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Use when completing tasks, implementing major features, or before merging to verify work meets requirements",
|
"description": "Use when completing tasks, implementing major features, or before merging to verify work meets requirements",
|
||||||
"name": "requesting-code-review",
|
"name": "requesting-code-review",
|
||||||
@@ -1067,7 +1233,9 @@
|
|||||||
},
|
},
|
||||||
"subagent-driven-development": {
|
"subagent-driven-development": {
|
||||||
"entry": "skills/subagent-driven-development/SKILL.md",
|
"entry": "skills/subagent-driven-development/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Use when executing implementation plans with independent tasks in the current session",
|
"description": "Use when executing implementation plans with independent tasks in the current session",
|
||||||
"name": "subagent-driven-development",
|
"name": "subagent-driven-development",
|
||||||
@@ -1078,7 +1246,9 @@
|
|||||||
},
|
},
|
||||||
"systematic-debugging": {
|
"systematic-debugging": {
|
||||||
"entry": "skills/systematic-debugging/SKILL.md",
|
"entry": "skills/systematic-debugging/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes",
|
"description": "Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes",
|
||||||
"name": "systematic-debugging",
|
"name": "systematic-debugging",
|
||||||
@@ -1089,7 +1259,9 @@
|
|||||||
},
|
},
|
||||||
"test-driven-development": {
|
"test-driven-development": {
|
||||||
"entry": "skills/test-driven-development/SKILL.md",
|
"entry": "skills/test-driven-development/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Use when implementing any feature or bugfix, before writing implementation code",
|
"description": "Use when implementing any feature or bugfix, before writing implementation code",
|
||||||
"name": "test-driven-development",
|
"name": "test-driven-development",
|
||||||
@@ -1100,7 +1272,9 @@
|
|||||||
},
|
},
|
||||||
"using-git-worktrees": {
|
"using-git-worktrees": {
|
||||||
"entry": "skills/using-git-worktrees/SKILL.md",
|
"entry": "skills/using-git-worktrees/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Use when starting feature work that needs isolation from current workspace or before executing implementation plans - ensures an isolated workspace exists via native tools or git worktree fallback",
|
"description": "Use when starting feature work that needs isolation from current workspace or before executing implementation plans - ensures an isolated workspace exists via native tools or git worktree fallback",
|
||||||
"name": "using-git-worktrees",
|
"name": "using-git-worktrees",
|
||||||
@@ -1111,7 +1285,9 @@
|
|||||||
},
|
},
|
||||||
"using-superpowers": {
|
"using-superpowers": {
|
||||||
"entry": "skills/using-superpowers/SKILL.md",
|
"entry": "skills/using-superpowers/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions",
|
"description": "Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions",
|
||||||
"name": "using-superpowers",
|
"name": "using-superpowers",
|
||||||
@@ -1122,7 +1298,9 @@
|
|||||||
},
|
},
|
||||||
"verification-before-completion": {
|
"verification-before-completion": {
|
||||||
"entry": "skills/verification-before-completion/SKILL.md",
|
"entry": "skills/verification-before-completion/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always",
|
"description": "Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always",
|
||||||
"name": "verification-before-completion",
|
"name": "verification-before-completion",
|
||||||
@@ -1133,7 +1311,9 @@
|
|||||||
},
|
},
|
||||||
"writing-plans": {
|
"writing-plans": {
|
||||||
"entry": "skills/writing-plans/SKILL.md",
|
"entry": "skills/writing-plans/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Use when you have a spec or requirements for a multi-step task, before touching code",
|
"description": "Use when you have a spec or requirements for a multi-step task, before touching code",
|
||||||
"name": "writing-plans",
|
"name": "writing-plans",
|
||||||
@@ -1144,7 +1324,9 @@
|
|||||||
},
|
},
|
||||||
"writing-skills": {
|
"writing-skills": {
|
||||||
"entry": "skills/writing-skills/SKILL.md",
|
"entry": "skills/writing-skills/SKILL.md",
|
||||||
"licenseFiles": ["LICENSE"],
|
"licenseFiles": [
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"description": "Use when creating new skills, editing existing skills, or verifying skills work before deployment",
|
"description": "Use when creating new skills, editing existing skills, or verifying skills work before deployment",
|
||||||
"name": "writing-skills",
|
"name": "writing-skills",
|
||||||
@@ -1167,20 +1349,36 @@
|
|||||||
"vercel": {
|
"vercel": {
|
||||||
"discovery": {
|
"discovery": {
|
||||||
"agents": {
|
"agents": {
|
||||||
"include": ["**/AGENT.md"],
|
"include": [
|
||||||
"paths": ["agents"]
|
"**/AGENT.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"agents"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"prompts": {
|
"prompts": {
|
||||||
"include": ["**/PROMPT.md"],
|
"include": [
|
||||||
"paths": ["prompts"]
|
"**/PROMPT.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"prompts"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"skills": {
|
"skills": {
|
||||||
"include": ["**/SKILL.md"],
|
"include": [
|
||||||
"paths": ["skills"]
|
"**/SKILL.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"skills"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"tools": {
|
"tools": {
|
||||||
"include": ["**/TOOL.md"],
|
"include": [
|
||||||
"paths": ["tools"]
|
"**/TOOL.md"
|
||||||
|
],
|
||||||
|
"paths": [
|
||||||
|
"tools"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"items": {
|
"items": {
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 3.3 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 5.7 MiB |
Generated
+347
-38
@@ -28,24 +28,45 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780229583,
|
"lastModified": 1781348569,
|
||||||
"narHash": "sha256-WxokKtyJ0fRiTNIaf+Tfd05GhZVsqoTP5Q0cXiNipsI=",
|
"narHash": "sha256-1BJtmKSqtD0CD753ZE37RgxvCJK6Iw3iKLDDaS8trY4=",
|
||||||
"path": "/home/m3tam3re/p/NIX/agent-lib",
|
"ref": "refs/heads/master",
|
||||||
"type": "path"
|
"rev": "75a2ed2533b4d6d8e4a34acd37e83d98d81a5fb0",
|
||||||
|
"revCount": 30,
|
||||||
|
"type": "git",
|
||||||
|
"url": "ssh://gitea@code.m3ta.dev/m3tam3re/agent-lib"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"path": "/home/m3tam3re/p/NIX/agent-lib",
|
"type": "git",
|
||||||
"type": "path"
|
"url": "ssh://gitea@code.m3ta.dev/m3tam3re/agent-lib"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"agents": {
|
"agents": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1780133320,
|
||||||
|
"narHash": "sha256-8AiN9tV9PBb5xblJiPlhumBbKj61qLjzqXXFtkj3vvY=",
|
||||||
|
"ref": "refs/heads/master",
|
||||||
|
"rev": "920c00313ae242bd93275c30131b9ab1e52ee2fb",
|
||||||
|
"revCount": 88,
|
||||||
|
"type": "git",
|
||||||
|
"url": "ssh://gitea@code.m3ta.dev/m3tam3re/AGENTS"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "ssh://gitea@code.m3ta.dev/m3tam3re/AGENTS"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"agents_2": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778518220,
|
"lastModified": 1780133320,
|
||||||
"narHash": "sha256-6AQs9VZ0/DuD4njPbYHRE4v+SgJc6SBrGwemTWxikVc=",
|
"narHash": "sha256-8AiN9tV9PBb5xblJiPlhumBbKj61qLjzqXXFtkj3vvY=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "b6e1aaa6261c5056d024d8d4785659eaa4e675e6",
|
"rev": "920c00313ae242bd93275c30131b9ab1e52ee2fb",
|
||||||
"revCount": 87,
|
"revCount": 88,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://code.m3ta.dev/m3tam3re/AGENTS"
|
"url": "https://code.m3ta.dev/m3tam3re/AGENTS"
|
||||||
},
|
},
|
||||||
@@ -114,7 +135,70 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"dms": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"quickshell": "quickshell"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1777431599,
|
||||||
|
"narHash": "sha256-g6r/Gx8PTDzO3jCNzzySA+Ff1lmLF9nDlMCNyyoQjoE=",
|
||||||
|
"owner": "AvengeMedia",
|
||||||
|
"repo": "DankMaterialShell",
|
||||||
|
"rev": "eb5afcdc40ea5446c27e18552ff4a19f9daf9484",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "AvengeMedia",
|
||||||
|
"ref": "stable",
|
||||||
|
"repo": "DankMaterialShell",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dms-plugin-registry": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1781317940,
|
||||||
|
"narHash": "sha256-uMVOhV6pVPgm2hn1WGEbIcJRWjnsyWKy8PHCUn0++iI=",
|
||||||
|
"owner": "AvengeMedia",
|
||||||
|
"repo": "dms-plugin-registry",
|
||||||
|
"rev": "4ab59f3da3df33bf106045b856db8de875cc42c6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "AvengeMedia",
|
||||||
|
"repo": "dms-plugin-registry",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": [
|
||||||
|
"hermes-agent",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772408722,
|
||||||
|
"narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-parts_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
"nur",
|
"nur",
|
||||||
@@ -135,6 +219,31 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hermes-agent": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-parts": "flake-parts",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"npm-lockfile-fix": "npm-lockfile-fix",
|
||||||
|
"pyproject-build-systems": "pyproject-build-systems",
|
||||||
|
"pyproject-nix": "pyproject-nix_2",
|
||||||
|
"uv2nix": "uv2nix_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1781346807,
|
||||||
|
"narHash": "sha256-ytT4ojx0qFW4b/oYeW+MkmaA3b/BZ9pqkPmpAg8j1gg=",
|
||||||
|
"owner": "NousResearch",
|
||||||
|
"repo": "hermes-agent",
|
||||||
|
"rev": "2a5dc0ef3df433a36abed9ee544ea067d807c438",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NousResearch",
|
||||||
|
"repo": "hermes-agent",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -163,11 +272,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780099287,
|
"lastModified": 1781305496,
|
||||||
"narHash": "sha256-efIPwVGtIWIjWcznhaop6XN6HxnOL8800hF6CBNvlqQ=",
|
"narHash": "sha256-g8Vv4Qfc7n+lgov97REu3X6BeJtvYY0hlSUZR1GrGQQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "7d8127d308c3fb9664f7e643eec944be74ebb37d",
|
"rev": "c87a39aa979acc4848016d2220c6238390d84779",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -178,7 +287,7 @@
|
|||||||
},
|
},
|
||||||
"m3ta-nixpkgs": {
|
"m3ta-nixpkgs": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"agents": "agents",
|
"agents": "agents_2",
|
||||||
"basecamp": "basecamp",
|
"basecamp": "basecamp",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
@@ -187,11 +296,11 @@
|
|||||||
"openspec": "openspec"
|
"openspec": "openspec"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779944037,
|
"lastModified": 1781500279,
|
||||||
"narHash": "sha256-jO6zAJjgc9n3SeDJW1EbV6CEqOa9DK+2AhTgWc+ImHQ=",
|
"narHash": "sha256-810qVHwu6jVhu01FWj9dXuruK84Gw2smAlbu6FPBfeY=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "ae1fb97c21b311dc03a46e8d50867048e5568c88",
|
"rev": "050c273c65b36dc03c34a7547d80e88afff5ac48",
|
||||||
"revCount": 323,
|
"revCount": 327,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "ssh://gitea@code.m3ta.dev/m3tam3re/nixpkgs"
|
"url": "ssh://gitea@code.m3ta.dev/m3tam3re/nixpkgs"
|
||||||
},
|
},
|
||||||
@@ -252,11 +361,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-master": {
|
"nixpkgs-master": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779457550,
|
"lastModified": 1781153468,
|
||||||
"narHash": "sha256-yALoy2CrvwvNfwMtGZDRdc+jqVNHulyuM5iVK12lUAI=",
|
"narHash": "sha256-ZBRmjFtJn/XmHBV230OSabKQqxOoOJunJmBtSt1sLs0=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a9c18fd234dbe4fd8de4bac53760b785c47e94ff",
|
"rev": "cd265fd6b43f2ec1257c2e400f648895d2ad7ccd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -268,27 +377,43 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779560665,
|
"lastModified": 1772479524,
|
||||||
"narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=",
|
"narHash": "sha256-u7nCaNiMjqvKpE+uZz9hE7pgXXTmm5yvdtFaqzSzUQI=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786",
|
"rev": "4215e62dc2cd3bc705b0a423b9719ff6be378a43",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixpkgs-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779560665,
|
"lastModified": 1781074563,
|
||||||
"narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=",
|
"narHash": "sha256-md8WlXOlfnIeHeOScMTTHFyf2d6iaTwPl2apR5EQ3P4=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "9ae611a455b90cf061d8f332b977e387bda8e1ca",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_4": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1781074563,
|
||||||
|
"narHash": "sha256-md8WlXOlfnIeHeOScMTTHFyf2d6iaTwPl2apR5EQ3P4=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786",
|
"rev": "9ae611a455b90cf061d8f332b977e387bda8e1ca",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -298,17 +423,38 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nur": {
|
"npm-lockfile-fix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts",
|
"nixpkgs": [
|
||||||
"nixpkgs": "nixpkgs_3"
|
"hermes-agent",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780228894,
|
"lastModified": 1775903712,
|
||||||
"narHash": "sha256-7u/krCQx3loaM+kNi5i4N5ZGprILDed8JOl6wFrDEqI=",
|
"narHash": "sha256-2GV79U6iVH4gKAPWYrxUReB0S41ty/Y3dBLquU8AlaA=",
|
||||||
|
"owner": "jeslie0",
|
||||||
|
"repo": "npm-lockfile-fix",
|
||||||
|
"rev": "c6093acb0c0548e0f9b8b3d82918823721930fe8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "jeslie0",
|
||||||
|
"repo": "npm-lockfile-fix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nur": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-parts": "flake-parts_2",
|
||||||
|
"nixpkgs": "nixpkgs_4"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1781346642,
|
||||||
|
"narHash": "sha256-o92OOSMAB08HQgG7pW2BZVIO53Pkv4oAjLk4Iol3Iko=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "e9c97d6945177c6d9cea9e5b2f78bcbfdc3f56d2",
|
"rev": "6e4e8d731fbb3831296607d5f88de727cf7bf6de",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -325,11 +471,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779302169,
|
"lastModified": 1780479100,
|
||||||
"narHash": "sha256-OOSPtUXC4F2umtsZPkyWlPQxhXBsxF2vqBXLeI/lqIw=",
|
"narHash": "sha256-VZZ/ukjciXqiebwei2JizyOnxx0T3IeoowFWElKec4o=",
|
||||||
"owner": "Fission-AI",
|
"owner": "Fission-AI",
|
||||||
"repo": "OpenSpec",
|
"repo": "OpenSpec",
|
||||||
"rev": "79303b521068c5f525ee61db06b915fc44b098f4",
|
"rev": "1b06fddd59d8e592d5b5794a1970b22867e85b1f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -338,14 +484,128 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"pyproject-build-systems": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hermes-agent",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"pyproject-nix": "pyproject-nix",
|
||||||
|
"uv2nix": "uv2nix"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772555609,
|
||||||
|
"narHash": "sha256-3BA3HnUvJSbHJAlJj6XSy0Jmu7RyP2gyB/0fL7XuEDo=",
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "build-system-pkgs",
|
||||||
|
"rev": "c37f66a953535c394244888598947679af231863",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "build-system-pkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pyproject-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hermes-agent",
|
||||||
|
"pyproject-build-systems",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1769936401,
|
||||||
|
"narHash": "sha256-kwCOegKLZJM9v/e/7cqwg1p/YjjTAukKPqmxKnAZRgA=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "pyproject.nix",
|
||||||
|
"rev": "b0d513eeeebed6d45b4f2e874f9afba2021f7812",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "pyproject.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pyproject-nix_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hermes-agent",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772865871,
|
||||||
|
"narHash": "sha256-/ZTSg97aouL0SlPHaokA4r3iuH9QzHVuWPACD2CUCFY=",
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "pyproject.nix",
|
||||||
|
"rev": "e537db02e72d553cea470976b9733581bcf5b3ed",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "pyproject.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pyproject-nix_3": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hermes-agent",
|
||||||
|
"uv2nix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1771518446,
|
||||||
|
"narHash": "sha256-nFJSfD89vWTu92KyuJWDoTQJuoDuddkJV3TlOl1cOic=",
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "pyproject.nix",
|
||||||
|
"rev": "eb204c6b3335698dec6c7fc1da0ebc3c6df05937",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "pyproject.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"quickshell": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"dms",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1776854048,
|
||||||
|
"narHash": "sha256-lLbV66V3RMNp1l8/UelmR4YzoJ5ONtgvEtiUMJATH/o=",
|
||||||
|
"ref": "refs/heads/master",
|
||||||
|
"rev": "783c953987dc56ff0601abe6845ed96f1d00495a",
|
||||||
|
"revCount": 806,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.outfoxxed.me/quickshell/quickshell"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"rev": "783c953987dc56ff0601abe6845ed96f1d00495a",
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.outfoxxed.me/quickshell/quickshell"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"agenix": "agenix",
|
"agenix": "agenix",
|
||||||
"agent-lib": "agent-lib",
|
"agent-lib": "agent-lib",
|
||||||
|
"agents": "agents",
|
||||||
|
"dms": "dms",
|
||||||
|
"dms-plugin-registry": "dms-plugin-registry",
|
||||||
|
"hermes-agent": "hermes-agent",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"m3ta-nixpkgs": "m3ta-nixpkgs",
|
"m3ta-nixpkgs": "m3ta-nixpkgs",
|
||||||
"nix-colors": "nix-colors",
|
"nix-colors": "nix-colors",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"nur": "nur"
|
"nur": "nur"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -363,6 +623,55 @@
|
|||||||
"repo": "default",
|
"repo": "default",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"uv2nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hermes-agent",
|
||||||
|
"pyproject-build-systems",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"pyproject-nix": [
|
||||||
|
"hermes-agent",
|
||||||
|
"pyproject-build-systems",
|
||||||
|
"pyproject-nix"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1770770348,
|
||||||
|
"narHash": "sha256-A2GzkmzdYvdgmMEu5yxW+xhossP+txrYb7RuzRaqhlg=",
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "uv2nix",
|
||||||
|
"rev": "5d1b2cb4fe3158043fbafbbe2e46238abbc954b0",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "uv2nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"uv2nix_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hermes-agent",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"pyproject-nix": "pyproject-nix_3"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1773039484,
|
||||||
|
"narHash": "sha256-+boo33KYkJDw9KItpeEXXv8+65f7hHv/earxpcyzQ0I=",
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "uv2nix",
|
||||||
|
"rev": "b68be7cfeacbed9a3fa38a2b5adc0cfb81d9bb1f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "uv2nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|||||||
@@ -16,8 +16,29 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
agents = {
|
||||||
|
# url = "path:/home/m3tam3re/p/AI/AGENTS";
|
||||||
|
url = "git+ssh://gitea@code.m3ta.dev/m3tam3re/AGENTS";
|
||||||
|
};
|
||||||
|
|
||||||
agent-lib = {
|
agent-lib = {
|
||||||
url = "path:/home/m3tam3re/p/NIX/agent-lib";
|
# url = "path:/home/m3tam3re/p/NIX/agent-lib";
|
||||||
|
url = "git+ssh://gitea@code.m3ta.dev/m3tam3re/agent-lib";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
hermes-agent = {
|
||||||
|
url = "github:NousResearch/hermes-agent";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
dms = {
|
||||||
|
url = "github:AvengeMedia/DankMaterialShell/stable";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
dms-plugin-registry = {
|
||||||
|
url = "github:AvengeMedia/dms-plugin-registry";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -26,13 +47,7 @@
|
|||||||
nur.url = "github:nix-community/NUR";
|
nur.url = "github:nix-community/NUR";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = {self, ...} @ inputs: {
|
||||||
self,
|
|
||||||
nixpkgs,
|
|
||||||
...
|
|
||||||
} @ inputs: let
|
|
||||||
lib = nixpkgs.lib;
|
|
||||||
in {
|
|
||||||
# Home-Manager modules — import in nixos-config via:
|
# Home-Manager modules — import in nixos-config via:
|
||||||
# imports = [ inputs.m3ta-home.homeManagerModules.default ];
|
# imports = [ inputs.m3ta-home.homeManagerModules.default ];
|
||||||
homeManagerModules = import ./modules {
|
homeManagerModules = import ./modules {
|
||||||
|
|||||||
+13
-2
@@ -1,5 +1,16 @@
|
|||||||
# lib/default.nix — Entry point for m3ta-home library functions.
|
# lib/default.nix — Entry point for m3ta-home library functions.
|
||||||
#
|
#
|
||||||
# Called by flake.nix: import ./lib { inherit inputs; selfPath = self.outPath; }
|
# Called by flake.nix: import ./lib { inherit inputs; selfPath = self.outPath; }
|
||||||
# Re-exports mkHome and future library functions.
|
# Re-exports mkHome and focused helpers for consumers that should not depend on
|
||||||
{inputs, selfPath}: import ./mkHome.nix {inherit inputs selfPath;}
|
# m3ta-home's implementation inputs directly.
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
selfPath,
|
||||||
|
}: let
|
||||||
|
mkHomeLib = import ./mkHome.nix {inherit inputs selfPath;};
|
||||||
|
in
|
||||||
|
mkHomeLib
|
||||||
|
// {
|
||||||
|
mkHermesSkillsDir = {system, ...} @ args:
|
||||||
|
inputs.agent-lib.lib.${system}.mkHermesSkillsDir (builtins.removeAttrs args ["system"]);
|
||||||
|
}
|
||||||
|
|||||||
+10
-1
@@ -19,7 +19,10 @@
|
|||||||
# m3ta.home.sets.coding.languages.python.extra = true;
|
# m3ta.home.sets.coding.languages.python.extra = true;
|
||||||
# wayland.windowManager.hyprland.settings.monitor = [ ... ];
|
# wayland.windowManager.hyprland.settings.monitor = [ ... ];
|
||||||
#
|
#
|
||||||
{inputs, selfPath}: let
|
{
|
||||||
|
inputs,
|
||||||
|
selfPath,
|
||||||
|
}: let
|
||||||
lib = inputs.nixpkgs.lib;
|
lib = inputs.nixpkgs.lib;
|
||||||
in {
|
in {
|
||||||
mkHome = {
|
mkHome = {
|
||||||
@@ -82,6 +85,10 @@ in {
|
|||||||
[
|
[
|
||||||
# External Home Manager modules required by selectable profiles
|
# External Home Manager modules required by selectable profiles
|
||||||
inputs.agent-lib.homeManagerModules.default
|
inputs.agent-lib.homeManagerModules.default
|
||||||
|
inputs.dms.homeModules.default
|
||||||
|
inputs.dms-plugin-registry.homeModules.default
|
||||||
|
inputs.nix-colors.homeManagerModules.default
|
||||||
|
inputs.m3ta-nixpkgs.homeManagerModules.default
|
||||||
|
|
||||||
# Paths module — must be first, provides m3taHome.paths.srcRoot
|
# Paths module — must be first, provides m3taHome.paths.srcRoot
|
||||||
../modules/paths.nix
|
../modules/paths.nix
|
||||||
@@ -92,6 +99,8 @@ in {
|
|||||||
++ contextImport
|
++ contextImport
|
||||||
++ setImports;
|
++ setImports;
|
||||||
|
|
||||||
|
_module.args.m3taHomeInputs = inputs;
|
||||||
|
|
||||||
# Set the flake source root for asset path resolution
|
# Set the flake source root for asset path resolution
|
||||||
"m3ta-home".paths.srcRoot = selfPath;
|
"m3ta-home".paths.srcRoot = selfPath;
|
||||||
|
|
||||||
|
|||||||
+7
-4
@@ -8,14 +8,15 @@
|
|||||||
{
|
{
|
||||||
inputs,
|
inputs,
|
||||||
selfPath,
|
selfPath,
|
||||||
}: let
|
}: {
|
||||||
lib = inputs.nixpkgs.lib;
|
|
||||||
in {
|
|
||||||
default = {
|
default = {
|
||||||
imports = [
|
imports = [
|
||||||
# External modules
|
# External modules
|
||||||
inputs.agent-lib.homeManagerModules.default
|
inputs.agent-lib.homeManagerModules.default
|
||||||
|
inputs.dms.homeModules.default
|
||||||
|
inputs.dms-plugin-registry.homeModules.default
|
||||||
|
inputs.nix-colors.homeManagerModules.default
|
||||||
|
inputs.m3ta-nixpkgs.homeManagerModules.default
|
||||||
# Paths — must be first, provides "m3ta-home".paths.srcRoot
|
# Paths — must be first, provides "m3ta-home".paths.srcRoot
|
||||||
./paths.nix
|
./paths.nix
|
||||||
|
|
||||||
@@ -33,6 +34,8 @@ in {
|
|||||||
./../users/m3tam3re/identities/work.nix
|
./../users/m3tam3re/identities/work.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
_module.args.m3taHomeInputs = inputs;
|
||||||
|
|
||||||
# Set the source root for asset path resolution
|
# Set the source root for asset path resolution
|
||||||
"m3ta-home".paths.srcRoot = selfPath;
|
"m3ta-home".paths.srcRoot = selfPath;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
# profiles/base/default.nix — Always loaded on every host.
|
# profiles/base/default.nix — Always loaded on every host.
|
||||||
#
|
#
|
||||||
# Provides:
|
# Provides:
|
||||||
# - nix-colors and m3ta-nixpkgs HM module imports
|
|
||||||
# - Shell (nushell, fish, starship) with enable options
|
# - Shell (nushell, fish, starship) with enable options
|
||||||
# - CLI tools (bat, carapace, direnv, eza, fzf, lf, nitch, television, zellij, zoxide)
|
# - CLI tools (bat, carapace, direnv, eza, fzf, lf, nitch, television, zellij, zoxide)
|
||||||
# - Secrets management (pass-wayland)
|
# - Secrets management (pass-wayland)
|
||||||
@@ -9,21 +8,19 @@
|
|||||||
# - Base packages
|
# - Base packages
|
||||||
#
|
#
|
||||||
# NOTE: Overlays are NOT set here. The consuming flake (nixos-config) handles
|
# NOTE: Overlays are NOT set here. The consuming flake (nixos-config) handles
|
||||||
# overlays at the NixOS level via nixpkgs.overlays. This module only imports
|
# overlays at the NixOS level via nixpkgs.overlays. External HM modules are
|
||||||
# HM modules and sets user-level preferences.
|
# imported by mkHome/modules/default.nix. This module only imports base profile
|
||||||
|
# submodules and sets user-level preferences.
|
||||||
#
|
#
|
||||||
# When used standalone (not through NixOS), overlays should be set by the
|
# When used standalone (not through NixOS), overlays should be set by the
|
||||||
# standalone HM configuration or by the consuming flake.
|
# standalone HM configuration or by the consuming flake.
|
||||||
{
|
{
|
||||||
inputs,
|
|
||||||
lib,
|
lib,
|
||||||
|
m3taHomeInputs,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
inputs.nix-colors.homeManagerModules.default
|
|
||||||
inputs.m3ta-nixpkgs.homeManagerModules.default
|
|
||||||
|
|
||||||
./shell
|
./shell
|
||||||
./cli-tools
|
./cli-tools
|
||||||
./secrets
|
./secrets
|
||||||
@@ -44,7 +41,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
# ── Color scheme ──
|
# ── Color scheme ──
|
||||||
colorScheme = inputs.nix-colors.colorSchemes.dracula;
|
colorScheme = m3taHomeInputs.nix-colors.colorSchemes.dracula;
|
||||||
|
|
||||||
# ── Base packages ──
|
# ── Base packages ──
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|||||||
@@ -41,6 +41,16 @@ in {
|
|||||||
| transpose -r -d
|
| transpose -r -d
|
||||||
| load-env
|
| load-env
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Load m3tam3re secrets from agenix. The secret file is Nushell code
|
||||||
|
# containing a `load-env { ... }` block, not KEY=VALUE lines.
|
||||||
|
# `source` resolves literal paths at parse time, so use `null` when absent.
|
||||||
|
const m3tam3re_secrets_file = if ("/run/agenix/m3tam3re-secrets" | path exists) {
|
||||||
|
"/run/agenix/m3tam3re-secrets"
|
||||||
|
} else {
|
||||||
|
null
|
||||||
|
}
|
||||||
|
source $m3tam3re_secrets_file
|
||||||
'';
|
'';
|
||||||
|
|
||||||
configFile.text = ''
|
configFile.text = ''
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Desktop environment aggregator — only loaded when context=desktop.
|
# Desktop environment aggregator — only loaded when context=desktop.
|
||||||
# Includes window manager, applications, theming, and desktop session config.
|
# Includes window manager, applications, theming, and desktop session config.
|
||||||
{
|
{
|
||||||
config,
|
m3taHomeInputs,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
@@ -38,22 +38,56 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home.sessionVariables = {
|
home = {
|
||||||
WEBKIT_DISABLE_COMPOSITING_MODE = "1";
|
sessionVariables = {
|
||||||
NIXOS_OZONE_WL = "1";
|
WEBKIT_DISABLE_COMPOSITING_MODE = "1";
|
||||||
TERMINAL = "ghostty";
|
NIXOS_OZONE_WL = "1";
|
||||||
QT_QPA_PLATFORM = "wayland";
|
TERMINAL = "ghostty";
|
||||||
XDG_CURRENT_DESKTOP = "Hyprland";
|
QT_QPA_PLATFORM = "wayland";
|
||||||
XDG_SESSION_TYPE = "wayland";
|
XDG_CURRENT_DESKTOP = "Hyprland";
|
||||||
XDG_SESSION_DESKTOP = "Hyprland";
|
XDG_SESSION_TYPE = "wayland";
|
||||||
};
|
XDG_SESSION_DESKTOP = "Hyprland";
|
||||||
|
};
|
||||||
|
|
||||||
home.sessionPath = [
|
sessionPath = [
|
||||||
"\${XDG_BIN_HOME}"
|
"\${XDG_BIN_HOME}"
|
||||||
"\${HOME}/.cargo/bin"
|
"\${HOME}/.cargo/bin"
|
||||||
"$HOME/.npm-global/bin"
|
"$HOME/.npm-global/bin"
|
||||||
"$HOME/.cache/.bun/bin"
|
"$HOME/.cache/.bun/bin"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
pointerCursor = {
|
||||||
|
gtk.enable = true;
|
||||||
|
package = pkgs.bibata-cursors;
|
||||||
|
name = "Bibata-Modern-Ice";
|
||||||
|
size = 20;
|
||||||
|
};
|
||||||
|
|
||||||
|
packages = with pkgs; [
|
||||||
|
appimage-run
|
||||||
|
bemoji
|
||||||
|
google-chrome
|
||||||
|
dconf
|
||||||
|
(element-desktop.override {
|
||||||
|
commandLineArgs = "--password-store=gnome-libsecret";
|
||||||
|
})
|
||||||
|
m3taHomeInputs.hermes-agent.packages.${pkgs.stdenv.hostPlatform.system}.desktop
|
||||||
|
launch-webapp
|
||||||
|
file-roller
|
||||||
|
gsettings-desktop-schemas
|
||||||
|
seahorse
|
||||||
|
sushi
|
||||||
|
ksnip
|
||||||
|
nwg-look
|
||||||
|
qt6Packages.qt6ct
|
||||||
|
rose-pine-hyprcursor
|
||||||
|
remmina
|
||||||
|
slack
|
||||||
|
vivaldi
|
||||||
|
vivaldi-ffmpeg-codecs
|
||||||
|
vibetyper
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
fonts.fontconfig.enable = true;
|
fonts.fontconfig.enable = true;
|
||||||
|
|
||||||
@@ -64,59 +98,30 @@
|
|||||||
settings = {
|
settings = {
|
||||||
font-family = "Fira Code";
|
font-family = "Fira Code";
|
||||||
copy-on-select = "clipboard";
|
copy-on-select = "clipboard";
|
||||||
foreground = "#${config.colorScheme.palette.base05}";
|
theme = "dankcolors";
|
||||||
background = "#${config.colorScheme.palette.base00}";
|
# foreground = "#${config.colorScheme.palette.base05}";
|
||||||
selection-foreground = "#${config.colorScheme.palette.base07}";
|
# background = "#${config.colorScheme.palette.base00}";
|
||||||
selection-background = "#${config.colorScheme.palette.base02}";
|
# selection-foreground = "#${config.colorScheme.palette.base07}";
|
||||||
cursor-color = "#${config.colorScheme.palette.base05}";
|
# selection-background = "#${config.colorScheme.palette.base02}";
|
||||||
palette = [
|
# cursor-color = "#${config.colorScheme.palette.base05}";
|
||||||
"0=#${config.colorScheme.palette.base01}"
|
# palette = [
|
||||||
"1=#${config.colorScheme.palette.base08}"
|
# "0=#${config.colorScheme.palette.base01}"
|
||||||
"2=#${config.colorScheme.palette.base0B}"
|
# "1=#${config.colorScheme.palette.base08}"
|
||||||
"3=#${config.colorScheme.palette.base0A}"
|
# "2=#${config.colorScheme.palette.base0B}"
|
||||||
"4=#${config.colorScheme.palette.base0D}"
|
# "3=#${config.colorScheme.palette.base0A}"
|
||||||
"5=#${config.colorScheme.palette.base0E}"
|
# "4=#${config.colorScheme.palette.base0D}"
|
||||||
"6=#${config.colorScheme.palette.base0C}"
|
# "5=#${config.colorScheme.palette.base0E}"
|
||||||
"7=#${config.colorScheme.palette.base05}"
|
# "6=#${config.colorScheme.palette.base0C}"
|
||||||
"8=#${config.colorScheme.palette.base03}"
|
# "7=#${config.colorScheme.palette.base05}"
|
||||||
"9=#${config.colorScheme.palette.base08}"
|
# "8=#${config.colorScheme.palette.base03}"
|
||||||
"10=#${config.colorScheme.palette.base0B}"
|
# "9=#${config.colorScheme.palette.base08}"
|
||||||
"11=#${config.colorScheme.palette.base0A}"
|
# "10=#${config.colorScheme.palette.base0B}"
|
||||||
"12=#${config.colorScheme.palette.base0D}"
|
# "11=#${config.colorScheme.palette.base0A}"
|
||||||
"13=#${config.colorScheme.palette.base0E}"
|
# "12=#${config.colorScheme.palette.base0D}"
|
||||||
"14=#${config.colorScheme.palette.base0C}"
|
# "13=#${config.colorScheme.palette.base0E}"
|
||||||
"15=#${config.colorScheme.palette.base07}"
|
# "14=#${config.colorScheme.palette.base0C}"
|
||||||
];
|
# "15=#${config.colorScheme.palette.base07}"
|
||||||
|
# ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home.pointerCursor = {
|
|
||||||
gtk.enable = true;
|
|
||||||
package = pkgs.bibata-cursors;
|
|
||||||
name = "Bibata-Modern-Ice";
|
|
||||||
size = 20;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
appimage-run
|
|
||||||
bemoji
|
|
||||||
eigent
|
|
||||||
(element-desktop.override {
|
|
||||||
commandLineArgs = "--password-store=gnome-libsecret";
|
|
||||||
})
|
|
||||||
launch-webapp
|
|
||||||
file-roller
|
|
||||||
hyprpanel
|
|
||||||
hyprpaper-random
|
|
||||||
seahorse
|
|
||||||
sushi
|
|
||||||
ksnip
|
|
||||||
nwg-look
|
|
||||||
rose-pine-hyprcursor
|
|
||||||
remmina
|
|
||||||
slack
|
|
||||||
vivaldi
|
|
||||||
vivaldi-ffmpeg-codecs
|
|
||||||
vibetyper
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# GTK and Qt theming — Dracula theme with matching icons and cursor.
|
# GTK and Qt theming — system-wide dark Adwaita/libadwaita-compatible theme.
|
||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
config,
|
||||||
@@ -11,13 +11,14 @@
|
|||||||
|
|
||||||
gtk = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
colorScheme = "dark";
|
||||||
theme = {
|
theme = {
|
||||||
name = "Dracula";
|
name = "adw-gtk3-dark";
|
||||||
package = pkgs.dracula-theme;
|
package = pkgs.adw-gtk3;
|
||||||
};
|
};
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
name = "Dracula";
|
name = "Papirus-Dark";
|
||||||
package = pkgs.dracula-icon-theme;
|
package = pkgs.papirus-icon-theme;
|
||||||
};
|
};
|
||||||
gtk4.theme = config.gtk.theme;
|
gtk4.theme = config.gtk.theme;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -4,5 +4,6 @@
|
|||||||
./hyprland.nix
|
./hyprland.nix
|
||||||
./wayland.nix
|
./wayland.nix
|
||||||
./rofi.nix
|
./rofi.nix
|
||||||
|
./dms.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
# DankMaterialShell user-session configuration.
|
||||||
|
# External DMS Home-Manager modules are imported by mkHome/modules/default.nix
|
||||||
|
# so this file only owns the m3ta-home feature flag and desired defaults.
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.desktop.wm.dms;
|
||||||
|
in {
|
||||||
|
options.desktop.wm.dms.enable = mkEnableOption "DankMaterialShell desktop shell";
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
programs.dank-material-shell = {
|
||||||
|
enable = true;
|
||||||
|
systemd.enable = true;
|
||||||
|
enableDynamicTheming = true;
|
||||||
|
enableClipboardPaste = true;
|
||||||
|
|
||||||
|
plugins = {
|
||||||
|
dankBatteryAlerts.enable = true;
|
||||||
|
emojiLauncher.enable = true;
|
||||||
|
dankPomodoroTimer.enable = true;
|
||||||
|
dankVault.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -16,12 +16,12 @@ in {
|
|||||||
xwayland = {
|
xwayland = {
|
||||||
force_zero_scaling = true;
|
force_zero_scaling = true;
|
||||||
};
|
};
|
||||||
|
source = [
|
||||||
|
"~/.config/hypr/dms/colors.conf"
|
||||||
|
"~/.config/hypr/dms/layout.conf"
|
||||||
|
"~/.config/hypr/dms/outputs.conf"
|
||||||
|
];
|
||||||
exec-once = [
|
exec-once = [
|
||||||
"hyprpanel"
|
|
||||||
"while ! hyprpaper-random; do sleep 0.5; done"
|
|
||||||
"wl-paste --type text --watch cliphist store"
|
|
||||||
"wl-paste --type image --watch cliphist store"
|
|
||||||
"vibetyper"
|
"vibetyper"
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -29,12 +29,14 @@ in {
|
|||||||
"XCURSOR_SIZE,32"
|
"XCURSOR_SIZE,32"
|
||||||
"HYPRCURSOR_THEME,Bibata-Modern-Ice"
|
"HYPRCURSOR_THEME,Bibata-Modern-Ice"
|
||||||
"WLR_NO_HARDWARE_CURSORS,1"
|
"WLR_NO_HARDWARE_CURSORS,1"
|
||||||
"GTK_THEME,Dracula"
|
|
||||||
"XDG_CURRENT_DESKTOP,Hyprland"
|
"XDG_CURRENT_DESKTOP,Hyprland"
|
||||||
"XDG_SESSION_TYPE,wayland"
|
"XDG_SESSION_TYPE,wayland"
|
||||||
"XDG_SESSION_DESKTOP,Hyprland"
|
"XDG_SESSION_DESKTOP,Hyprland"
|
||||||
"XKB_DEFAULT_LAYOUT,de"
|
"XKB_DEFAULT_LAYOUT,de"
|
||||||
"NIXOS_OZONE_WL,1"
|
"NIXOS_OZONE_WL,1"
|
||||||
|
"QT_QPA_PLATFORM,wayland;xcb"
|
||||||
|
"QT_QPA_PLATFORMTHEME,gtk3"
|
||||||
|
"QT_QPA_PLATFORMTHEME_QT6,gtk3"
|
||||||
];
|
];
|
||||||
|
|
||||||
input = {
|
input = {
|
||||||
@@ -50,8 +52,6 @@ in {
|
|||||||
gaps_in = 5;
|
gaps_in = 5;
|
||||||
gaps_out = 5;
|
gaps_out = 5;
|
||||||
border_size = 1;
|
border_size = 1;
|
||||||
"col.active_border" = "rgba(9742b5ee) rgba(9742b5ee) 45deg";
|
|
||||||
"col.inactive_border" = "rgba(${config.colorScheme.palette.base03}aa)";
|
|
||||||
layout = "dwindle";
|
layout = "dwindle";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -60,7 +60,7 @@ in {
|
|||||||
enabled = true;
|
enabled = true;
|
||||||
range = 60;
|
range = 60;
|
||||||
render_power = 3;
|
render_power = 3;
|
||||||
color = "rgba(${config.colorScheme.palette.base00}66)";
|
# color = "rgba(${config.colorScheme.palette.base00}66)";
|
||||||
offset = "1 2";
|
offset = "1 2";
|
||||||
scale = 0.97;
|
scale = 0.97;
|
||||||
};
|
};
|
||||||
@@ -97,14 +97,14 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
device = [
|
device = [
|
||||||
{
|
|
||||||
name = "epic-mouse-v1";
|
|
||||||
sensitivity = -0.5;
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
name = "zsa-technology-labs-moonlander-mark-i";
|
name = "zsa-technology-labs-moonlander-mark-i";
|
||||||
kb_layout = "us";
|
kb_layout = "us";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "vibe-typer-virtual-keyboard";
|
||||||
|
kb_layout = "de";
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "keychron-keychron-k7";
|
name = "keychron-keychron-k7";
|
||||||
kb_layout = "us";
|
kb_layout = "us";
|
||||||
@@ -166,14 +166,14 @@ in {
|
|||||||
"$mainMod, r, exec, hyprctl dispatch focuswindow \"initialtitle:.*alert-box.*\" && hyprctl dispatch moveactive exact 4300 102 && hyprctl dispatch focuswindow \"initialtitle:.*chat-box.*\" && hyprctl dispatch moveactive exact 4300 512"
|
"$mainMod, r, exec, hyprctl dispatch focuswindow \"initialtitle:.*alert-box.*\" && hyprctl dispatch moveactive exact 4300 102 && hyprctl dispatch focuswindow \"initialtitle:.*chat-box.*\" && hyprctl dispatch moveactive exact 4300 512"
|
||||||
"$mainMod, b, exec, uwsm app -- thunar"
|
"$mainMod, b, exec, uwsm app -- thunar"
|
||||||
"$mainMod SHIFT, B, exec, uwsm app -- vivaldi"
|
"$mainMod SHIFT, B, exec, uwsm app -- vivaldi"
|
||||||
"$mainMod, Escape, exec, uwsm app -- wlogout -p layer-shell"
|
"$mainMod, Escape, exec, uwsm app -- dms ipc call powermenu toggle"
|
||||||
"$mainMod, Space, togglefloating"
|
# "$mainMod, Space, togglefloating"
|
||||||
"$mainMod, q, killactive"
|
"$mainMod, q, killactive"
|
||||||
"$mainMod, M, exit"
|
"$mainMod, M, exit"
|
||||||
"$mainMod, F, fullscreen"
|
"$mainMod, F, fullscreen"
|
||||||
"$mainMod SHIFT, V, togglefloating"
|
"$mainMod SHIFT, V, togglefloating"
|
||||||
"$mainMod, D, exec, uwsm app -- rofi -show drun -run-command \"uwsm app -- {cmd}\""
|
"$mainMod, D, exec, uwsm app -- dms ipc call spotlight toggle"
|
||||||
"$mainMod, V, exec, uwsm app -- cliphist list | rofi -dmenu | cliphist decode | wl-copy"
|
"$mainMod, V, exec, uwsm app -- dms ipc call clipboard toggle"
|
||||||
"$mainMod, C, exec, bash -c 'FILE=/tmp/screenshot_$(date +%s).png; grim -g \"$(slurp)\" \"$FILE\" && ksnip \"$FILE\"'"
|
"$mainMod, C, exec, bash -c 'FILE=/tmp/screenshot_$(date +%s).png; grim -g \"$(slurp)\" \"$FILE\" && ksnip \"$FILE\"'"
|
||||||
"$mainMod SHIFT, S, exec, uwsm app -- rofi -show emoji"
|
"$mainMod SHIFT, S, exec, uwsm app -- rofi -show emoji"
|
||||||
"$mainMod, P, exec, uwsm app -- rofi-pass"
|
"$mainMod, P, exec, uwsm app -- rofi-pass"
|
||||||
@@ -210,8 +210,6 @@ in {
|
|||||||
];
|
];
|
||||||
|
|
||||||
bindr = [
|
bindr = [
|
||||||
"$mainMod, R, exec, stt-ptt stop"
|
|
||||||
"$mainMod, S, exec, stt-ptt format-stop"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
bindm = [
|
bindm = [
|
||||||
@@ -221,99 +219,99 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.hypridle = {
|
# services.hypridle = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
settings = {
|
# settings = {
|
||||||
general = {
|
# general = {
|
||||||
before_sleep_cmd = "hyprlock";
|
# before_sleep_cmd = "hyprlock";
|
||||||
after_sleep_cmd = "hyprctl dispatch dpms on";
|
# after_sleep_cmd = "hyprctl dispatch dpms on";
|
||||||
inhibit_sleep = 3;
|
# inhibit_sleep = 3;
|
||||||
};
|
# };
|
||||||
listener = [
|
# listener = [
|
||||||
{
|
# {
|
||||||
timeout = 300;
|
# timeout = 300;
|
||||||
on-timeout = "hyprlock";
|
# on-timeout = "hyprlock";
|
||||||
}
|
# }
|
||||||
{
|
# {
|
||||||
timeout = 420;
|
# timeout = 420;
|
||||||
on-timeout = "hyprctl dispatch dpms off";
|
# on-timeout = "hyprctl dispatch dpms off";
|
||||||
on-resume = "hyprctl dispatch dpms on";
|
# on-resume = "hyprctl dispatch dpms on";
|
||||||
}
|
# }
|
||||||
];
|
# ];
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
|
|
||||||
services.hyprpaper.enable = true;
|
# services.hyprpaper.enable = true;
|
||||||
|
|
||||||
programs.hyprlock = {
|
# programs.hyprlock = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
settings = {
|
# settings = {
|
||||||
"$font" = "JetBrainsMono Nerd Font";
|
# "$font" = "JetBrainsMono Nerd Font";
|
||||||
"$base" = "rgb(${config.colorScheme.palette.base00})";
|
# "$base" = "rgb(${config.colorScheme.palette.base00})";
|
||||||
"$text" = "rgb(${config.colorScheme.palette.base05})";
|
# "$text" = "rgb(${config.colorScheme.palette.base05})";
|
||||||
"$textAlpha" = "${config.colorScheme.palette.base05}";
|
# "$textAlpha" = "${config.colorScheme.palette.base05}";
|
||||||
"$accentAlpha" = "${config.colorScheme.palette.base0D}";
|
# "$accentAlpha" = "${config.colorScheme.palette.base0D}";
|
||||||
"$red" = "rgb(${config.colorScheme.palette.base08})";
|
# "$red" = "rgb(${config.colorScheme.palette.base08})";
|
||||||
"$yellow" = "rgb(${config.colorScheme.palette.base0A})";
|
# "$yellow" = "rgb(${config.colorScheme.palette.base0A})";
|
||||||
|
|
||||||
general = {
|
# general = {
|
||||||
hide_cursor = true;
|
# hide_cursor = true;
|
||||||
};
|
# };
|
||||||
|
|
||||||
background = {
|
# background = {
|
||||||
monitor = "";
|
# monitor = "";
|
||||||
path = "${config.home.homeDirectory}/.config/hypr/wallpapers/wallhaven-lmmo8r.jpg";
|
# path = "${config.home.homeDirectory}/.config/hypr/wallpapers/wallhaven-lmmo8r.jpg";
|
||||||
blur_passes = 0;
|
# blur_passes = 0;
|
||||||
color = "rgb(${config.colorScheme.palette.base00})";
|
# color = "rgb(${config.colorScheme.palette.base00})";
|
||||||
};
|
# };
|
||||||
|
|
||||||
label = [
|
# label = [
|
||||||
{
|
# {
|
||||||
monitor = "";
|
# monitor = "";
|
||||||
text = "$TIME";
|
# text = "$TIME";
|
||||||
color = "$text";
|
# color = "$text";
|
||||||
font_size = 90;
|
# font_size = 90;
|
||||||
font_family = "$font";
|
# font_family = "$font";
|
||||||
position = "30, 0";
|
# position = "30, 0";
|
||||||
halign = "left";
|
# halign = "left";
|
||||||
valign = "top";
|
# valign = "top";
|
||||||
}
|
# }
|
||||||
{
|
# {
|
||||||
monitor = "";
|
# monitor = "";
|
||||||
text = ''cmd[update:43200000] echo "$(date +"%A, %d %B %Y")"'';
|
# text = ''cmd[update:43200000] echo "$(date +"%A, %d %B %Y")"'';
|
||||||
color = "$text";
|
# color = "$text";
|
||||||
font_size = 25;
|
# font_size = 25;
|
||||||
font_family = "$font";
|
# font_family = "$font";
|
||||||
position = "30, -150";
|
# position = "30, -150";
|
||||||
halign = "left";
|
# halign = "left";
|
||||||
valign = "top";
|
# valign = "top";
|
||||||
}
|
# }
|
||||||
];
|
# ];
|
||||||
|
|
||||||
input-field = [
|
# input-field = [
|
||||||
{
|
# {
|
||||||
monitor = "";
|
# monitor = "";
|
||||||
size = "300, 60";
|
# size = "300, 60";
|
||||||
outline_thickness = 4;
|
# outline_thickness = 4;
|
||||||
dots_size = 0.2;
|
# dots_size = 0.2;
|
||||||
dots_spacing = 0.2;
|
# dots_spacing = 0.2;
|
||||||
dots_center = true;
|
# dots_center = true;
|
||||||
outer_color = "rgb(${config.colorScheme.palette.base0D})";
|
# outer_color = "rgb(${config.colorScheme.palette.base0D})";
|
||||||
inner_color = "rgb(${config.colorScheme.palette.base00})";
|
# inner_color = "rgb(${config.colorScheme.palette.base00})";
|
||||||
font_color = "rgb(${config.colorScheme.palette.base05})";
|
# font_color = "rgb(${config.colorScheme.palette.base05})";
|
||||||
fade_on_empty = false;
|
# fade_on_empty = false;
|
||||||
placeholder_text = ''<span foreground="##${config.colorScheme.palette.base05}"> Logged in as <span foreground="##${config.colorScheme.palette.base0D}">$USER</span></span>'';
|
# placeholder_text = ''<span foreground="##${config.colorScheme.palette.base05}"> Logged in as <span foreground="##${config.colorScheme.palette.base0D}">$USER</span></span>'';
|
||||||
hide_input = false;
|
# hide_input = false;
|
||||||
check_color = "rgb(${config.colorScheme.palette.base0D})";
|
# check_color = "rgb(${config.colorScheme.palette.base0D})";
|
||||||
fail_color = "rgb(${config.colorScheme.palette.base08})";
|
# fail_color = "rgb(${config.colorScheme.palette.base08})";
|
||||||
fail_text = ''<i>$FAIL <b>($ATTEMPTS)</b></i>'';
|
# fail_text = ''<i>$FAIL <b>($ATTEMPTS)</b></i>'';
|
||||||
capslock_color = "rgb(${config.colorScheme.palette.base0A})";
|
# capslock_color = "rgb(${config.colorScheme.palette.base0A})";
|
||||||
position = "0, -35";
|
# position = "0, -35";
|
||||||
halign = "center";
|
# halign = "center";
|
||||||
valign = "center";
|
# valign = "center";
|
||||||
}
|
# }
|
||||||
];
|
# ];
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
# AI agent system — OpenCode, Pi, and MCP server configuration.
|
# AI agent system — OpenCode, Pi, and MCP server configuration.
|
||||||
# Relies on coding.agents options provided by home/common/default.nix
|
# Relies on coding.agents options provided by home/common/default.nix
|
||||||
# (inputs.m3ta-nixpkgs.homeManagerModules.default).
|
# (m3taHomeInputs.m3ta-nixpkgs.homeManagerModules.default).
|
||||||
{
|
{
|
||||||
config,
|
m3taHomeInputs,
|
||||||
inputs,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
pkgs,
|
||||||
videoDrivers ? [],
|
videoDrivers ? [],
|
||||||
...
|
...
|
||||||
@@ -56,12 +54,17 @@
|
|||||||
''exec bunx mcp-remote@latest https://mcp.honcho.dev --header "Authorization:Bearer $(cat /run/agenix/honcho-key)" --header "X-Honcho-User-Name:m3tam3re"''
|
''exec bunx mcp-remote@latest https://mcp.honcho.dev --header "Authorization:Bearer $(cat /run/agenix/honcho-key)" --header "X-Honcho-User-Name:m3tam3re"''
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
Playwright = {
|
||||||
|
command = "bash";
|
||||||
|
args = ["-c" "exec bunx @playwright/mcp@latest"];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
agenix-cli
|
agenix-cli
|
||||||
agent-browser
|
agent-browser
|
||||||
|
m3taHomeInputs.agent-lib.packages.${pkgs.stdenv.hostPlatform.system}.agent-lib-cli
|
||||||
beads
|
beads
|
||||||
pi-coding-agent
|
pi-coding-agent
|
||||||
(qmd.override {
|
(qmd.override {
|
||||||
@@ -71,5 +74,6 @@
|
|||||||
# opencode-desktop
|
# opencode-desktop
|
||||||
openshell
|
openshell
|
||||||
openspec
|
openspec
|
||||||
|
openwork
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,4 @@
|
|||||||
{
|
{lib, ...}: {
|
||||||
inputs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
coding.agents.opencode = {
|
|
||||||
enable = true;
|
|
||||||
agentsInput = inputs.agents;
|
|
||||||
};
|
|
||||||
|
|
||||||
coding.opencode = {
|
coding.opencode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
@@ -236,12 +227,11 @@
|
|||||||
output = 64000;
|
output = 64000;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"claude-opus-4-6" = {
|
"claude-opus-4-8" = {
|
||||||
name = "Claude Opus 4.6";
|
name = "Claude Opus 4.8";
|
||||||
options = {
|
options = {
|
||||||
thinking = {
|
thinking = {
|
||||||
type = "enabled";
|
type = "adaptive";
|
||||||
budget_tokens = 16000;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
limit = {
|
limit = {
|
||||||
|
|||||||
@@ -1,35 +1,6 @@
|
|||||||
{inputs, ...}: {
|
{...}: {
|
||||||
coding.agents.pi = {
|
coding.agents.pi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
agentsInput = inputs.agents;
|
|
||||||
|
|
||||||
modelOverrides = {
|
|
||||||
chiron = "openai-codex/gpt-5.5";
|
|
||||||
chiron-forge = "openai-codex/gpt-5.5";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Coding rules for Pi agent
|
|
||||||
# Rules sourced from AGENTS repo
|
|
||||||
codingRules = {
|
|
||||||
# Language-specific rules
|
|
||||||
languages = [
|
|
||||||
"nix" # Nix language conventions
|
|
||||||
];
|
|
||||||
|
|
||||||
# Standard concerns from AGENTS repo
|
|
||||||
concerns = [
|
|
||||||
"coding-style" # General coding principles
|
|
||||||
"naming" # Naming conventions (camelCase, snake_case, etc.)
|
|
||||||
"documentation" # Documentation standards
|
|
||||||
"testing" # Testing guidelines (Arrange-Act-Assert)
|
|
||||||
"git-workflow" # Conventional commits, branch naming
|
|
||||||
"git-identity" # Git identity configuration for agents
|
|
||||||
"project-structure" # Project layout conventions
|
|
||||||
];
|
|
||||||
|
|
||||||
# No framework-specific rules for NixOS config
|
|
||||||
frameworks = [];
|
|
||||||
};
|
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
packages = [
|
packages = [
|
||||||
|
|||||||
@@ -44,107 +44,107 @@
|
|||||||
programs.ssh = {
|
programs.ssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableDefaultConfig = false;
|
enableDefaultConfig = false;
|
||||||
matchBlocks = {
|
settings = {
|
||||||
"github.com" = {
|
"github.com" = {
|
||||||
hostname = "github.com";
|
HostName = "github.com";
|
||||||
user = "m3tam3re";
|
User = "m3tam3re";
|
||||||
port = 22;
|
Port = 22;
|
||||||
identityFile = "~/.ssh/github";
|
IdentityFile = "~/.ssh/github";
|
||||||
};
|
};
|
||||||
"code.m3ta.dev" = {
|
"code.m3ta.dev" = {
|
||||||
hostname = "code.m3ta.dev";
|
HostName = "code.m3ta.dev";
|
||||||
user = "m3tam3re";
|
User = "m3tam3re";
|
||||||
identityFile = "~/.ssh/gitea";
|
IdentityFile = "~/.ssh/gitea";
|
||||||
};
|
};
|
||||||
"lkk-nix-1" = {
|
"lkk-nix-1" = {
|
||||||
hostname = "89.58.10.189";
|
HostName = "89.58.10.189";
|
||||||
user = "lkk-admin";
|
User = "lkk-admin";
|
||||||
identityFile = "~/.ssh/lkk-admin";
|
IdentityFile = "~/.ssh/lkk-admin";
|
||||||
};
|
};
|
||||||
"m3-r1" = {
|
"m3-r1" = {
|
||||||
hostname = "202.61.226.110";
|
HostName = "202.61.226.110";
|
||||||
user = "m3tam3re";
|
User = "m3tam3re";
|
||||||
identityFile = "~/.ssh/m3tam3re";
|
IdentityFile = "~/.ssh/m3tam3re";
|
||||||
};
|
};
|
||||||
"m3-deck" = {
|
"m3-deck" = {
|
||||||
hostname = "192.168.178.193";
|
HostName = "192.168.178.193";
|
||||||
user = "m3tam3re";
|
User = "m3tam3re";
|
||||||
identityFile = "~/.ssh/m3tam3re";
|
IdentityFile = "~/.ssh/m3tam3re";
|
||||||
};
|
};
|
||||||
"m3-kratos-vm" = {
|
"m3-kratos-vm" = {
|
||||||
hostname = "192.168.122.43";
|
HostName = "192.168.122.43";
|
||||||
user = "m3tam3re";
|
User = "m3tam3re";
|
||||||
identityFile = "~/.ssh/m3tam3re";
|
IdentityFile = "~/.ssh/m3tam3re";
|
||||||
};
|
};
|
||||||
"m3-helios" = {
|
"m3-helios" = {
|
||||||
hostname = "192.168.178.210";
|
HostName = "192.168.178.210";
|
||||||
user = "m3tam3re";
|
User = "m3tam3re";
|
||||||
identityFile = "~/.ssh/m3tam3re";
|
IdentityFile = "~/.ssh/m3tam3re";
|
||||||
};
|
};
|
||||||
"m3-ares" = {
|
"m3-ares" = {
|
||||||
hostname = "192.168.1.30";
|
HostName = "192.168.1.30";
|
||||||
user = "m3tam3re";
|
User = "m3tam3re";
|
||||||
identityFile = "~/.ssh/m3tam3re";
|
IdentityFile = "~/.ssh/m3tam3re";
|
||||||
};
|
};
|
||||||
"m3-atlas" = {
|
"m3-atlas" = {
|
||||||
hostname = "152.53.85.162";
|
HostName = "152.53.85.162";
|
||||||
user = "m3tam3re";
|
User = "m3tam3re";
|
||||||
identityFile = "~/.ssh/m3tam3re";
|
IdentityFile = "~/.ssh/m3tam3re";
|
||||||
};
|
};
|
||||||
"m3-hermes" = {
|
"m3-hermes" = {
|
||||||
hostname = "204.168.229.93";
|
HostName = "204.168.229.93";
|
||||||
user = "m3tam3re";
|
User = "m3tam3re";
|
||||||
identityFile = "~/.ssh/m3tam3re";
|
IdentityFile = "~/.ssh/m3tam3re";
|
||||||
};
|
};
|
||||||
"hermes" = {
|
"hermes" = {
|
||||||
hostname = "46.224.0.92";
|
HostName = "46.224.0.92";
|
||||||
user = "admin";
|
User = "admin";
|
||||||
identityFile = "~/.ssh/m3tam3re";
|
IdentityFile = "~/.ssh/m3tam3re";
|
||||||
};
|
};
|
||||||
"m3-zelda" = {
|
"m3-zelda" = {
|
||||||
hostname = "95.217.189.186";
|
HostName = "95.217.189.186";
|
||||||
user = "m3tam3re";
|
User = "m3tam3re";
|
||||||
identityFile = "~/.ssh/m3tam3re";
|
IdentityFile = "~/.ssh/m3tam3re";
|
||||||
};
|
};
|
||||||
"m3-skynet" = {
|
"m3-skynet" = {
|
||||||
hostname = "m3-skynet";
|
HostName = "m3-skynet";
|
||||||
user = "admin";
|
User = "admin";
|
||||||
identityFile = "~/.ssh/m3tam3re";
|
IdentityFile = "~/.ssh/m3tam3re";
|
||||||
};
|
};
|
||||||
"m3-prox-1" = {
|
"m3-prox-1" = {
|
||||||
hostname = "192.168.1.110";
|
HostName = "192.168.1.110";
|
||||||
user = "root";
|
User = "root";
|
||||||
identityFile = "~/.ssh/m3tam3re";
|
IdentityFile = "~/.ssh/m3tam3re";
|
||||||
};
|
};
|
||||||
"shp-old" = {
|
"shp-old" = {
|
||||||
hostname = "95.217.3.250";
|
HostName = "95.217.3.250";
|
||||||
port = 2222;
|
Port = 2222;
|
||||||
user = "m3tam3re";
|
User = "m3tam3re";
|
||||||
identityFile = "~/.ssh/self-host-playbook";
|
IdentityFile = "~/.ssh/self-host-playbook";
|
||||||
};
|
};
|
||||||
"shp-1" = {
|
"shp-1" = {
|
||||||
hostname = "95.217.189.186";
|
HostName = "95.217.189.186";
|
||||||
port = 2222;
|
Port = 2222;
|
||||||
user = "m3tam3re";
|
User = "m3tam3re";
|
||||||
identityFile = "~/.ssh/self-host-playbook";
|
IdentityFile = "~/.ssh/self-host-playbook";
|
||||||
};
|
};
|
||||||
"AZ-CLD-1" = {
|
"AZ-CLD-1" = {
|
||||||
hostname = "152.53.186.119";
|
HostName = "152.53.186.119";
|
||||||
user = "sascha.koenig";
|
User = "sascha.koenig";
|
||||||
port = 2022;
|
Port = 2022;
|
||||||
identityFile = "~/.ssh/sascha.koenig";
|
IdentityFile = "~/.ssh/sascha.koenig";
|
||||||
};
|
};
|
||||||
"AZ-PRM-1" = {
|
"AZ-PRM-1" = {
|
||||||
hostname = "192.168.152.76";
|
HostName = "192.168.152.76";
|
||||||
user = "sascha.koenig";
|
User = "sascha.koenig";
|
||||||
port = 2022;
|
Port = 2022;
|
||||||
identityFile = "~/.ssh/sascha.koenig";
|
IdentityFile = "~/.ssh/sascha.koenig";
|
||||||
};
|
};
|
||||||
"git.az-gruppe.com" = {
|
"git.az-gruppe.com" = {
|
||||||
hostname = "git.az-gruppe.com";
|
HostName = "git.az-gruppe.com";
|
||||||
port = 2022;
|
Port = 2022;
|
||||||
user = "sascha.koenig";
|
User = "sascha.koenig";
|
||||||
identityFile = "~/.ssh/sascha.koenig";
|
IdentityFile = "~/.ssh/sascha.koenig";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user