feat(dev): add gastown multi-agent workspace manager

- Add gastown flake input (non-flake, source only)
- Build gastown package using buildGoModule in development role
- Configure renovate for daily updates of gastown and beads
- Binary: gt (Gas Town CLI by Steve Yegge)
This commit is contained in:
2026-01-17 13:14:12 -08:00
parent c06adec7d8
commit cc305af899
4 changed files with 66 additions and 0 deletions

17
flake.lock generated
View File

@@ -78,6 +78,22 @@
"type": "github"
}
},
"gastown": {
"flake": false,
"locked": {
"lastModified": 1768682809,
"narHash": "sha256-PCP5PQasLqL5/OVNw6LsjiFfIU4RNniicTUcVq2ggHg=",
"owner": "steveyegge",
"repo": "gastown",
"rev": "9cd2696abe68ac0defc612ace5028d327d4f207d",
"type": "github"
},
"original": {
"owner": "steveyegge",
"repo": "gastown",
"type": "github"
}
},
"google-cookie-retrieval": {
"inputs": {
"nixpkgs": [
@@ -306,6 +322,7 @@
"root": {
"inputs": {
"beads": "beads",
"gastown": "gastown",
"google-cookie-retrieval": "google-cookie-retrieval",
"home-manager": "home-manager",
"home-manager-unstable": "home-manager-unstable",

View File

@@ -47,6 +47,11 @@
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
gastown = {
url = "github:steveyegge/gastown";
flake = false; # No flake.nix upstream yet
};
nix-doom-emacs-unstraightened = {
url = "github:marienz/nix-doom-emacs-unstraightened";
# Don't follow nixpkgs to avoid rebuild issues with emacs-overlay

View File

@@ -11,6 +11,23 @@ let
vendorHash = "sha256-YU+bRLVlWtHzJ1QPzcKJ70f+ynp8lMoIeFlm+29BNPE=";
});
# Gastown - multi-agent workspace manager (no upstream flake.nix yet)
# Source is tracked via flake input for renovate updates
gastownPackage = pkgs.buildGoModule {
pname = "gastown";
version = "unstable-${builtins.substring 0 8 globalInputs.gastown.rev or "unknown"}";
src = globalInputs.gastown;
vendorHash = "sha256-ripY9vrYgVW8bngAyMLh0LkU/Xx1UUaLgmAA7/EmWQU=";
subPackages = [ "cmd/gt" ];
doCheck = false;
meta = with lib; {
description = "Gas Town - multi-agent workspace manager by Steve Yegge";
homepage = "https://github.com/steveyegge/gastown";
license = licenses.mit;
mainProgram = "gt";
};
};
# Fetch the claude-plugins repository (for humanlayer commands/agents)
# Update the rev to get newer versions of the commands
claudePluginsRepo = builtins.fetchGit {
@@ -44,6 +61,7 @@ in
config = mkIf cfg.enable {
home.packages = [
beadsPackage
gastownPackage
pkgs.unstable.claude-code
pkgs.unstable.claude-code-router
pkgs.unstable.codex

View File

@@ -59,6 +59,32 @@
"matchPackageNames": [
"/google-cookie-retrieval/"
]
},
{
"description": "Gastown is under active development - check for updates daily",
"matchManagers": [
"nix"
],
"matchPackageNames": [
"/gastown/"
],
"schedule": [
"before 6am every day"
],
"automerge": false
},
{
"description": "Beads is under active development - check for updates daily",
"matchManagers": [
"nix"
],
"matchPackageNames": [
"/beads/"
],
"schedule": [
"before 6am every day"
],
"automerge": false
}
]
}