* guix/ui.scm (package->recutils): Output outputs with their descriptions, one per line. --- Salut Guix, People have been complaining for a while, that outputs are not really discoverable [who?]. This patch attempts to fix that by displaying each on their own line with a (hopefully) helpful description next to it. It is expected, that these descriptions do not span multiple lines. Cheers guix/ui.scm | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/guix/ui.scm b/guix/ui.scm index 6c194eb3c9..dfa90126bc 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2020 Arun Isaac ;;; Copyright © 2020 Maxim Cournoyer ;;; Copyright © 2018 Steve Sprang +;;; Copyright © 2022 Liliana Marie Prikler ;;; ;;; This file is part of GNU Guix. ;;; @@ -1543,13 +1544,33 @@ (define (dependencies->recutils packages) (sort packages packagerecutils package output) + (let ((descs (assq-ref (package-properties package) 'output-descriptions))) + (string-append + "+ " output ": " + (or + (assoc-ref descs output) + (assoc-ref `(("bin" . ,(G_ "executable programs and scripts.")) + ("debug" . ,(G_ "debug information.")) + ("lib" . ,(G_ "shared libraries.")) + ("static" . ,(G_ "static libraries.")) + ("out" . ,(G_ "everything else."))) + output) + (G_ "state secrets."))))) + + (define (package-outputs/out-last package) + ((compose append partition) + (negate (cut string=? "out" <>)) + (package-outputs package))) + (define (packagerecutils p <>) (package-outputs/out-last p))) (format port "systems: ~a~%" (split-lines (string-join (package-transitive-supported-systems p)) (string-length "systems: "))) -- 2.34.0