bd sync: 2026-01-15 07:29:34

This commit is contained in:
2026-01-15 07:29:34 -08:00
parent 69baf41852
commit 239eb3cf49

View File

@@ -1,6 +1,6 @@
{"id":"nixos-configs-0gl","title":"Evaluate nixos-configs repo structure","description":"# Research Goal\nEvaluate the structure of nixos-configs to identify areas for improvement. The deliverable is a set of child beads—each containing prompts for deeper exploration and actionable improvement plans.\n\n## Research Methodology\nUse `/humanlayer:research_codebase_nt` pattern with parallel subagents:\n- **codebase-locator**: Find files and components\n- **codebase-analyzer**: Understand how code works\n- **codebase-pattern-finder**: Find similar implementations and patterns\n\n## Focus Areas (research all 7)\n\n| Area | Questions to Answer |\n|------|---------------------|\n| **Flake Structure** | Is flake.nix well-organized? Are inputs minimal? Module composition clear? |\n| **System Roles** | Roles properly scoped? Duplication? Consistent option patterns? |\n| **Home-Manager Roles** | Clean separation from system roles? Reusable across platforms? |\n| **Machine Configs** | Are machines DRY? Shared patterns extracted? Hardware abstractions clean? |\n| **Custom Packages** | Packages well-structured? Overlay usage optimal? |\n| **Cross-Platform** | Darwin/WSL/Steam Deck patterns consistent? Code reuse? |\n| **Scripts \u0026 Utilities** | Flake apps organized? Automation opportunities? |\n\n## Deliverables\n1. **Summary of current state** for each focus area\n2. **Child beads** for each area with improvement potential, containing:\n - Prompt: \"Use `/humanlayer:research_codebase_nt` to analyze [specific aspect]\"\n - Prompt: \"Use `/humanlayer:create_plan_nt` to plan [specific improvement]\"\n3. **Recommended priority order** for addressing improvements\n\n## Key Files to Analyze\n- `flake.nix` (9.4KB) - Primary target\n- `roles/default.nix` - System role patterns\n- `home/roles/default.nix` - Home-manager role patterns\n- `machines/*/configuration.nix` - Per-machine patterns\n- `packages/default.nix` - Custom package overlay","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-09T12:47:08.135451956-08:00","created_by":"johno","updated_at":"2026-01-10T10:47:13.866730132-08:00","closed_at":"2026-01-10T10:37:36.380750585-08:00","dependencies":[{"issue_id":"nixos-configs-0gl","depends_on_id":"nixos-configs-ny8","type":"blocks","created_at":"2026-01-10T10:08:49.354981408-08:00","created_by":"johno"},{"issue_id":"nixos-configs-0gl","depends_on_id":"nixos-configs-auw","type":"blocks","created_at":"2026-01-10T10:08:49.377984171-08:00","created_by":"johno"},{"issue_id":"nixos-configs-0gl","depends_on_id":"nixos-configs-dew","type":"blocks","created_at":"2026-01-10T10:08:49.401019609-08:00","created_by":"johno"},{"issue_id":"nixos-configs-0gl","depends_on_id":"nixos-configs-pbk","type":"blocks","created_at":"2026-01-10T10:08:49.424263017-08:00","created_by":"johno"},{"issue_id":"nixos-configs-0gl","depends_on_id":"nixos-configs-und","type":"blocks","created_at":"2026-01-10T10:08:49.447363253-08:00","created_by":"johno"},{"issue_id":"nixos-configs-0gl","depends_on_id":"nixos-configs-rrb","type":"blocks","created_at":"2026-01-10T10:08:49.469936923-08:00","created_by":"johno"},{"issue_id":"nixos-configs-0gl","depends_on_id":"nixos-configs-geh","type":"blocks","created_at":"2026-01-10T10:08:49.492543435-08:00","created_by":"johno"}]} {"id":"nixos-configs-0gl","title":"Evaluate nixos-configs repo structure","description":"# Research Goal\nEvaluate the structure of nixos-configs to identify areas for improvement. The deliverable is a set of child beads—each containing prompts for deeper exploration and actionable improvement plans.\n\n## Research Methodology\nUse `/humanlayer:research_codebase_nt` pattern with parallel subagents:\n- **codebase-locator**: Find files and components\n- **codebase-analyzer**: Understand how code works\n- **codebase-pattern-finder**: Find similar implementations and patterns\n\n## Focus Areas (research all 7)\n\n| Area | Questions to Answer |\n|------|---------------------|\n| **Flake Structure** | Is flake.nix well-organized? Are inputs minimal? Module composition clear? |\n| **System Roles** | Roles properly scoped? Duplication? Consistent option patterns? |\n| **Home-Manager Roles** | Clean separation from system roles? Reusable across platforms? |\n| **Machine Configs** | Are machines DRY? Shared patterns extracted? Hardware abstractions clean? |\n| **Custom Packages** | Packages well-structured? Overlay usage optimal? |\n| **Cross-Platform** | Darwin/WSL/Steam Deck patterns consistent? Code reuse? |\n| **Scripts \u0026 Utilities** | Flake apps organized? Automation opportunities? |\n\n## Deliverables\n1. **Summary of current state** for each focus area\n2. **Child beads** for each area with improvement potential, containing:\n - Prompt: \"Use `/humanlayer:research_codebase_nt` to analyze [specific aspect]\"\n - Prompt: \"Use `/humanlayer:create_plan_nt` to plan [specific improvement]\"\n3. **Recommended priority order** for addressing improvements\n\n## Key Files to Analyze\n- `flake.nix` (9.4KB) - Primary target\n- `roles/default.nix` - System role patterns\n- `home/roles/default.nix` - Home-manager role patterns\n- `machines/*/configuration.nix` - Per-machine patterns\n- `packages/default.nix` - Custom package overlay","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-09T12:47:08.135451956-08:00","created_by":"johno","updated_at":"2026-01-10T10:47:13.866730132-08:00","closed_at":"2026-01-10T10:37:36.380750585-08:00","dependencies":[{"issue_id":"nixos-configs-0gl","depends_on_id":"nixos-configs-ny8","type":"blocks","created_at":"2026-01-10T10:08:49.354981408-08:00","created_by":"johno"},{"issue_id":"nixos-configs-0gl","depends_on_id":"nixos-configs-auw","type":"blocks","created_at":"2026-01-10T10:08:49.377984171-08:00","created_by":"johno"},{"issue_id":"nixos-configs-0gl","depends_on_id":"nixos-configs-dew","type":"blocks","created_at":"2026-01-10T10:08:49.401019609-08:00","created_by":"johno"},{"issue_id":"nixos-configs-0gl","depends_on_id":"nixos-configs-pbk","type":"blocks","created_at":"2026-01-10T10:08:49.424263017-08:00","created_by":"johno"},{"issue_id":"nixos-configs-0gl","depends_on_id":"nixos-configs-und","type":"blocks","created_at":"2026-01-10T10:08:49.447363253-08:00","created_by":"johno"},{"issue_id":"nixos-configs-0gl","depends_on_id":"nixos-configs-rrb","type":"blocks","created_at":"2026-01-10T10:08:49.469936923-08:00","created_by":"johno"},{"issue_id":"nixos-configs-0gl","depends_on_id":"nixos-configs-geh","type":"blocks","created_at":"2026-01-10T10:08:49.492543435-08:00","created_by":"johno"}]}
{"id":"nixos-configs-0ov","title":"Extract shared NixOS/Darwin base config","description":"From Flake Structure evaluation: roles/default.nix and roles/darwin.nix share ~50% duplicated code (timezone, base packages, nix settings, gc config). Create roles/common.nix to reduce duplication.","notes":"Plan created: thoughts/beads-nixos-configs-0ov/plan.md - Analysis shows this work is already complete. The roles/common.nix file exists and is imported by both NixOS and Darwin configs.","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-10T10:31:22.36256057-08:00","created_by":"johno","updated_at":"2026-01-12T20:48:25.849142057-08:00","closed_at":"2026-01-12T20:48:25.849142057-08:00","close_reason":"Already implemented"} {"id":"nixos-configs-0ov","title":"Extract shared NixOS/Darwin base config","description":"From Flake Structure evaluation: roles/default.nix and roles/darwin.nix share ~50% duplicated code (timezone, base packages, nix settings, gc config). Create roles/common.nix to reduce duplication.","notes":"Plan created: thoughts/beads-nixos-configs-0ov/plan.md - Analysis shows this work is already complete. The roles/common.nix file exists and is imported by both NixOS and Darwin configs.","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-10T10:31:22.36256057-08:00","created_by":"johno","updated_at":"2026-01-12T20:48:25.849142057-08:00","closed_at":"2026-01-12T20:48:25.849142057-08:00","close_reason":"Already implemented"}
{"id":"nixos-configs-0q7","title":"Promote john-endesktop to k3s leader node","description":"Migrate the k3s control plane from nucdeb1 to john-endesktop. This involves promoting john-endesktop from worker to leader and demoting/removing nucdeb1 from leader role.","status":"open","priority":2,"issue_type":"task","created_at":"2026-01-10T19:13:02.701421475-08:00","created_by":"johno","updated_at":"2026-01-10T19:13:02.701421475-08:00","dependencies":[{"issue_id":"nixos-configs-0q7","depends_on_id":"nixos-configs-71w","type":"blocks","created_at":"2026-01-10T19:13:11.769813321-08:00","created_by":"johno"}],"comments":[{"id":1,"issue_id":"nixos-configs-0q7","author":"johno","text":"## k3s-upgrade Label Requirement\n\nNixOS nodes must be labeled with `k3s-upgrade=disabled` to exclude them from the system-upgrade-controller:\n\n```bash\nkubectl label node \u003cnode-name\u003e k3s-upgrade=disabled\n```\n\nThe system-upgrade-controller tries to upgrade k3s by replacing the binary in-place, which fails on NixOS because /nix/store is immutable. On NixOS, k3s upgrades happen through updating nixpkgs and rebuilding.\n\nThe agent-plan has been patched to exclude nodes with this label.","created_at":"2026-01-11T04:10:09Z"}]} {"id":"nixos-configs-0q7","title":"Promote john-endesktop to k3s leader node","description":"Migrate the k3s control plane from nucdeb1 to john-endesktop. This involves promoting john-endesktop from worker to leader and demoting/removing nucdeb1 from leader role.","notes":"Plan: thoughts/beads-nixos-configs-0q7/plan.md","status":"open","priority":2,"issue_type":"task","created_at":"2026-01-10T19:13:02.701421475-08:00","created_by":"johno","updated_at":"2026-01-15T07:28:35.948773757-08:00","dependencies":[{"issue_id":"nixos-configs-0q7","depends_on_id":"nixos-configs-71w","type":"blocks","created_at":"2026-01-10T19:13:11.769813321-08:00","created_by":"johno"}],"comments":[{"id":1,"issue_id":"nixos-configs-0q7","author":"johno","text":"## k3s-upgrade Label Requirement\n\nNixOS nodes must be labeled with `k3s-upgrade=disabled` to exclude them from the system-upgrade-controller:\n\n```bash\nkubectl label node \u003cnode-name\u003e k3s-upgrade=disabled\n```\n\nThe system-upgrade-controller tries to upgrade k3s by replacing the binary in-place, which fails on NixOS because /nix/store is immutable. On NixOS, k3s upgrades happen through updating nixpkgs and rebuilding.\n\nThe agent-plan has been patched to exclude nodes with this label.","created_at":"2026-01-11T04:10:09Z"}]}
{"id":"nixos-configs-0vf","title":"Fix conflicting audio role config","description":"From System Roles evaluation: The audio role has conflicting services.pulseaudio config present while pipewire is enabled. PipeWire replaces PulseAudio, so the pulseaudio config should be removed.","status":"closed","priority":2,"issue_type":"bug","created_at":"2026-01-10T10:31:25.821735114-08:00","created_by":"johno","updated_at":"2026-01-14T14:27:42.322944921-08:00","closed_at":"2026-01-14T14:27:42.322944921-08:00","close_reason":"PR #10 merged"} {"id":"nixos-configs-0vf","title":"Fix conflicting audio role config","description":"From System Roles evaluation: The audio role has conflicting services.pulseaudio config present while pipewire is enabled. PipeWire replaces PulseAudio, so the pulseaudio config should be removed.","status":"closed","priority":2,"issue_type":"bug","created_at":"2026-01-10T10:31:25.821735114-08:00","created_by":"johno","updated_at":"2026-01-14T14:27:42.322944921-08:00","closed_at":"2026-01-14T14:27:42.322944921-08:00","close_reason":"PR #10 merged"}
{"id":"nixos-configs-1wd","title":"When building the USB image, find a way to pre-run doom sync","description":"After booting into a live usb, if I want to run emacs I must first run `doom sync` - which also requires internet access. This is time consuming and annoying.","acceptance_criteria":"Upon booting into a live usb image, `emacs -nw` opens emacs to the doom splash screen","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-10T09:10:21.469199401-08:00","created_by":"johno","updated_at":"2026-01-10T10:47:13.879427741-08:00","closed_at":"2026-01-10T10:30:24.839041681-08:00"} {"id":"nixos-configs-1wd","title":"When building the USB image, find a way to pre-run doom sync","description":"After booting into a live usb, if I want to run emacs I must first run `doom sync` - which also requires internet access. This is time consuming and annoying.","acceptance_criteria":"Upon booting into a live usb image, `emacs -nw` opens emacs to the doom splash screen","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-10T09:10:21.469199401-08:00","created_by":"johno","updated_at":"2026-01-10T10:47:13.879427741-08:00","closed_at":"2026-01-10T10:30:24.839041681-08:00"}
{"id":"nixos-configs-265","title":"Mu4e emails sending without body content","notes":"Gitea issue #2: https://git.johnogle.info/johno/nixos-configs/issues/2\n\nPR: https://git.johnogle.info/johno/nixos-configs/pulls/4","status":"closed","priority":2,"issue_type":"bug","created_at":"2026-01-10T12:27:40.01586007-08:00","created_by":"johno","updated_at":"2026-01-14T13:57:26.865331143-08:00","closed_at":"2026-01-10T12:53:10.467933615-08:00","close_reason":"Duplicate - PR #4 already addresses this issue"} {"id":"nixos-configs-265","title":"Mu4e emails sending without body content","notes":"Gitea issue #2: https://git.johnogle.info/johno/nixos-configs/issues/2\n\nPR: https://git.johnogle.info/johno/nixos-configs/pulls/4","status":"closed","priority":2,"issue_type":"bug","created_at":"2026-01-10T12:27:40.01586007-08:00","created_by":"johno","updated_at":"2026-01-14T13:57:26.865331143-08:00","closed_at":"2026-01-10T12:53:10.467933615-08:00","close_reason":"Duplicate - PR #4 already addresses this issue"}
@@ -8,7 +8,7 @@
{"id":"nixos-configs-2hq","title":"Enable CI for nixos-configs repo","description":"Set up continuous integration for the nixos-configs repository.\n\n## Goals\n- Validate flake.nix syntax and structure on PRs/pushes\n- Run `nix flake check` to catch evaluation errors early\n- Consider building key configurations to catch build failures\n\n## Considerations\n- Choose CI platform (GitHub Actions, etc.)\n- Cache nix store for faster builds\n- Decide which configurations to build (all vs critical subset)","notes":"Research complete: thoughts/beads-nixos-configs-2hq/research.md","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-10T11:16:17.069453458-08:00","created_by":"johno","updated_at":"2026-01-13T16:36:01.526144669-08:00","closed_at":"2026-01-13T16:36:01.526144669-08:00","close_reason":"CI enabled on main via nixos-configs-2eu. PR #17 closed as superseded.","dependencies":[{"issue_id":"nixos-configs-2hq","depends_on_id":"nixos-configs-ouf","type":"parent-child","created_at":"2026-01-12T17:53:44.461613-08:00","created_by":"johno"},{"issue_id":"nixos-configs-2hq","depends_on_id":"nixos-configs-q3y","type":"blocks","created_at":"2026-01-12T21:01:37.216499-08:00","created_by":"johno"},{"issue_id":"nixos-configs-2hq","depends_on_id":"nixos-configs-4ht","type":"blocks","created_at":"2026-01-12T21:01:37.283279443-08:00","created_by":"johno"}],"comments":[{"id":2,"issue_id":"nixos-configs-2hq","author":"johno","text":"PR created: https://git.johnogle.info/johno/nixos-configs/pulls/17","created_at":"2026-01-10T21:08:52Z"}]} {"id":"nixos-configs-2hq","title":"Enable CI for nixos-configs repo","description":"Set up continuous integration for the nixos-configs repository.\n\n## Goals\n- Validate flake.nix syntax and structure on PRs/pushes\n- Run `nix flake check` to catch evaluation errors early\n- Consider building key configurations to catch build failures\n\n## Considerations\n- Choose CI platform (GitHub Actions, etc.)\n- Cache nix store for faster builds\n- Decide which configurations to build (all vs critical subset)","notes":"Research complete: thoughts/beads-nixos-configs-2hq/research.md","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-10T11:16:17.069453458-08:00","created_by":"johno","updated_at":"2026-01-13T16:36:01.526144669-08:00","closed_at":"2026-01-13T16:36:01.526144669-08:00","close_reason":"CI enabled on main via nixos-configs-2eu. PR #17 closed as superseded.","dependencies":[{"issue_id":"nixos-configs-2hq","depends_on_id":"nixos-configs-ouf","type":"parent-child","created_at":"2026-01-12T17:53:44.461613-08:00","created_by":"johno"},{"issue_id":"nixos-configs-2hq","depends_on_id":"nixos-configs-q3y","type":"blocks","created_at":"2026-01-12T21:01:37.216499-08:00","created_by":"johno"},{"issue_id":"nixos-configs-2hq","depends_on_id":"nixos-configs-4ht","type":"blocks","created_at":"2026-01-12T21:01:37.283279443-08:00","created_by":"johno"}],"comments":[{"id":2,"issue_id":"nixos-configs-2hq","author":"johno","text":"PR created: https://git.johnogle.info/johno/nixos-configs/pulls/17","created_at":"2026-01-10T21:08:52Z"}]}
{"id":"nixos-configs-2mk","title":"Remove wixos (WSL) configuration","description":"WSL is no longer used. Remove the wixos machine configuration entirely from the flake and any associated home-manager config.","status":"closed","priority":3,"issue_type":"task","created_at":"2026-01-10T10:31:28.363467309-08:00","created_by":"johno","updated_at":"2026-01-14T14:27:42.386071729-08:00","closed_at":"2026-01-14T14:27:42.386071729-08:00","close_reason":"PR #20 merged","comments":[{"id":3,"issue_id":"nixos-configs-2mk","author":"johno","text":"PR: https://git.johnogle.info/johno/nixos-configs/pulls/20","created_at":"2026-01-10T21:11:29Z"}]} {"id":"nixos-configs-2mk","title":"Remove wixos (WSL) configuration","description":"WSL is no longer used. Remove the wixos machine configuration entirely from the flake and any associated home-manager config.","status":"closed","priority":3,"issue_type":"task","created_at":"2026-01-10T10:31:28.363467309-08:00","created_by":"johno","updated_at":"2026-01-14T14:27:42.386071729-08:00","closed_at":"2026-01-14T14:27:42.386071729-08:00","close_reason":"PR #20 merged","comments":[{"id":3,"issue_id":"nixos-configs-2mk","author":"johno","text":"PR: https://git.johnogle.info/johno/nixos-configs/pulls/20","created_at":"2026-01-10T21:11:29Z"}]}
{"id":"nixos-configs-39m","title":"parallel_beads PR description should include validation steps completed","notes":"Implementation complete. All 5 phases done: validation extraction, execution, PR templates, result reporting, summary table.","status":"closed","priority":2,"issue_type":"feature","created_at":"2026-01-10T21:06:56.358336921-08:00","created_by":"johno","updated_at":"2026-01-12T21:43:30.418351423-08:00","closed_at":"2026-01-12T18:29:47.321408-08:00"} {"id":"nixos-configs-39m","title":"parallel_beads PR description should include validation steps completed","notes":"Implementation complete. All 5 phases done: validation extraction, execution, PR templates, result reporting, summary table.","status":"closed","priority":2,"issue_type":"feature","created_at":"2026-01-10T21:06:56.358336921-08:00","created_by":"johno","updated_at":"2026-01-12T21:43:30.418351423-08:00","closed_at":"2026-01-12T18:29:47.321408-08:00"}
{"id":"nixos-configs-45m","title":"Migrate nucdeb2 from Proxmox+Debian to NixOS","description":"Replace the Proxmox+Debian installation on nucdeb2 with NixOS. Document the migration process thoroughly to serve as a guide for migrating nucdeb1 and nucdeb3.","status":"open","priority":2,"issue_type":"task","created_at":"2026-01-10T19:13:03.623201609-08:00","created_by":"johno","updated_at":"2026-01-10T19:13:03.623201609-08:00","dependencies":[{"issue_id":"nixos-configs-45m","depends_on_id":"nixos-configs-0q7","type":"blocks","created_at":"2026-01-10T19:13:12.894453357-08:00","created_by":"johno"}],"comments":[{"id":4,"issue_id":"nixos-configs-45m","author":"johno","text":"## k3s-upgrade Label Requirement\n\nWhen nucdeb2 is migrated to NixOS and running k3s, it must be labeled with `k3s-upgrade=disabled`:\n\n```bash\nkubectl label node nucdeb2 k3s-upgrade=disabled\n```\n\nThis excludes it from the system-upgrade-controller, which tries to upgrade k3s by replacing the binary in-place. This fails on NixOS because /nix/store is immutable. On NixOS, k3s upgrades happen through updating nixpkgs and rebuilding.","created_at":"2026-01-11T04:10:24Z"}]} {"id":"nixos-configs-45m","title":"Migrate nucdeb2 from Proxmox+Debian to NixOS","description":"Replace the Proxmox+Debian installation on nucdeb2 with NixOS. Document the migration process thoroughly to serve as a guide for migrating nucdeb1 and nucdeb3.","notes":"Plan: thoughts/beads-nixos-configs-45m/plan.md","status":"open","priority":2,"issue_type":"task","created_at":"2026-01-10T19:13:03.623201609-08:00","created_by":"johno","updated_at":"2026-01-15T07:28:40.522416087-08:00","dependencies":[{"issue_id":"nixos-configs-45m","depends_on_id":"nixos-configs-0q7","type":"blocks","created_at":"2026-01-10T19:13:12.894453357-08:00","created_by":"johno"}],"comments":[{"id":4,"issue_id":"nixos-configs-45m","author":"johno","text":"## k3s-upgrade Label Requirement\n\nWhen nucdeb2 is migrated to NixOS and running k3s, it must be labeled with `k3s-upgrade=disabled`:\n\n```bash\nkubectl label node nucdeb2 k3s-upgrade=disabled\n```\n\nThis excludes it from the system-upgrade-controller, which tries to upgrade k3s by replacing the binary in-place. This fails on NixOS because /nix/store is immutable. On NixOS, k3s upgrades happen through updating nixpkgs and rebuilding.","created_at":"2026-01-11T04:10:24Z"}]}
{"id":"nixos-configs-45r","title":"Update parallel_beads to require plans","description":"parallel_beads should check for plan artifacts before including beads in batch implementation.\n\nCurrent behavior: Includes all ready beads regardless of preparation state\nDesired behavior: \n- Check for thoughts/beads-{id}/plan.md\n- Skip beads without plans (or type=bug which can implement directly)\n- Warn user which beads were skipped and why\n\nThis prevents premature batch implementation of complex features that haven't been planned.","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-12T18:33:11.006426-08:00","created_by":"johno","updated_at":"2026-01-12T18:39:09.894633-08:00","closed_at":"2026-01-12T18:39:09.894633-08:00","close_reason":"Implemented in this session"} {"id":"nixos-configs-45r","title":"Update parallel_beads to require plans","description":"parallel_beads should check for plan artifacts before including beads in batch implementation.\n\nCurrent behavior: Includes all ready beads regardless of preparation state\nDesired behavior: \n- Check for thoughts/beads-{id}/plan.md\n- Skip beads without plans (or type=bug which can implement directly)\n- Warn user which beads were skipped and why\n\nThis prevents premature batch implementation of complex features that haven't been planned.","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-12T18:33:11.006426-08:00","created_by":"johno","updated_at":"2026-01-12T18:39:09.894633-08:00","closed_at":"2026-01-12T18:39:09.894633-08:00","close_reason":"Implemented in this session"}
{"id":"nixos-configs-4ht","title":"Handle private google-cookie-retrieval input in CI","description":"The flake has a private input at `flake.nix:36-39`:\n\n```nix\ngoogle-cookie-retrieval = {\n url = \"git+https://git.johnogle.info/johno/google-cookie-retrieval.git\";\n inputs.nixpkgs.follows = \"nixpkgs\";\n};\n```\n\nThis requires authentication to the private Gitea server during flake evaluation. Options:\n1. Configure CI runner with SSH/token access to private repos\n2. Make the input optional/conditional\n3. Remove the input if unused\n\nResearch needed: Is this input actually used in any configuration?\n\nRelated: nixos-configs-2hq (CI enablement)","notes":"Plan created: thoughts/beads-nixos-configs-4ht/plan.md","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-12T21:01:30.126212873-08:00","created_by":"johno","updated_at":"2026-01-14T14:27:42.300794715-08:00","closed_at":"2026-01-14T14:27:42.300794715-08:00","close_reason":"PR #31 merged"} {"id":"nixos-configs-4ht","title":"Handle private google-cookie-retrieval input in CI","description":"The flake has a private input at `flake.nix:36-39`:\n\n```nix\ngoogle-cookie-retrieval = {\n url = \"git+https://git.johnogle.info/johno/google-cookie-retrieval.git\";\n inputs.nixpkgs.follows = \"nixpkgs\";\n};\n```\n\nThis requires authentication to the private Gitea server during flake evaluation. Options:\n1. Configure CI runner with SSH/token access to private repos\n2. Make the input optional/conditional\n3. Remove the input if unused\n\nResearch needed: Is this input actually used in any configuration?\n\nRelated: nixos-configs-2hq (CI enablement)","notes":"Plan created: thoughts/beads-nixos-configs-4ht/plan.md","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-12T21:01:30.126212873-08:00","created_by":"johno","updated_at":"2026-01-14T14:27:42.300794715-08:00","closed_at":"2026-01-14T14:27:42.300794715-08:00","close_reason":"PR #31 merged"}
{"id":"nixos-configs-4yz","title":"Migrate k3s cluster nodes to NixOS","status":"in_progress","priority":2,"issue_type":"epic","created_at":"2026-01-10T19:12:50.908956625-08:00","created_by":"johno","updated_at":"2026-01-10T19:13:41.525993086-08:00","dependencies":[{"issue_id":"nixos-configs-4yz","depends_on_id":"nixos-configs-uje","type":"blocks","created_at":"2026-01-10T19:13:59.246251945-08:00","created_by":"johno"}]} {"id":"nixos-configs-4yz","title":"Migrate k3s cluster nodes to NixOS","status":"in_progress","priority":2,"issue_type":"epic","created_at":"2026-01-10T19:12:50.908956625-08:00","created_by":"johno","updated_at":"2026-01-10T19:13:41.525993086-08:00","dependencies":[{"issue_id":"nixos-configs-4yz","depends_on_id":"nixos-configs-uje","type":"blocks","created_at":"2026-01-10T19:13:59.246251945-08:00","created_by":"johno"}]}
@@ -51,7 +51,7 @@
{"id":"nixos-configs-tcu","title":"Add platform compatibility guards to cross-platform roles","description":"From Cross-Platform evaluation: Some roles like desktop and communication contain Linux-only packages but no guards. Add lib.optionals pkgs.stdenv.isLinux where appropriate to prevent issues on Darwin.","status":"closed","priority":3,"issue_type":"task","created_at":"2026-01-10T10:31:29.864582809-08:00","created_by":"johno","updated_at":"2026-01-14T14:27:42.364833154-08:00","closed_at":"2026-01-14T14:27:42.364833154-08:00","close_reason":"PR #25 merged","comments":[{"id":9,"issue_id":"nixos-configs-tcu","author":"johno","text":"PR created: https://git.johnogle.info/johno/nixos-configs/pulls/25","created_at":"2026-01-10T21:13:19Z"}]} {"id":"nixos-configs-tcu","title":"Add platform compatibility guards to cross-platform roles","description":"From Cross-Platform evaluation: Some roles like desktop and communication contain Linux-only packages but no guards. Add lib.optionals pkgs.stdenv.isLinux where appropriate to prevent issues on Darwin.","status":"closed","priority":3,"issue_type":"task","created_at":"2026-01-10T10:31:29.864582809-08:00","created_by":"johno","updated_at":"2026-01-14T14:27:42.364833154-08:00","closed_at":"2026-01-14T14:27:42.364833154-08:00","close_reason":"PR #25 merged","comments":[{"id":9,"issue_id":"nixos-configs-tcu","author":"johno","text":"PR created: https://git.johnogle.info/johno/nixos-configs/pulls/25","created_at":"2026-01-10T21:13:19Z"}]}
{"id":"nixos-configs-tdf","title":"Add skill to import Gitea issues as beads","description":"Create a skill that imports open Gitea issues as beads, skipping those already imported","notes":"Plan: thoughts/beads-nixos-configs-tdf/plan.md","status":"closed","priority":2,"issue_type":"feature","created_at":"2026-01-10T12:29:28.686736386-08:00","created_by":"johno","updated_at":"2026-01-13T14:15:31.197918353-08:00","closed_at":"2026-01-13T14:15:31.197918353-08:00","close_reason":"Skill already exists and verified working - all plan items complete"} {"id":"nixos-configs-tdf","title":"Add skill to import Gitea issues as beads","description":"Create a skill that imports open Gitea issues as beads, skipping those already imported","notes":"Plan: thoughts/beads-nixos-configs-tdf/plan.md","status":"closed","priority":2,"issue_type":"feature","created_at":"2026-01-10T12:29:28.686736386-08:00","created_by":"johno","updated_at":"2026-01-13T14:15:31.197918353-08:00","closed_at":"2026-01-13T14:15:31.197918353-08:00","close_reason":"Skill already exists and verified working - all plan items complete"}
{"id":"nixos-configs-u81","title":"Add --help flags to all flake apps","description":"From Scripts \u0026 Utilities evaluation: Some flake apps (like update-claude-code) have --help, others don't. Add --help flags to all apps for consistency and discoverability.","status":"closed","priority":4,"issue_type":"task","created_at":"2026-01-10T10:31:31.672159415-08:00","created_by":"johno","updated_at":"2026-01-14T14:27:42.449117673-08:00","closed_at":"2026-01-14T14:27:42.449117673-08:00","close_reason":"PR #24 merged","comments":[{"id":10,"issue_id":"nixos-configs-u81","author":"johno","text":"PR: https://git.johnogle.info/johno/nixos-configs/pulls/24","created_at":"2026-01-10T21:12:06Z"}]} {"id":"nixos-configs-u81","title":"Add --help flags to all flake apps","description":"From Scripts \u0026 Utilities evaluation: Some flake apps (like update-claude-code) have --help, others don't. Add --help flags to all apps for consistency and discoverability.","status":"closed","priority":4,"issue_type":"task","created_at":"2026-01-10T10:31:31.672159415-08:00","created_by":"johno","updated_at":"2026-01-14T14:27:42.449117673-08:00","closed_at":"2026-01-14T14:27:42.449117673-08:00","close_reason":"PR #24 merged","comments":[{"id":10,"issue_id":"nixos-configs-u81","author":"johno","text":"PR: https://git.johnogle.info/johno/nixos-configs/pulls/24","created_at":"2026-01-10T21:12:06Z"}]}
{"id":"nixos-configs-uje","title":"Migrate nucdeb1 and nucdeb3 to NixOS","description":"Follow the documented process from nucdeb2 migration to migrate nucdeb1 and nucdeb3 from their current Debian-based setups to NixOS with the k3s-node role.","status":"open","priority":2,"issue_type":"task","created_at":"2026-01-10T19:13:04.392439489-08:00","created_by":"johno","updated_at":"2026-01-10T19:13:04.392439489-08:00","dependencies":[{"issue_id":"nixos-configs-uje","depends_on_id":"nixos-configs-45m","type":"blocks","created_at":"2026-01-10T19:13:13.908017962-08:00","created_by":"johno"}],"comments":[{"id":11,"issue_id":"nixos-configs-uje","author":"johno","text":"## k3s-upgrade Label Requirement\n\nWhen these nodes are migrated to NixOS and running k3s, they must be labeled with `k3s-upgrade=disabled`:\n\n```bash\nkubectl label node \u003cnode-name\u003e k3s-upgrade=disabled\n```\n\nThis excludes them from the system-upgrade-controller, which tries to upgrade k3s by replacing the binary in-place. This fails on NixOS because /nix/store is immutable. On NixOS, k3s upgrades happen through updating nixpkgs and rebuilding.","created_at":"2026-01-11T04:10:23Z"}]} {"id":"nixos-configs-uje","title":"Migrate nucdeb1 and nucdeb3 to NixOS","description":"Follow the documented process from nucdeb2 migration to migrate nucdeb1 and nucdeb3 from their current Debian-based setups to NixOS with the k3s-node role.","notes":"Plan: thoughts/beads-nixos-configs-uje/plan.md","status":"open","priority":2,"issue_type":"task","created_at":"2026-01-10T19:13:04.392439489-08:00","created_by":"johno","updated_at":"2026-01-15T07:28:57.288567918-08:00","dependencies":[{"issue_id":"nixos-configs-uje","depends_on_id":"nixos-configs-45m","type":"blocks","created_at":"2026-01-10T19:13:13.908017962-08:00","created_by":"johno"}],"comments":[{"id":11,"issue_id":"nixos-configs-uje","author":"johno","text":"## k3s-upgrade Label Requirement\n\nWhen these nodes are migrated to NixOS and running k3s, they must be labeled with `k3s-upgrade=disabled`:\n\n```bash\nkubectl label node \u003cnode-name\u003e k3s-upgrade=disabled\n```\n\nThis excludes them from the system-upgrade-controller, which tries to upgrade k3s by replacing the binary in-place. This fails on NixOS because /nix/store is immutable. On NixOS, k3s upgrades happen through updating nixpkgs and rebuilding.","created_at":"2026-01-11T04:10:23Z"}]}
{"id":"nixos-configs-uji","title":"Add and use starship.rs","status":"closed","priority":3,"issue_type":"feature","created_at":"2026-01-10T10:07:07.088523902-08:00","created_by":"johno","updated_at":"2026-01-10T10:13:46.830449555-08:00","closed_at":"2026-01-10T10:13:46.830449555-08:00","close_reason":"Closed"} {"id":"nixos-configs-uji","title":"Add and use starship.rs","status":"closed","priority":3,"issue_type":"feature","created_at":"2026-01-10T10:07:07.088523902-08:00","created_by":"johno","updated_at":"2026-01-10T10:13:46.830449555-08:00","closed_at":"2026-01-10T10:13:46.830449555-08:00","close_reason":"Closed"}
{"id":"nixos-configs-ujn","title":"reconcile_beads skill should close matching Gitea issues","notes":"Gitea issue: https://git.johnogle.info/johno/nixos-configs/issues/16\n\nWhen closing beads that were imported from Gitea issues, the reconcile_beads skill should also close the corresponding Gitea issue to keep them in sync.","status":"closed","priority":2,"issue_type":"feature","created_at":"2026-01-10T21:06:55.526151709-08:00","created_by":"johno","updated_at":"2026-01-14T14:36:53.484152373-08:00","closed_at":"2026-01-14T14:36:53.484152373-08:00","close_reason":"Duplicate of nixos-configs-cto (PR #28 merged)"} {"id":"nixos-configs-ujn","title":"reconcile_beads skill should close matching Gitea issues","notes":"Gitea issue: https://git.johnogle.info/johno/nixos-configs/issues/16\n\nWhen closing beads that were imported from Gitea issues, the reconcile_beads skill should also close the corresponding Gitea issue to keep them in sync.","status":"closed","priority":2,"issue_type":"feature","created_at":"2026-01-10T21:06:55.526151709-08:00","created_by":"johno","updated_at":"2026-01-14T14:36:53.484152373-08:00","closed_at":"2026-01-14T14:36:53.484152373-08:00","close_reason":"Duplicate of nixos-configs-cto (PR #28 merged)"}
{"id":"nixos-configs-und","title":"Evaluate Custom Packages","description":"# Investigation: Custom Packages\n\n## Questions to Answer\n- Are packages well-structured?\n- Is overlay usage optimal?\n- Are packages up-to-date with nixpkgs conventions?\n\n## Key Files\n- `packages/default.nix` - Custom package overlay\n- `packages/*/default.nix` - Individual package definitions\n\n## Approach\n1. Use `/humanlayer:research_codebase_nt` to analyze package structure\n2. Check overlay patterns and composition\n3. Use `/humanlayer:create_plan_nt` to plan improvements if needed","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-10T10:08:25.566312823-08:00","created_by":"johno","updated_at":"2026-01-10T10:11:22.107817076-08:00","closed_at":"2026-01-10T10:11:22.107817076-08:00","close_reason":"# Custom Packages Evaluation Complete\n\n## Overview\nThe nixos-configs repository contains 5 custom packages, all managed through a single `packages/default.nix` file that exposes them via `pkgs.custom.*` overlay.\n\n## Package-by-Package Analysis\n\n### 1. claude-code (Well-Structured)\n- **Purpose**: Fetches Claude Code CLI directly from Google Cloud Storage, bypassing npm registry (needed for corporate network restrictions)\n- **Structure**: Excellent - uses `stdenv.mkDerivation` with proper multi-platform support (4 platforms)\n- **Update mechanism**: Has automated `update.sh` script that fetches version/hashes from Homebrew cask - very well designed\n- **Documentation**: Includes comprehensive README.md\n- **Usage**: Exposed via overlay to `pkgs.unstable.claude-code` for Darwin machines\n- **Note**: Also has an unused `npm.nix` with placeholder hash - appears to be abandoned attempt\n\n### 2. vulkan-hdr-layer (Well-Structured)\n- **Purpose**: Vulkan layer for HDR support\n- **Structure**: Proper `stdenv.mkDerivation` with meson build system\n- **Issue**: Uses commit hash version `63d2eec` (unstable version) - consider using tagged releases\n- **Note**: Not currently used anywhere in the configuration (orphaned package?)\n\n### 3. tea-rbw (Simple Wrapper)\n- **Purpose**: Wrapper around `tea` (Gitea CLI) that integrates with rbw (Bitwarden CLI) for authentication\n- **Structure**: Simple `writeShellScriptBin` - appropriate for this use case\n- **Usage**: Used in `home/roles/development/default.nix`\n\n### 4. app-launcher-server (Simple Wrapper)\n- **Purpose**: HTTP server for launching allowlisted applications (Firefox, Kodi)\n- **Structure**: Python script with `writeShellScriptBin` wrapper - clean design\n- **Usage**: Used in `roles/kodi/default.nix` for media center control\n\n### 5. perles (Well-Structured)\n- **Purpose**: TUI for Beads issue tracking system\n- **Structure**: Proper `buildGoModule` with GitHub fetch\n- **Issue**: Uses `rev = \"main\"` instead of pinned commit - can cause reproducibility issues\n- **Usage**: Used in `home/roles/development/default.nix`\n\n## Overlay Integration\nPackages are exposed via overlay in flake.nix:\n```nix\ncustom = prev.callPackage ./packages {};\n```\nThis is a clean, standard pattern.\n\n## Observations\n\n### Strengths\n1. Single entry point (`packages/default.nix`) for all custom packages\n2. Proper use of `callPackage` idiom\n3. Good variety of build patterns (stdenv, buildGoModule, writeShellScriptBin)\n4. Excellent automated update script for claude-code\n5. Proper meta attributes on most packages\n\n### Issues/Recommendations\n1. **vulkan-hdr-layer appears unused** - consider removing if not needed\n2. **perles uses `rev = \"main\"`** - should pin to specific commit for reproducibility\n3. **npm.nix is unused** - leftover file in claude-code directory\n4. **Missing maintainers** - all packages have empty maintainers list\n5. **vulkan-hdr-layer uses unstable version** - uses commit hash, not tagged release\n\n## Nixpkgs Convention Compliance\n- Package naming follows conventions\n- Meta attributes present\n- Uses appropriate build helpers\n- Overlay pattern is idiomatic\n- Could benefit from adding tests for some packages"} {"id":"nixos-configs-und","title":"Evaluate Custom Packages","description":"# Investigation: Custom Packages\n\n## Questions to Answer\n- Are packages well-structured?\n- Is overlay usage optimal?\n- Are packages up-to-date with nixpkgs conventions?\n\n## Key Files\n- `packages/default.nix` - Custom package overlay\n- `packages/*/default.nix` - Individual package definitions\n\n## Approach\n1. Use `/humanlayer:research_codebase_nt` to analyze package structure\n2. Check overlay patterns and composition\n3. Use `/humanlayer:create_plan_nt` to plan improvements if needed","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-10T10:08:25.566312823-08:00","created_by":"johno","updated_at":"2026-01-10T10:11:22.107817076-08:00","closed_at":"2026-01-10T10:11:22.107817076-08:00","close_reason":"# Custom Packages Evaluation Complete\n\n## Overview\nThe nixos-configs repository contains 5 custom packages, all managed through a single `packages/default.nix` file that exposes them via `pkgs.custom.*` overlay.\n\n## Package-by-Package Analysis\n\n### 1. claude-code (Well-Structured)\n- **Purpose**: Fetches Claude Code CLI directly from Google Cloud Storage, bypassing npm registry (needed for corporate network restrictions)\n- **Structure**: Excellent - uses `stdenv.mkDerivation` with proper multi-platform support (4 platforms)\n- **Update mechanism**: Has automated `update.sh` script that fetches version/hashes from Homebrew cask - very well designed\n- **Documentation**: Includes comprehensive README.md\n- **Usage**: Exposed via overlay to `pkgs.unstable.claude-code` for Darwin machines\n- **Note**: Also has an unused `npm.nix` with placeholder hash - appears to be abandoned attempt\n\n### 2. vulkan-hdr-layer (Well-Structured)\n- **Purpose**: Vulkan layer for HDR support\n- **Structure**: Proper `stdenv.mkDerivation` with meson build system\n- **Issue**: Uses commit hash version `63d2eec` (unstable version) - consider using tagged releases\n- **Note**: Not currently used anywhere in the configuration (orphaned package?)\n\n### 3. tea-rbw (Simple Wrapper)\n- **Purpose**: Wrapper around `tea` (Gitea CLI) that integrates with rbw (Bitwarden CLI) for authentication\n- **Structure**: Simple `writeShellScriptBin` - appropriate for this use case\n- **Usage**: Used in `home/roles/development/default.nix`\n\n### 4. app-launcher-server (Simple Wrapper)\n- **Purpose**: HTTP server for launching allowlisted applications (Firefox, Kodi)\n- **Structure**: Python script with `writeShellScriptBin` wrapper - clean design\n- **Usage**: Used in `roles/kodi/default.nix` for media center control\n\n### 5. perles (Well-Structured)\n- **Purpose**: TUI for Beads issue tracking system\n- **Structure**: Proper `buildGoModule` with GitHub fetch\n- **Issue**: Uses `rev = \"main\"` instead of pinned commit - can cause reproducibility issues\n- **Usage**: Used in `home/roles/development/default.nix`\n\n## Overlay Integration\nPackages are exposed via overlay in flake.nix:\n```nix\ncustom = prev.callPackage ./packages {};\n```\nThis is a clean, standard pattern.\n\n## Observations\n\n### Strengths\n1. Single entry point (`packages/default.nix`) for all custom packages\n2. Proper use of `callPackage` idiom\n3. Good variety of build patterns (stdenv, buildGoModule, writeShellScriptBin)\n4. Excellent automated update script for claude-code\n5. Proper meta attributes on most packages\n\n### Issues/Recommendations\n1. **vulkan-hdr-layer appears unused** - consider removing if not needed\n2. **perles uses `rev = \"main\"`** - should pin to specific commit for reproducibility\n3. **npm.nix is unused** - leftover file in claude-code directory\n4. **Missing maintainers** - all packages have empty maintainers list\n5. **vulkan-hdr-layer uses unstable version** - uses commit hash, not tagged release\n\n## Nixpkgs Convention Compliance\n- Package naming follows conventions\n- Meta attributes present\n- Uses appropriate build helpers\n- Overlay pattern is idiomatic\n- Could benefit from adding tests for some packages"}