diff --git a/README.md b/README.md index 70c650b..f8997ef 100644 --- a/README.md +++ b/README.md @@ -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 | diff --git a/flake.lock b/flake.lock index b1aa145..122574d 100644 --- a/flake.lock +++ b/flake.lock @@ -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" } diff --git a/flake.nix b/flake.nix index dc6fe2f..d3b10a5 100644 --- a/flake.nix +++ b/flake.nix @@ -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; diff --git a/packages/container-use/default.nix b/packages/container-use/default.nix new file mode 100644 index 0000000..0ee9128 --- /dev/null +++ b/packages/container-use/default.nix @@ -0,0 +1 @@ +{ pkgs, ... }: pkgs.callPackage ./package.nix { } diff --git a/packages/container-use/package.nix b/packages/container-use/package.nix new file mode 100644 index 0000000..9ef9048 --- /dev/null +++ b/packages/container-use/package.nix @@ -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; + }; +} diff --git a/packages/skillsmcp/default.nix b/packages/skillsmcp/default.nix index 0481af8..0ee9128 100644 --- a/packages/skillsmcp/default.nix +++ b/packages/skillsmcp/default.nix @@ -1,4 +1 @@ -{ pkgs, ... }: -pkgs.callPackage ./package.nix { - fastmcp = pkgs.callPackage ./fastmcp.nix { }; -} +{ pkgs, ... }: pkgs.callPackage ./package.nix { } diff --git a/packages/skillsmcp/fastmcp.nix b/packages/skillsmcp/fastmcp.nix deleted file mode 100644 index 6dfeef1..0000000 --- a/packages/skillsmcp/fastmcp.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ python3Packages }: - -# Use fastmcp from nixpkgs but disable tests -python3Packages.fastmcp.overrideAttrs (old: { - doCheck = false; - doInstallCheck = false; -}) diff --git a/packages/skillsmcp/package.nix b/packages/skillsmcp/package.nix index 56f776b..c451137 100644 --- a/packages/skillsmcp/package.nix +++ b/packages/skillsmcp/package.nix @@ -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; {