diff options
| author | jgart <jgart@dismail.de> | 2026-08-14 10:35:38 +0100 |
|---|---|---|
| committer | jgart <jgart@dismail.de> | 2026-08-21 16:33:56 +0100 |
| commit | 91c8dc1805cbdf5a813af60f3afc2b10577f535e (patch) | |
| tree | 3df9bef3557a546fd177393a954dcb801f36bcc0 /gnu | |
| parent | f5326e03e27b938ca8aaae462b261193ac895d4f (diff) | |
gnu: Add kaagum.
* gnu/packages/guile-xyz.scm (kaagum): New variable.
Co-authored-by: Arun Isaac <arunisaac@systemreboot.net>
Change-Id: Ic05a77c25c1c6d870385adf258fe484a1b56584d
Diffstat (limited to 'gnu')
| -rw-r--r-- | gnu/packages/guile-xyz.scm | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 27dcf99eb03..f6656e26f47 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm | |||
| @@ -4252,6 +4252,75 @@ inspired by the SCSH regular expression system.") | |||
| 4252 | (name "guile2.2-irregex") | 4252 | (name "guile2.2-irregex") |
| 4253 | (native-inputs (list guile-2.2)))) | 4253 | (native-inputs (list guile-2.2)))) |
| 4254 | 4254 | ||
| 4255 | (define-public kaagum | ||
| 4256 | (package | ||
| 4257 | (name "kaagum") | ||
| 4258 | (version "0.1.0") | ||
| 4259 | (source | ||
| 4260 | (origin | ||
| 4261 | (method git-fetch) | ||
| 4262 | (uri (git-reference | ||
| 4263 | (url "https://git.systemreboot.net/kaagum") | ||
| 4264 | (commit (string-append "v" version)) | ||
| 4265 | (recursive? #t))) | ||
| 4266 | (file-name (git-file-name name version)) | ||
| 4267 | (sha256 | ||
| 4268 | (base32 "1f9k1jvpda9mzm74c612cxpj5h2bm5284s2qid4p2mrg7ffvs34k")))) | ||
| 4269 | (build-system gnu-build-system) | ||
| 4270 | (arguments | ||
| 4271 | (list #:make-flags | ||
| 4272 | #~(list (string-append "prefix=" #$output) | ||
| 4273 | (string-append "CERTIFICATES_DIRECTORY=" | ||
| 4274 | #$(this-package-native-input "nss-certs") | ||
| 4275 | "/etc/ssl/certs")) | ||
| 4276 | #:modules `(((guix build guile-build-system) | ||
| 4277 | #:select (target-guile-effective-version)) | ||
| 4278 | ,@%default-gnu-imported-modules) | ||
| 4279 | #:phases | ||
| 4280 | (with-imported-modules `((guix build guile-build-system) | ||
| 4281 | ,@%default-gnu-imported-modules) | ||
| 4282 | #~(modify-phases %standard-phases | ||
| 4283 | (replace 'patch-source-shebangs | ||
| 4284 | (lambda* (#:key inputs #:allow-other-keys) | ||
| 4285 | (substitute* "bin/kaagum" | ||
| 4286 | (("^exec guile") | ||
| 4287 | (string-append "exec " | ||
| 4288 | (search-input-file inputs "/bin/guile")))))) | ||
| 4289 | (delete 'configure) | ||
| 4290 | (add-after 'install 'wrap | ||
| 4291 | (lambda* (#:key inputs outputs #:allow-other-keys) | ||
| 4292 | (let ((out (assoc-ref outputs "out")) | ||
| 4293 | (effective-version (target-guile-effective-version))) | ||
| 4294 | (wrap-program (string-append out "/bin/kaagum") | ||
| 4295 | `("GUILE_LOAD_PATH" prefix | ||
| 4296 | (,(string-append out "/share/guile/site/" effective-version) | ||
| 4297 | ,(getenv "GUILE_LOAD_PATH"))) | ||
| 4298 | `("GUILE_LOAD_COMPILED_PATH" prefix | ||
| 4299 | (,(string-append out "/lib/guile/" | ||
| 4300 | effective-version "/site-ccache") | ||
| 4301 | ,(getenv "GUILE_LOAD_COMPILED_PATH"))))))))))) | ||
| 4302 | (inputs | ||
| 4303 | (list bash-minimal guile-next guile-json-4 guile-lens guix)) | ||
| 4304 | (native-inputs | ||
| 4305 | (list guile-run64 nss-certs)) | ||
| 4306 | (home-page "https://klaus.systemreboot.net/kaagum/") | ||
| 4307 | (synopsis "Tiny, security-focused AI agent in Guile") | ||
| 4308 | (description | ||
| 4309 | "Kaagum is a tiny, security-focused AI agent written in Guile with | ||
| 4310 | minimal dependencies. Kaagum works with any LLM that provides an | ||
| 4311 | OpenAI-compatible API. | ||
| 4312 | |||
| 4313 | Kaagum runs tool calls securely using containers and capability-based | ||
| 4314 | access. Tool calls have limited or no access to the filesystem and to | ||
| 4315 | the network. Capabilities allow network access to be controlled with | ||
| 4316 | fine granularity. Containers are implemented using Guix's container | ||
| 4317 | API. | ||
| 4318 | |||
| 4319 | Kaagum offers no user interface on its own. Instead, it speaks | ||
| 4320 | the @acronym{ACP, Agent Client Protocol} and allows you to use any | ||
| 4321 | compatible user interface of your choice.") | ||
| 4322 | (license license:gpl3+))) | ||
| 4323 | |||
| 4255 | (define-public haunt | 4324 | (define-public haunt |
| 4256 | (package | 4325 | (package |
| 4257 | (name "haunt") | 4326 | (name "haunt") |
