init nix-stepiete-tools with summarize
This commit is contained in:
commit
0dae140c3c
25
README.md
Normal file
25
README.md
Normal file
@ -0,0 +1,25 @@
|
||||
# nix-stepiete-tools
|
||||
|
||||
Nix packaging for Peter Steinberger's tools, with per-tool clawdbot plugins.
|
||||
|
||||
Darwin-only for now (aarch64-darwin).
|
||||
|
||||
## Usage (clawdbot plugins)
|
||||
|
||||
Each tool is a subflake under `tools/<tool>` and exposes `clawdbotPlugin`.
|
||||
|
||||
Example (summarize):
|
||||
|
||||
```nix
|
||||
plugins = [
|
||||
{ source = "github:clawdbot/nix-stepiete-tools?dir=tools/summarize"; }
|
||||
];
|
||||
```
|
||||
|
||||
## Packages (root flake)
|
||||
|
||||
You can also import packages directly from the root flake:
|
||||
|
||||
```nix
|
||||
inputs.nix-stepiete-tools.packages.${pkgs.system}.summarize
|
||||
```
|
||||
27
flake.lock
generated
Normal file
27
flake.lock
generated
Normal file
@ -0,0 +1,27 @@
|
||||
{
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1767364772,
|
||||
"narHash": "sha256-fFUnEYMla8b7UKjijLnMe+oVFOz6HjijGGNS1l7dYaQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "16c7794d0a28b5a37904d55bcca36003b9109aaa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
25
flake.nix
Normal file
25
flake.nix
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
description = "Nix packaging for steipete tools (clawdbot)";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs }:
|
||||
let
|
||||
systems = [ "aarch64-darwin" ];
|
||||
forAllSystems = f: nixpkgs.lib.genAttrs systems (system: f system);
|
||||
in {
|
||||
packages = forAllSystems (system:
|
||||
let
|
||||
pkgs = import nixpkgs { inherit system; };
|
||||
in {
|
||||
summarize = pkgs.callPackage ./nix/pkgs/summarize.nix {};
|
||||
}
|
||||
);
|
||||
|
||||
checks = forAllSystems (system: {
|
||||
summarize = self.packages.${system}.summarize;
|
||||
});
|
||||
};
|
||||
}
|
||||
3
garnix.yaml
Normal file
3
garnix.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
builds:
|
||||
include:
|
||||
- "checks.aarch64-darwin.*"
|
||||
34
nix/pkgs/summarize.nix
Normal file
34
nix/pkgs/summarize.nix
Normal file
@ -0,0 +1,34 @@
|
||||
{ lib, stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "summarize";
|
||||
version = "0.9.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/steipete/summarize/releases/download/v0.9.0/summarize-macos-arm64-v0.9.0.tar.gz";
|
||||
hash = "sha256-B6/eUcbv4K9kgozo1fELFX+NNGa0C64dB6OSydwu6A8=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
unpackPhase = ''
|
||||
tar -xzf "$src"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p "$out/bin"
|
||||
cp summarize "$out/bin/summarize"
|
||||
chmod 0755 "$out/bin/summarize"
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Link → clean text → summary";
|
||||
homepage = "https://github.com/steipete/summarize";
|
||||
license = licenses.mit;
|
||||
platforms = [ "aarch64-darwin" ];
|
||||
mainProgram = "summarize";
|
||||
};
|
||||
}
|
||||
1
result
Symbolic link
1
result
Symbolic link
@ -0,0 +1 @@
|
||||
/nix/store/j39ry85yas1jgjs5hn7a9mx6v96nx093-summarize-0.9.0
|
||||
27
tools/summarize/flake.nix
Normal file
27
tools/summarize/flake.nix
Normal file
@ -0,0 +1,27 @@
|
||||
{
|
||||
description = "clawdbot plugin: summarize";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||
root.url = "path:../..";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, root }:
|
||||
let
|
||||
system = "aarch64-darwin";
|
||||
pkgs = import nixpkgs { inherit system; };
|
||||
summarize = root.packages.${system}.summarize;
|
||||
in {
|
||||
packages.${system}.summarize = summarize;
|
||||
|
||||
clawdbotPlugin = {
|
||||
name = "summarize";
|
||||
skills = [ ./skills/summarize ];
|
||||
packages = [ summarize ];
|
||||
needs = {
|
||||
stateDirs = [];
|
||||
requiredEnv = [];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
9
tools/summarize/skills/summarize/SKILL.md
Normal file
9
tools/summarize/skills/summarize/SKILL.md
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
name: summarize
|
||||
description: Summarize a URL by extracting clean text.
|
||||
---
|
||||
|
||||
Use the `summarize` CLI to fetch a URL and return a summary.
|
||||
|
||||
Example:
|
||||
- summarize https://example.com/article
|
||||
Loading…
Reference in New Issue
Block a user