feat: add container-use package and fix goose-cli libclang dependency

- Add dagger/container-use (v0.4.2) for containerized coding agent environments
- Fix goose-cli build by adding llvmPackages.libclang for bindgen
- Clean up skillsmcp package (remove custom fastmcp override, use nixos-unstable)
- Remove broken update.py script from goose-cli
- Add treefmt.toml for consistent formatting
- Update README with all current packages
This commit is contained in:
2026-05-06 13:42:42 +03:00
parent c68a821a00
commit ce5e6a53f7
8 changed files with 59 additions and 24 deletions

View File

@@ -12,6 +12,7 @@ A custom Nix overlay and flake providing additional packages not found in upstre
| Package | Description | Category |
|---------|-------------|----------|
| `container-use` | Containerized environments for coding agents | AI Coding Agents |
| `goose-cli` | CLI for Goose - a local, extensible, open source AI agent that automates engineering tasks | AI Coding Agents |
| `mcp-gateway` | Universal Model Context Protocol gateway that sits between AI client and MCP tools/servers | MCP Servers |
| `skillsmcp` | MCP server that exposes Agent Skills to AI agents via the Model Context Protocol | MCP Servers |

8
flake.lock generated
View File

@@ -75,16 +75,16 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1777946660,
"narHash": "sha256-iw3XDIG6xxk+AZTcawCLHf6i9i4tXRzLZEoV9xhRToQ=",
"lastModified": 1777954456,
"narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bc57abace07689cfd34203aa5fb4027514895987",
"rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}

View File

@@ -6,7 +6,7 @@
};
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
systems.url = "github:nix-systems/default";
blueprint = {
url = "github:numtide/blueprint";
@@ -40,9 +40,21 @@
nixpkgs.config.allowUnfree = true;
};
extraPackages = inputs.nixpkgs.lib.genAttrs (builtins.attrNames blueprintOutputs.packages) (
system:
let
pkgs = inputs.nixpkgs.legacyPackages.${system};
in
{
container-use = pkgs.callPackage ./packages/container-use/package.nix { };
}
);
in
blueprintOutputs
// {
packages = inputs.nixpkgs.lib.recursiveUpdate blueprintOutputs.packages extraPackages;
overlays = {
default = import ./overlays {
inherit (blueprintOutputs) packages;

View File

@@ -0,0 +1 @@
{ pkgs, ... }: pkgs.callPackage ./package.nix { }

View File

@@ -0,0 +1,38 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "container-use";
version = "0.4.2";
src = fetchFromGitHub {
owner = "dagger";
repo = "container-use";
rev = "v${version}";
hash = "sha256-YKgS142a9SL1ZEjS+VArxwUzQX961zwlGuHW43AMxQA=";
};
vendorHash = "sha256-M7YhEm9Gmjv2gxB2r7AS5JLLThEkvtJfLBrB+cvsN5c=";
env.CGO_ENABLED = 0;
subPackages = [ "cmd/container-use" ];
doCheck = false;
ldflags = [
"-s -w -X main.version=v${version}"
];
meta = with lib; {
description = "Containerized environments for coding agents";
homepage = "https://github.com/dagger/container-use";
changelog = "https://github.com/dagger/container-use/releases/tag/v${version}";
license = licenses.asl20;
mainProgram = "container-use";
platforms = platforms.linux ++ platforms.darwin;
};
}

View File

@@ -1,4 +1 @@
{ pkgs, ... }:
pkgs.callPackage ./package.nix {
fastmcp = pkgs.callPackage ./fastmcp.nix { };
}
{ pkgs, ... }: pkgs.callPackage ./package.nix { }

View File

@@ -1,7 +0,0 @@
{ python3Packages }:
# Use fastmcp from nixpkgs but disable tests
python3Packages.fastmcp.overrideAttrs (old: {
doCheck = false;
doInstallCheck = false;
})

View File

@@ -2,7 +2,6 @@
lib,
python3Packages,
fetchFromGitHub,
fastmcp,
}:
python3Packages.buildPythonApplication rec {
@@ -22,7 +21,7 @@ python3Packages.buildPythonApplication rec {
];
dependencies = [
fastmcp
python3Packages.fastmcp
python3Packages.pyyaml
];
@@ -30,12 +29,6 @@ python3Packages.buildPythonApplication rec {
doCheck = false;
pythonImportsCheck = [ "skillsmcp" ];
# Patch to accept fastmcp 2.x from nixpkgs
postPatch = ''
# Replace version requirement in pyproject.toml
sed -i 's/"fastmcp>=3.0.0"/"fastmcp>=2.0"/' pyproject.toml
'';
passthru.category = "MCP Servers";
meta = with lib; {