summaryrefslogtreecommitdiff
path: root/guix/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'guix/scripts')
-rw-r--r--guix/scripts/home/import.scm21
-rw-r--r--guix/scripts/pack.scm46
-rw-r--r--guix/scripts/weather.scm10
3 files changed, 26 insertions, 51 deletions
diff --git a/guix/scripts/home/import.scm b/guix/scripts/home/import.scm
index 825ccb1e73..fd263c0699 100644
--- a/guix/scripts/home/import.scm
+++ b/guix/scripts/home/import.scm
@@ -26,9 +26,9 @@
#:use-module (guix utils)
#:use-module (guix packages)
#:autoload (guix scripts package) (manifest-entry-version-prefix)
+ #:use-module (guix read-print)
#:use-module (gnu packages)
#:use-module (ice-9 match)
- #:use-module (ice-9 pretty-print)
#:use-module (ice-9 rdelim)
#:use-module (ice-9 regex)
#:use-module (ice-9 popen)
@@ -170,8 +170,19 @@ user's files to CONFIGURATION-DIRECTORY; the generated sexp refers to them."
(gnu services)
,@(delete-duplicates (concatenate modules)))
+ ,(vertical-space 1)
+
(home-environment
- (packages (specifications->packages ,packages))
+ ,(comment (G_ "\
+;; Below is the list of packages that will show up in your
+;; Home profile, under ~/.guix-home/profile.\n"))
+ (packages
+ (specifications->packages ,packages))
+
+ ,(vertical-space 1)
+ ,(comment (G_ "\
+;; Below is the list of Home services. To search for available
+;; services, run 'guix home search KEYWORD' in a terminal.\n"))
(services (list ,@services)))))))))
(define* (import-manifest
@@ -187,7 +198,5 @@ user's files to CONFIGURATION-DIRECTORY; the generated sexp refers to them."
;; specifies package names. To reproduce the exact same profile, you also
;; need to capture the channels being used, as returned by \"guix describe\".
;; See the \"Replicating Guix\" section in the manual.\n"))
- (for-each (lambda (exp)
- (newline port)
- (pretty-print exp port))
- exp))))
+ (newline port)
+ (pretty-print-with-comments/splice port exp))))
diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm
index d3ee69840c..78b6978c92 100644
--- a/guix/scripts/pack.scm
+++ b/guix/scripts/pack.scm
@@ -48,6 +48,7 @@
#:use-module (guix scripts build)
#:use-module (guix transformations)
#:use-module ((guix self) #:select (make-config.scm))
+ #:use-module (gnu compression)
#:use-module (gnu packages)
#:use-module (gnu packages bootstrap)
#:use-module ((gnu packages compression) #:hide (zip))
@@ -61,13 +62,7 @@
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-37)
#:use-module (ice-9 match)
- #:export (compressor?
- compressor-name
- compressor-extension
- compressor-command
- %compressors
- lookup-compressor
- self-contained-tarball
+ #:export (self-contained-tarball
debian-archive
docker-image
squashfs-image
@@ -75,34 +70,6 @@
%formats
guix-pack))
-;; Type of a compression tool.
-(define-record-type <compressor>
- (compressor name extension command)
- compressor?
- (name compressor-name) ;string (e.g., "gzip")
- (extension compressor-extension) ;string (e.g., ".lz")
- (command compressor-command)) ;gexp (e.g., #~(list "/gnu/store/…/gzip"
- ; "-9n" ))
-
-(define %compressors
- ;; Available compression tools.
- (list (compressor "gzip" ".gz"
- #~(list #+(file-append gzip "/bin/gzip") "-9n"))
- (compressor "lzip" ".lz"
- #~(list #+(file-append lzip "/bin/lzip") "-9"))
- (compressor "xz" ".xz"
- #~(append (list #+(file-append xz "/bin/xz")
- "-e")
- (%xz-parallel-args)))
- (compressor "bzip2" ".bz2"
- #~(list #+(file-append bzip2 "/bin/bzip2") "-9"))
- (compressor "zstd" ".zst"
- ;; The default level 3 compresses better than gzip in a
- ;; fraction of the time, while the highest level 19
- ;; (de)compresses more slowly and worse than xz.
- #~(list #+(file-append zstd "/bin/zstd") "-3"))
- (compressor "none" "" #f)))
-
;; This one is only for use in this module, so don't put it in %compressors.
(define bootstrap-xz
(compressor "bootstrap-xz" ".xz"
@@ -110,15 +77,6 @@
"-e")
(%xz-parallel-args))))
-(define (lookup-compressor name)
- "Return the compressor object called NAME. Error out if it could not be
-found."
- (or (find (match-lambda
- (($ <compressor> name*)
- (string=? name* name)))
- %compressors)
- (leave (G_ "~a: compressor not found~%") name)))
-
(define not-config?
;; Select (guix …) and (gnu …) modules, except (guix config).
(match-lambda
diff --git a/guix/scripts/weather.scm b/guix/scripts/weather.scm
index b7d8165262..f46c11b1a5 100644
--- a/guix/scripts/weather.scm
+++ b/guix/scripts/weather.scm
@@ -205,7 +205,6 @@ In case ITEMS is an empty list, return 1 instead."
#:make-progress-reporter
(lambda* (total #:key url #:allow-other-keys)
(progress-reporter/bar total)))))
- (format #t (highlight "~a~%") server)
(let ((obtained (length narinfos))
(requested (length items))
(missing (lset-difference string=?
@@ -224,6 +223,15 @@ In case ITEMS is an empty list, return 1 instead."
(coloring-procedure (color BOLD RED)))
(else
highlight))))
+ (format #t (highlight "~a ~a~%") server
+ ;; This requires a Unicode-capable encoding, which we
+ ;; restrict to UTF-8 for simplicity.
+ (if (string=? (port-encoding (current-output-port)) "UTF-8")
+ (cond ((> ratio 0.80) "☀")
+ ((< ratio 0.50) "⛈")
+ (else "⛅"))
+ ""))
+
(format #t
(colorize (G_ " ~,1f% substitutes available (~h out of ~h)~%"))
(* 100. ratio)