diff --git a/.beads/sync_base.jsonl b/.beads/sync_base.jsonl index 13a8fb5..82a911b 100644 --- a/.beads/sync_base.jsonl +++ b/.beads/sync_base.jsonl @@ -3,7 +3,7 @@ {"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":"in_review","priority":2,"issue_type":"bug","created_at":"2026-01-10T10:31:25.821735114-08:00","created_by":"johno","updated_at":"2026-01-13T06:58:34.970343033-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\nNOTE: PR #4 exists as a potential fix for this issue.\nhttps://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-10T12:28:20.226268233-08:00","closed_at":"2026-01-10T12:28:20.226268233-08:00","close_reason":"Duplicate - PR #4 already addresses this issue"} -{"id":"nixos-configs-2eu","title":"Resolve CI open questions: runner config and binary cache","description":"Open questions from CI research (nixos-configs-2hq):\n\n## Questions to Resolve\n\n1. **Runner Configuration**\n - What labels are configured on the existing runner?\n - Is Nix available on the runner (host-based or container)?\n - What's the runner's system architecture?\n\n2. **Binary Cache Decision**\n - Is a binary cache desired for faster builds?\n - Options: Cachix (hosted), Attic (self-hosted), none\n - Trade-off: Setup complexity vs build speed improvement\n\n## Actions\n- Document current runner setup\n- Decide on caching strategy\n- Update research doc with findings\n\nRelated: nixos-configs-2hq (CI enablement)","notes":"## Research Findings (2026-01-13)\n\n### Runner Configuration\n- **Type**: DinD (gitea/act_runner:0.2.13-dind)\n- **Labels**: Default (ubuntu-latest)\n- **Architecture**: x86_64/amd64\n- **Resources**: 3Gi RAM, 2 CPU cores\n- **Node affinity**: fast-cpu + fast-storage nodes\n- **Config**: /home/johno/k3s-cluster-config/clusters/oglenet/apps/infrastructure/gitea-actions-runner.yaml\n- **No built-in Nix**: Tools installed on-demand per workflow\n\n### Heirloom Nix Caching Pattern\n- **File**: .gitea/workflows/ci.yml\n- **Installer**: DeterminateSystems/nix-installer-action@main\n- **Cache**: actions/cache@v4\n- **Cached paths**: /nix/store, /nix/var/nix, ~/.cache/nix\n- **Key strategy**: nix-${{ runner.os }}-${{ hashFiles('flake.lock') }}\n- **Restore keys**: nix-${{ runner.os }}-\n\n### Multi-Repo Strategy Options\n1. Copy-paste pattern (simplest)\n2. Reusable composite action (DRY)\n3. Shared cache prefix for common nixpkgs (advanced)","status":"open","priority":2,"issue_type":"task","created_at":"2026-01-12T21:01:31.34125749-08:00","created_by":"johno","updated_at":"2026-01-13T15:37:52.300653105-08:00"} +{"id":"nixos-configs-2eu","title":"Resolve CI open questions: runner config and binary cache","description":"Open questions from CI research (nixos-configs-2hq):\n\n## Questions to Resolve\n\n1. **Runner Configuration**\n - What labels are configured on the existing runner?\n - Is Nix available on the runner (host-based or container)?\n - What's the runner's system architecture?\n\n2. **Binary Cache Decision**\n - Is a binary cache desired for faster builds?\n - Options: Cachix (hosted), Attic (self-hosted), none\n - Trade-off: Setup complexity vs build speed improvement\n\n## Actions\n- Document current runner setup\n- Decide on caching strategy\n- Update research doc with findings\n\nRelated: nixos-configs-2hq (CI enablement)","notes":"Plan: thoughts/beads-nixos-configs-2eu/plan.md\n\n## Research Findings (2026-01-13)\n\n### Runner Configuration\n- Type: DinD (gitea/act_runner:0.2.13-dind)\n- Labels: Default (ubuntu-latest)\n- Architecture: x86_64/amd64\n- Resources: 3Gi RAM, 2 CPU cores\n- No built-in Nix\n\n### Decision: Reusable composite action with isolated per-repo caches","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-12T21:01:31.34125749-08:00","created_by":"johno","updated_at":"2026-01-13T16:33:00.421740815-08:00","closed_at":"2026-01-13T16:33:00.421740815-08:00","close_reason":"Implemented reusable nix-setup composite action in johno/gitea-actions repo. CI enabled for nixos-configs with Nix caching."} {"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":"in_review","priority":2,"issue_type":"task","created_at":"2026-01-10T11:16:17.069453458-08:00","created_by":"johno","updated_at":"2026-01-13T06:58:34.93236005-08:00","dependencies":[{"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"}]} {"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":"in_review","priority":3,"issue_type":"task","created_at":"2026-01-10T10:31:28.363467309-08:00","created_by":"johno","updated_at":"2026-01-13T06:58:34.874939972-08:00"} {"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)","status":"open","priority":2,"issue_type":"task","created_at":"2026-01-12T21:01:30.126212873-08:00","created_by":"johno","updated_at":"2026-01-12T21:01:30.126212873-08:00"} @@ -22,6 +22,7 @@ {"id":"nixos-configs-f7d","title":"Gitea integration Phase 3: Advanced features","description":"Advanced Gitea integration features.\n\nDeliverables:\n- Issue relations/dependencies sync\n- Configurable mapping via bd config\n- Auto-import with file watching\n- Milestone/project support\n\nParent: nixos-configs-cph","status":"closed","priority":4,"issue_type":"task","created_at":"2026-01-12T20:31:54.704415817-08:00","created_by":"johno","updated_at":"2026-01-12T20:41:43.8115778-08:00","closed_at":"2026-01-12T20:41:43.8115778-08:00","close_reason":"Deprioritized - revisit after more workflow experimentation","dependencies":[{"issue_id":"nixos-configs-f7d","depends_on_id":"nixos-configs-yrc","type":"blocks","created_at":"2026-01-12T20:32:05.938697843-08:00","created_by":"johno"}]} {"id":"nixos-configs-fkt","title":"Parameterize hardcoded values in roles","description":"From System Roles evaluation: Several roles have hardcoded values that should be configurable:\n- printing role: hardcoded printer URI (ipp://brother.oglehome/ipp/print)\n- nfs-mounts: hardcoded NFS server IP (10.0.0.43)\n- virtualisation: hardcoded 'johno' for docker group","status":"in_review","priority":3,"issue_type":"task","created_at":"2026-01-10T10:31:25.104059999-08:00","created_by":"johno","updated_at":"2026-01-13T06:58:34.910726046-08:00"} {"id":"nixos-configs-g47","title":"Gitea integration Phase 1: Import-only Go package","description":"Create internal/gitea/ package with REST client and import support.\n\nTarget: git.johnogle.info\n\nDeliverables:\n- types.go - Gitea API response types\n- client.go - REST client with pagination, auth\n- mapping.go - Field conversion to beads format\n- Import via JSONL generation or direct importer integration\n\nParent: nixos-configs-cph","notes":"Plan: thoughts/beads-nixos-configs-g47/plan.md","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-12T20:31:52.854036374-08:00","created_by":"johno","updated_at":"2026-01-12T20:41:43.786807944-08:00","closed_at":"2026-01-12T20:41:43.786807944-08:00","close_reason":"Deprioritized - revisit after more workflow experimentation"} +{"id":"nixos-configs-g4n","title":"Add contribution guidelines check to beads skills","description":"Update beads workflow skills to respect project contribution guidelines.\n\n## Problem\nCurrently, beads skills (parallel_beads, beads_research, beads_plan, beads_implement) don't check for project-specific conventions before proceeding with work. This can lead to implementations that don't follow project standards.\n\n## Solution\nAdd a contribution guidelines check step to relevant skills:\n1. Look for CONTRIBUTING.md, .github/CONTRIBUTING.md, or similar docs\n2. Parse requirements (testing, code style, PR conventions, etc.)\n3. Incorporate requirements into planning and verification steps\n\n## Example\nIf a project's CONTRIBUTING.md states 'All user-facing features must have e2e tests':\n- beads_plan should include e2e test implementation in the plan\n- beads_implement should verify e2e tests exist before marking complete","notes":"Skills to update: parallel_beads, beads_research, beads_plan, beads_implement\n\nBefore proceeding with work, skills should check for:\n- CONTRIBUTING.md or similar contribution guidelines doc\n- Project-specific requirements (e.g., e2e tests for user-facing features)\n- Testing requirements, code style, PR conventions\n\nThe workflow should automatically adhere to project conventions discovered in these docs.\n\nExample: If a project requires e2e tests for all user-facing features, beads_plan should include e2e test steps and beads_implement should verify they exist before closing.","status":"open","priority":2,"issue_type":"feature","created_at":"2026-01-13T16:28:42.914580383-08:00","created_by":"johno","updated_at":"2026-01-13T16:28:51.246888334-08:00"} {"id":"nixos-configs-g72","title":"Move import_gitea_issues to user-level skill","notes":"Move the import_gitea_issues skill from project-level (.claude/commands/) to user-level (home/roles/development/skills/).\n\nCurrent location: .claude/commands/import_gitea_issues.md\nTarget location: home/roles/development/skills/import_gitea_issues.md\n\nThe pattern in home/roles/development/default.nix already handles copying skills from the skills/ directory to ~/.claude/commands/ during Home Manager activation.\n\nSteps:\n1. Move .claude/commands/import_gitea_issues.md to home/roles/development/skills/\n2. Delete the project-level file\n3. Rebuild Home Manager to verify it installs correctly","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-13T15:37:21.943582814-08:00","created_by":"johno","updated_at":"2026-01-13T15:38:05.00187434-08:00","closed_at":"2026-01-13T15:38:05.00187434-08:00","close_reason":"Closed"} {"id":"nixos-configs-geh","title":"Evaluate Scripts \u0026 Utilities","description":"# Investigation: Scripts \u0026 Utilities\n\n## Questions to Answer\n- Are flake apps organized?\n- Are there automation opportunities?\n- Are scripts discoverable and documented?\n\n## Key Files\n- Flake apps definitions\n- Shell scripts in the repo\n- Utility modules\n\n## Approach\n1. Use `/humanlayer:research_codebase_nt` to analyze scripts and utilities\n2. Identify missing automation opportunities\n3. Use `/humanlayer:create_plan_nt` to plan improvements","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-10T10:08:26.9906695-08:00","created_by":"johno","updated_at":"2026-01-10T10:11:53.187286416-08:00","closed_at":"2026-01-10T10:11:53.187286416-08:00","close_reason":"# Scripts \u0026 Utilities Evaluation\n\n## Summary\nThe NixOS config repository has a well-organized scripts and utilities system with good practices in place.\n\n## Flake Apps (4 available apps)\nAll apps defined in flake.nix, cross-platform (x86_64-linux, aarch64-linux, aarch64-darwin):\n- update-doomemacs: Updates DoomEmacs to latest commit with SHA256 refresh\n- update-claude-code: Updates claude-code package from Homebrew cask (supports --dry-run)\n- rotate-wallpaper: Cycles through wallpaper index\n- upgrade: Meta-script updating flake + doom + claude + wallpaper\n\n### Architecture Strengths\n- Uses writeShellScriptBin with explicit dependency paths via makeBinPath\n- Common dependencies (curl, jq, nix, git, sed, grep, coreutils, gawk) properly managed\n- All scripts use set -euo pipefail for safety\n\n## Standalone Scripts (2 root-level)\n- bootstrap.sh: Initial system setup from remote flake\n- build-liveusb.sh: Builds live USB ISO\n\n## Custom Packages (/packages/) - 5 packages\n1. claude-code - Multi-platform binary distribution with GCS URLs\n2. tea-rbw - Wrapper around tea integrating with rbw for auth\n3. app-launcher-server - Python HTTP server for launching allowlisted apps\n4. vulkan-hdr-layer - HDR graphics layer\n5. perles - Go-based TUI for Beads issue tracking\n\n## Recommendations\nMedium Priority:\n- Add help flags to all flake apps for consistency\n- Consider adding nix run .#help app listing all available apps\n\nLow Priority:\n- Move bootstrap.sh and build-liveusb.sh to flake apps\n- Add comments to packages/default.nix describing each package\n\n## Missing Automation Opportunities\n1. No auto-update mechanism (could add CI job or systemd timer)\n2. No pre-commit hooks for Nix syntax validation\n3. No flake.lock update notifications\n\n## Conclusion\nWell-designed scripts/utilities system using good Nix idioms. The flake apps pattern provides cross-platform consistency. Main gap is documentation/discoverability (minor for personal config). No blocking issues."} {"id":"nixos-configs-is4","title":"Extend nvidia role to include driver configuration","description":"From System Roles evaluation: The current roles.nvidia only handles packages, not driver configuration. The hardware.nvidia block is duplicated in zix790prors and wixos. Extend the role to include driver config with options for open driver, power management, etc.","notes":"Plan created: thoughts/beads-nixos-configs-is4/plan.md - NOTE: Work already completed in commit 9973273 (2026-01-10). Recommend closing bead.","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-10T10:31:24.157222208-08:00","created_by":"johno","updated_at":"2026-01-12T20:48:25.864179759-08:00","closed_at":"2026-01-12T20:48:25.864179759-08:00","close_reason":"Already implemented"} @@ -37,5 +38,6 @@ {"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-v2v","title":"Pin perles package to specific commit","description":"From Custom Packages evaluation: perles in packages/perles/default.nix uses rev = 'main' instead of a pinned commit. This breaks reproducibility. Should pin to a specific commit hash.","status":"closed","priority":2,"issue_type":"bug","created_at":"2026-01-10T10:31:27.624760234-08:00","created_by":"johno","updated_at":"2026-01-12T20:42:40.886662599-08:00","closed_at":"2026-01-12T20:42:40.886662599-08:00","close_reason":"perles package was removed entirely"} {"id":"nixos-configs-vru","title":"Add skill for responding to Gitea PR review comments","description":"## Problem\n\nWhen responding to PR review comments on Gitea/Forgejo, the REST API (`/api/v1/...`) does not support replying directly to review comment threads. Using `tea comment` or the API creates new top-level comments instead of inline thread replies.\n\n## Discovery\n\nThe web UI uses a different endpoint that supports replies:\n\n```\nPOST /pulls/{id}/files/reviews/comments\nContent-Type: multipart/form-data\n```\n\nKey form fields:\n- `reply`: Review ID to reply to (e.g., `2`)\n- `content`: The reply message\n- `path`: File path (e.g., `home/roles/development/default.nix`)\n- `line`: Line number\n- `side`: `proposed` or `original`\n- `single_review`: `true`\n- `origin`: `timeline`\n- `_csrf`: CSRF token (required)\n\nAuthentication requires session cookies, not API token.\n\n## Proposed Solution\n\nCreate a Claude skill that can:\n1. Fetch PR review comments via the REST API\n2. Authenticate via browser session or find alternative auth method\n3. Post inline replies to review comment threads using the web endpoint\n\n### Options to explore:\n1. **Session extraction**: Get cookies from browser or `tea` config\n2. **Headless browser**: Use playwright/puppeteer to automate web UI\n3. **CSRF flow**: Login via API, get CSRF token, then use web endpoint\n4. **tea enhancement**: Check if `tea` CLI has undocumented reply support\n\n## API Reference\n\nGet reviews:\n```bash\ncurl -H \"Authorization: token $TOKEN\" \\\n \"https://git.johnogle.info/api/v1/repos/{owner}/{repo}/pulls/{id}/reviews\"\n```\n\nGet review comments:\n```bash\ncurl -H \"Authorization: token $TOKEN\" \\\n \"https://git.johnogle.info/api/v1/repos/{owner}/{repo}/pulls/{id}/reviews/{review_id}/comments\"\n```\n\n## Acceptance Criteria\n\n- [ ] Skill can read PR review comments given a PR number\n- [ ] Skill can post inline replies to specific review comment threads\n- [ ] Works with Gitea/Forgejo instances (git.johnogle.info)\n- [ ] Handles authentication securely","notes":"Plan: thoughts/beads-nixos-configs-vru/plan.md\nPR: https://git.johnogle.info/johno/nixos-configs/pulls/26","status":"closed","priority":2,"issue_type":"feature","created_at":"2026-01-10T11:29:18.493043744-08:00","created_by":"johno","updated_at":"2026-01-13T09:15:11.532836665-08:00","closed_at":"2026-01-13T09:15:11.532836665-08:00","close_reason":"PR merged"} +{"id":"nixos-configs-w0v","title":"Add Renovate for dependency tracking","description":"Set up Renovate bot to automatically track and update dependencies in Gitea Actions workflows.\n\n## Motivation\n- actions/checkout@v4 and other actions may become outdated\n- Manual tracking is error-prone\n- Renovate can auto-create PRs for updates\n\n## Scope\n- gitea-actions repo (composite actions use DeterminateSystems/nix-installer-action, actions/cache)\n- nixos-configs CI workflow\n- Potentially other repos with Gitea Actions\n\n## Tasks\n- Set up Renovate bot on Gitea instance (or use Mend Renovate if available)\n- Create renovate.json configuration\n- Configure update grouping strategy\n- Test PR creation for dependency updates","notes":"Track action version updates (e.g., actions/checkout, DeterminateSystems/nix-installer-action).\n\nApplies to:\n- gitea-actions repo (composite actions)\n- nixos-configs CI workflow\n- Other repos using Gitea Actions\n\nConsider:\n- Renovate bot setup on Gitea\n- renovate.json configuration\n- Grouping strategies for action updates","status":"open","priority":3,"issue_type":"task","created_at":"2026-01-13T16:25:39.216159651-08:00","created_by":"johno","updated_at":"2026-01-13T16:25:48.028129064-08:00"} {"id":"nixos-configs-wb1","title":"Fix tmux 'missing or unsuitable terminal: xterm-ghostty' on SSH","description":"When SSH'ing to john-endesktop and running 'tmux attach', tmux fails with 'missing or unsuitable terminal: xterm-ghostty'. This happens because the remote machine doesn't have the terminfo for ghostty installed.\n\nPreferred solution: Install ghostty terminfo as part of the NixOS configuration so all machines have it available, even those not running ghostty directly.","status":"closed","priority":2,"issue_type":"bug","created_at":"2026-01-13T14:06:13.003367074-08:00","created_by":"johno","updated_at":"2026-01-13T14:09:38.6337072-08:00","closed_at":"2026-01-13T14:09:38.6337072-08:00","close_reason":"Added ghostty.terminfo to roles/common.nix"} {"id":"nixos-configs-yrc","title":"Gitea integration Phase 2: Bidirectional sync","description":"Add push support to Gitea integration.\n\nDeliverables:\n- CreateIssue/UpdateIssue methods in client.go\n- Conflict detection and resolution\n- bd sync --gitea integration\n- Incremental sync via updated_at filtering\n\nParent: nixos-configs-cph","status":"closed","priority":3,"issue_type":"task","created_at":"2026-01-12T20:31:53.714748854-08:00","created_by":"johno","updated_at":"2026-01-12T20:41:43.804389915-08:00","closed_at":"2026-01-12T20:41:43.804389915-08:00","close_reason":"Deprioritized - revisit after more workflow experimentation","dependencies":[{"issue_id":"nixos-configs-yrc","depends_on_id":"nixos-configs-g47","type":"blocks","created_at":"2026-01-12T20:32:05.872628288-08:00","created_by":"johno"}]}