fix: resolve code quality issues, add CI, and improve maintainability

- Remove useless nixConfig block (cache.nixos.org is default)
- Remove manual container-use override; let blueprint auto-discover it
- Add nixosModules.default so README example works
- Fix default launcher: use correct parameterized flake URL
- Replace deprecated sha256 with hash in goose-cli fetchers
- Fix LIBCLANG_PATH to include /lib subdirectory for libclang.so
- Drop --release from goose-cli tests (faster, more debug info)
- Use builtins.toFile in flake-inputs to avoid ARG_MAX risk
- Add lib.warn when overlay has no packages for a system
- Add passthru.updateScript to goose-cli, container-use, skillsmcp
- Fix skillsmcp version to 0.2.0+unstable (pinned to commit, not tag)
- Replace with lib; with explicit references in all meta blocks
- Add update.py script for goose-cli (referenced in AGENTS.md)
- Expand .gitignore with result-* and .direnv/
- Add GitHub Actions CI workflow (nix flake check + build)
This commit is contained in:
2026-05-08 06:02:12 +03:00
parent 87c44ba6da
commit 0fd5c71709
12 changed files with 119 additions and 43 deletions

View File

@@ -40,7 +40,7 @@ rustPlatform.buildRustPackage rec {
env.RUSTY_V8_ARCHIVE = librusty_v8;
# bindgen (used by llama-cpp-sys-2) needs libclang
env.LIBCLANG_PATH = llvmPackages.libclang.lib;
env.LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
# Build only the CLI package
cargoBuildFlags = [
@@ -59,21 +59,28 @@ rustPlatform.buildRustPackage rec {
mkdir -p $XDG_CONFIG_HOME $XDG_DATA_HOME $XDG_STATE_HOME $XDG_CACHE_HOME
# Run tests for goose-cli package only
cargo test --package goose-cli --release
cargo test --package goose-cli
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
passthru.category = "AI Coding Agents";
passthru = {
category = "AI Coding Agents";
updateScript = [
"nix-update"
"--flake"
".#goose-cli"
];
};
meta = with lib; {
meta = {
description = "CLI for Goose - a local, extensible, open source AI agent that automates engineering tasks";
homepage = "https://github.com/block/goose";
changelog = "https://github.com/block/goose/releases/tag/v${version}";
license = licenses.asl20;
sourceProvenance = with sourceTypes; [ fromSource ];
license = lib.licenses.asl20;
sourceProvenance = with lib.sourceTypes; [ fromSource ];
mainProgram = "goose";
platforms = platforms.all;
platforms = lib.platforms.all;
};
}