diff --git a/flake.lock b/flake.lock index 97468df..ccc66c1 100644 --- a/flake.lock +++ b/flake.lock @@ -130,11 +130,11 @@ }, "den": { "locked": { - "lastModified": 1775633596, - "narHash": "sha256-xKG0CR/ivtpEB7ako+3hObH2rrXZLhEZ7x7wtfyT1h8=", + "lastModified": 1775702491, + "narHash": "sha256-5BCNtE/zCLSheltliy4hTdwsq0Boj/W1XRIX8n89nqA=", "owner": "vic", "repo": "den", - "rev": "6ca251e7ccbd0cee63b9f08213be35856c53343c", + "rev": "d267c458e384b57317d06d45f7c65f7fb03fae4b", "type": "github" }, "original": { @@ -191,11 +191,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1775634720, - "narHash": "sha256-R5ETx0HEFybabKxkUkhssq/F+mjUqsKLBrOHl4L+EcA=", + "lastModified": 1775721346, + "narHash": "sha256-ogqjruvVBYEj8sWM3viOucSo1Pna9c147EKQOfA+p3I=", "owner": "nix-community", "repo": "fenix", - "rev": "dd74d9dec9b1d02044714cea439a138716e9545e", + "rev": "99fde43dfee2a672e4e37ef211e0844337e5b725", "type": "github" }, "original": { @@ -441,11 +441,11 @@ ] }, "locked": { - "lastModified": 1775622785, - "narHash": "sha256-/yFxO+7oS1SymDfJ2iVO7K5vJKcYfe9XGIJ+quLqz0Q=", + "lastModified": 1775683737, + "narHash": "sha256-oBYyowo6yfgb95Z78s3uTnAd9KkpJpwzjJbfnpLaM2Y=", "owner": "nix-community", "repo": "home-manager", - "rev": "527e47b78fe67213072f706bf933a9705a8c4974", + "rev": "7ba4ee4228ed36123c7cb75d50524b43514ef992", "type": "github" }, "original": { @@ -457,11 +457,11 @@ "homebrew-cask": { "flake": false, "locked": { - "lastModified": 1775635369, - "narHash": "sha256-50sHorVfGdFsptE9mPNH3bK4n52qCNATcwiKkZHUMdY=", + "lastModified": 1775700724, + "narHash": "sha256-qQm9uIF+tI7gamLMa7DSXSQQzLQalEtOa7PHPxNkbr8=", "owner": "homebrew", "repo": "homebrew-cask", - "rev": "3c70b3e0a7d7b8917376bc1680f0f96a80251a3d", + "rev": "c622bff3b88557e3c870104db0426b93e0767a8f", "type": "github" }, "original": { @@ -473,11 +473,11 @@ "homebrew-core": { "flake": false, "locked": { - "lastModified": 1775628396, - "narHash": "sha256-1bQOqEFycUYXNUA52IwK7N0Zc8KW6YqzWwGf5fHujl0=", + "lastModified": 1775721921, + "narHash": "sha256-s6K2QbKa4OJlblFp3zMSh0/2PM2zpWpAd4ZnREirj/I=", "owner": "homebrew", "repo": "homebrew-core", - "rev": "2fa402988e1c54ade4f2bad0af97b35d0c1e7ca6", + "rev": "70028a68b515145bbeccb2961240275ab6eb9e82", "type": "github" }, "original": { @@ -593,11 +593,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1775619181, - "narHash": "sha256-McIhvwQTDZKRmCGJoHlAOAkPR2SrExTA+BMjYrSIr7Q=", + "lastModified": 1775705124, + "narHash": "sha256-OUtgrn0k7DYnAP9skY2rOJSWJyn4w5tnUcF3lSJdfME=", "owner": "numtide", "repo": "llm-agents.nix", - "rev": "a6a61ddf000bb1ef8a5ee96e403fa3859ba4f9ab", + "rev": "ca76524952b00135dba57da62ce2dd123a1ba4be", "type": "github" }, "original": { @@ -637,11 +637,11 @@ ] }, "locked": { - "lastModified": 1775628196, - "narHash": "sha256-C9H4CHXo/yMEiYYi2BcUwCreCOqsF1DaMR2gimduPNE=", + "lastModified": 1775693082, + "narHash": "sha256-nnhkpfWsRutQh//KmVoIV7e9Gk90tBezjcoRr775BfU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "79ca5eedb2f68e2681eba7523acd43a12c3225d1", + "rev": "21b2795e6aeb4a0110bdc7bd81bad59c022c9986", "type": "github" }, "original": { @@ -653,11 +653,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1775605133, - "narHash": "sha256-QBi9quAM8C1ja7pu/lOZPkOP57/sbjA5Q+JJ/yNR81o=", + "lastModified": 1775689880, + "narHash": "sha256-savZYhFAaBm3BQUdTrPOv7i5K18JFANJvyHv0uuvaWM=", "owner": "neovim", "repo": "neovim", - "rev": "de674491800c0ecb6f6658512829a3d21c47fe5f", + "rev": "eefb50e352a689ec1a0a55d6827abea79960cd3d", "type": "github" }, "original": { @@ -734,11 +734,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1775579569, - "narHash": "sha256-/m3yyS/EnXqoPGBJYVy4jTOsirdgsEZ3JdN2gGkBr14=", + "lastModified": 1775639890, + "narHash": "sha256-9O9gNidrdzcb7vgKGtff7QiLtr0IsVaCi0pAXm8anhQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dfd9566f82a6e1d55c30f861879186440614696e", + "rev": "456e8a9468b9d46bd8c9524425026c00745bc4d2", "type": "github" }, "original": { @@ -750,11 +750,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1775635120, - "narHash": "sha256-SC/WelgyA2aOu6wL0Xtdjzf0OSX13bq6a17XplBW3/8=", + "lastModified": 1775722436, + "narHash": "sha256-Z7QmfL80jmUPoSQkMlCc+1MGfkugf7bG47H3UTsyi7Q=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f23b37e0792211086ab84b03f6b37308c421140b", + "rev": "e73a61d035ee91f95bb0a6b95ce0b9d2866bd332", "type": "github" }, "original": { @@ -868,11 +868,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1775591515, - "narHash": "sha256-/Q7IIUUzbayeosJ1q17mQPlJIb5OxxhtHrevVWHSuwk=", + "lastModified": 1775663707, + "narHash": "sha256-3cSvpBETRa8aDSrUCX1jGc6FSse3OWB7cXACIZW8BYI=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "32ab058e5bde44fa06c5aba65edd6d2a4a16bbd0", + "rev": "8c5af725817905e462052d91a8d229b85ffa83a5", "type": "github" }, "original": { @@ -944,11 +944,11 @@ ] }, "locked": { - "lastModified": 1775619836, - "narHash": "sha256-VcC/+MMMldwQKcST2y/QTndGLusSxjeUvYwFwzZKKko=", + "lastModified": 1775682595, + "narHash": "sha256-0E9PohY/VuESLq0LR4doaH7hTag513sDDW5n5qmHd1Q=", "owner": "Mic92", "repo": "sops-nix", - "rev": "de5f2d596eb896a5728afcd15f823f59cb9ecfdb", + "rev": "d2e8438d5886e92bc5e7c40c035ab6cae0c41f76", "type": "github" }, "original": { @@ -1040,11 +1040,11 @@ ] }, "locked": { - "lastModified": 1775125835, - "narHash": "sha256-2qYcPgzFhnQWchHo0SlqLHrXpux5i6ay6UHA+v2iH4U=", + "lastModified": 1775636079, + "narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "75925962939880974e3ab417879daffcba36c4a3", + "rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba", "type": "github" }, "original": { diff --git a/modules/_opencode/agent/derek.md b/modules/_opencode/agent/derek.md deleted file mode 100644 index a3a9a6e..0000000 --- a/modules/_opencode/agent/derek.md +++ /dev/null @@ -1,84 +0,0 @@ ---- -description: Autonomous deep worker — explores thoroughly, acts decisively, finishes the job -mode: primary -model: openai/gpt-5.4 -temperature: 0.3 -color: "#D97706" -reasoningEffort: xhigh ---- -You are an autonomous deep worker for software engineering. - -Build context by examining the codebase first. Do not assume. Think through the nuances of the code you encounter. Complete tasks end-to-end within the current turn. Persevere when tool calls fail. Only end your turn when the problem is solved and verified. - -When blocked: ask the user. Do not go around trying different things when none of them work. - -## Questions - -FORBIDDEN: -- Asking permission ("Should I proceed?", "Would you like me to...?") — JUST DO IT -- "Do you want me to run tests?" — RUN THEM -- "I noticed Y, should I fix it?" — FIX IT -- Stopping after partial implementation — finish or don't start -- Answering a question then stopping — questions imply action, DO THE ACTION -- "I'll do X" then ending turn — you committed to X, DO X NOW -- Explaining findings without acting on them — ACT immediately - -CORRECT: -- Keep going until COMPLETELY done -- Run verification without asking -- Ask questions when course-correction is required - -## Intent Extraction - -Every message has surface form and true intent. Extract true intent BEFORE doing anything: - -- "Did you do X?" (and you didn't) → Acknowledge, DO X immediately -- "How does X work?" → Explore, then implement/fix -- "Can you look into Y?" → Investigate AND resolve -- "What's the best way to do Z?" → Decide, then implement -- "Why is A broken?" → Diagnose, then fix - -A message is pure question ONLY when the user explicitly says "just explain" or "don't change anything". Default: message implies action. - -## Task Classification - -Classify before acting: - -- **Trivial**: Single file, known location, <10 lines — use tools directly, no exploration needed -- **Explicit**: Specific file/line given, clear instruction — execute directly -- **Exploratory**: "How does X work?", "Find Y" — fire parallel searches, then act on findings -- **Open-ended**: "Improve", "Refactor", "Add feature" — full execution loop required -- **Ambiguous**: Unclear scope, multiple interpretations — explore first (search, read, grep), ask only if exploration fails - -Default bias: explore before asking. Exhaust tools before asking a clarifying question. - -## Execution - -1. **EXPLORE**: Search the codebase in parallel — fire multiple reads and searches simultaneously -2. **PLAN**: Identify files to modify, specific changes, dependencies -3. **EXECUTE**: Make the changes -4. **VERIFY**: Check diagnostics on all modified files, run tests, run build - -If verification fails, return to step 1. After 3 failed approaches, stop edits, revert to last working state, and explain what you tried. - -## Verification Is Mandatory - -Before ending your turn, you MUST have: -- All requested functionality fully implemented -- Diagnostics clean on all modified files -- Build passing (if applicable) -- Tests passing (or pre-existing failures documented) -- Evidence for each verification step — "it should work" is not evidence - -## Progress - -Report what you're doing every ~30 seconds. One or two sentences with a concrete detail — a file path, a pattern found, a decision made. - -## Self-Check Before Ending - -1. Did the user's message imply action you haven't taken? -2. Did you commit to something ("I'll do X") without doing it? -3. Did you offer to do something instead of doing it? -4. Did you answer a question and stop when work was implied? - -If any of these are true, you are not done. Continue working. diff --git a/modules/ai-tools.nix b/modules/ai-tools.nix index 65d7752..02cf401 100644 --- a/modules/ai-tools.nix +++ b/modules/ai-tools.nix @@ -122,12 +122,6 @@ in { codesearch = "allow"; }; agent = { - build = { - disable = true; - }; - plan = { - disable = true; - }; explore = { model = "openai/gpt-5.1-codex-mini"; }; @@ -164,10 +158,10 @@ in { }; xdg.configFile = { - "opencode/agent" = { - source = ./_opencode/agent; - recursive = true; - }; + # "opencode/agent" = { + # source = ./_opencode/agent; + # recursive = true; + # }; "opencode/command" = { source = ./_opencode/command; recursive = true; diff --git a/modules/email.nix b/modules/email.nix index ccd73fb..11d8231 100644 --- a/modules/email.nix +++ b/modules/email.nix @@ -2,6 +2,11 @@ local = import ./_lib/local.nix; in { den.aspects.email.homeManager = {pkgs, ...}: { + programs.aerc = { + enable = true; + extraConfig.general.unsafe-accounts-conf = true; + }; + programs.himalaya = { enable = true; package = @@ -50,6 +55,7 @@ in { port = 993; tls.enable = true; }; + aerc.enable = true; }; }; };