diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl index 83f8956..e4e00af 100644 --- a/.beads/issues.jsonl +++ b/.beads/issues.jsonl @@ -1,3 +1,4 @@ +{"_type":"issue","id":"nix-overlay-67e","title":"Add traycer package","description":"Add new package for traycer from https://github.com/traycerai/traycer. Steps: research repo build system, create packages/traycer/, stage with git add, test nix build, update README.","status":"in_progress","priority":2,"issue_type":"task","assignee":"Alexander Miroshnichenko","owner":"alex@millerson.name","created_at":"2026-08-07T08:59:25Z","created_by":"Alexander Miroshnichenko","updated_at":"2026-08-07T09:00:29Z","started_at":"2026-08-07T09:00:29Z","dependency_count":0,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"nix-overlay-2gf","title":"Update all packages to latest versions","description":"## Why\\nUser request: update every package in the overlay to its latest upstream version.\\n\\n## What\\nBump version + src hash (and cargoHash for Rust) in each packages/\u003cname\u003e/package.nix, update README table if needed, verify builds.\\n\\n## Acceptance\\n- Every package builds with nix build .#\u003cname\u003e\\n- README reflects new versions\\n- Changes committed and pushed","status":"in_progress","priority":2,"issue_type":"task","assignee":"Alexander Miroshnichenko","owner":"alex@millerson.name","created_at":"2026-08-07T07:22:50Z","created_by":"Alexander Miroshnichenko","updated_at":"2026-08-07T07:22:55Z","started_at":"2026-08-07T07:22:55Z","dependency_count":0,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"nix-overlay-9xs","title":"Update all packages to latest versions","description":"Update every package in packages/ to its latest upstream version, refresh source hashes and cargoHashes, verify builds, update README.","status":"in_progress","priority":2,"issue_type":"task","assignee":"Alexander Miroshnichenko","owner":"alex@millerson.name","created_at":"2026-08-07T05:45:16Z","created_by":"Alexander Miroshnichenko","updated_at":"2026-08-07T05:45:22Z","started_at":"2026-08-07T05:45:22Z","dependency_count":0,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"nix-overlay-f8c","title":"Add nftablesbuilder package","description":"Package NftablesBuilder (github.com/AiseBouma/NftablesBuilder) web interface to manage nftables. Upstream source is incomplete (missing settings crate, no GUI build tooling, no Cargo.lock) so: patch in authored settings crate (schema from release artifacts), build Rust workspace from pinned commit, reuse built GUI assets from hash-pinned release tarball.","status":"closed","priority":2,"issue_type":"task","assignee":"Alexander Miroshnichenko","owner":"alex@millerson.name","created_at":"2026-08-07T04:58:22Z","created_by":"Alexander Miroshnichenko","updated_at":"2026-08-07T05:38:40Z","started_at":"2026-08-07T04:58:25Z","closed_at":"2026-08-07T05:38:40Z","close_reason":"Package added, builds green, committed","dependency_count":0,"dependent_count":0,"comment_count":0} diff --git a/README.md b/README.md index 6765dda..cd16c3a 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ A custom Nix overlay and flake providing additional packages not found in upstre | `omniroute` | Unified AI router with 160+ providers, auto fallback, MCP/A2A, OpenAI-compatible APIs | AI LLM Gateway | | `relay-free-llm` | RESTful API to route user prompts to various AI model providers with automatic failover and intent-based routing | AI LLM Gateway | | `stakpak` | DevOps AI agent that generates infrastructure code, debugs Kubernetes, configures CI/CD, and automates deployments | AI Agents | +| `traycer` | Open-source AI orchestration app for agentic coding | AI Coding Agents | ## Usage @@ -155,7 +156,8 @@ nix-overlay/ │ ├── radar/ # Kubernetes UI (topology, timeline, Helm, GitOps) │ ├── relay-free-llm/ # AI model provider routing gateway │ ├── skillsmcp/ # MCP server for Agent Skills -│ └── stakpak/ # DevOps AI agent for infrastructure automation +│ ├── stakpak/ # DevOps AI agent for infrastructure automation +│ └── traycer/ # AI orchestration desktop app (agentic coding) └── README.md ``` diff --git a/packages/traycer/default.nix b/packages/traycer/default.nix new file mode 100644 index 0000000..0ee9128 --- /dev/null +++ b/packages/traycer/default.nix @@ -0,0 +1 @@ +{ pkgs, ... }: pkgs.callPackage ./package.nix { } diff --git a/packages/traycer/package.nix b/packages/traycer/package.nix new file mode 100644 index 0000000..74e7b44 --- /dev/null +++ b/packages/traycer/package.nix @@ -0,0 +1,56 @@ +{ + lib, + appimageTools, + fetchurl, +}: + +let + version = "1.1.10"; + src = fetchurl { + url = "https://github.com/traycerai/traycer/releases/download/desktop-v${version}/traycer-desktop-linux-x86_64.AppImage"; + hash = "sha256-+aSlqX1RCpbKuV0j7xEBMQDAq/IzpvCC5XZ/psQJcjY="; + }; + appimageContents = appimageTools.extractType2 { + pname = "traycer"; + inherit version src; + }; +in + +appimageTools.wrapType2 { + pname = "traycer"; + inherit version src; + + extraPkgs = pkgsWith: [ + pkgsWith.gtk3 + pkgsWith.glib + ]; + + extraInstallCommands = '' + mkdir -p $out/share/applications + install -m 444 ${appimageContents}/traycer-desktop.desktop $out/share/applications/traycer.desktop + substituteInPlace $out/share/applications/traycer.desktop \ + --replace-fail 'Exec=AppRun --no-sandbox %U' 'Exec=traycer --no-sandbox %U' + + mkdir -p $out/share/icons/hicolor + cp -r ${appimageContents}/usr/share/icons/hicolor/* $out/share/icons/hicolor/ + ''; + + passthru = { + category = "AI Coding Agents"; + updateScript = [ + "nix-update" + "--flake" + ".#traycer" + ]; + }; + + meta = { + description = "Open-source AI orchestration app for agentic coding"; + homepage = "https://github.com/traycerai/traycer"; + license = lib.licenses.mit; + maintainers = [ ]; + platforms = [ "x86_64-linux" ]; + mainProgram = "traycer"; + sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; + }; +}