diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 446916a0e3..066ff5123a 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -21,7 +21,7 @@ ;;; Copyright © 2021, 2022, 2023, 2025 Maxim Cournoyer ;;; Copyright © 2021 John Kehayias ;;; Copyright © 2022, 2023 Zhu Zihao -;;; Copyright © 2023 jgart +;;; Copyright © 2023, 2025-2026 jgart ;;; Copyright © 2023 Wojtek Kosior ;;; Copyright © 2023 Mădălin Ionel Patrașcu ;;; Copyright © 2024 Arun Isaac @@ -31,6 +31,7 @@ ;;; Copyright © 2025 Tomás Ortín Fernández ;;; Copyright © 2025-2026 Sharlatan Hellseher ;;; Copyright © 2026 Carlos Durán Domínguez +;;; Copyright © 2025 unwox ;;; ;;; This file is part of GNU Guix. ;;; @@ -797,6 +798,49 @@ with the @command{module} command commonly found on @acronym{HPC, high-performance computing} clusters.") (license license:gpl3+))) +(define-public toys + (let ((commit "8080a76df47660693915296c7c2d1b3a4e057b71") + (revision "0")) + (package + (name "toys") + (version (git-version "0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~whereiseveryone/toys") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "09iffdvjpixik3whasfxk8b9wk4rcbv9604q454pw45h8gx3qml0")))) + (build-system guile-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'register-guix-extension + (lambda* (#:key outputs #:allow-other-keys) + (let ((ext-path (string-append #$output "/share/guix/extensions"))) + (mkdir-p ext-path) + (copy-recursively "guix/extensions" ext-path)))) + (add-after 'register-guix-extension 'clean-up + (lambda* _ + (delete-file "channels.scm") + (delete-file-recursively "guix")))))) + (native-inputs (list guile-3.0-latest)) + (inputs + (list guile-json-4 + guile-readline + guile-sqlite3 + guix)) + (native-search-paths (list $GUIX_EXTENSIONS_PATH)) + (home-page "https://toys.whereis.social/") + (synopsis "Search engine for Guix channels") + (description "Toys is a search engine for collecting and displaying Guix +channel data found across the internet. Toys provides a command-line +interface for interacting with the application.") + (license license:gpl3+)))) + (define-public guix-xsearch (package (name "guix-xsearch")