aboutsummaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-09-20 11:58:32 +0200
committerLudovic Courtès <ludo@gnu.org>2022-09-20 19:24:31 +0200
commit76c58ed59c05fa2ae14281109c9186e47ba810da (patch)
treeb021b38a1dcee12ff0d5b8576d0b8acd480c0cfa /guix
parentd0a1e48944cea22c6aebb22121eb21122a738d78 (diff)
downloadguix-76c58ed59c05fa2ae14281109c9186e47ba810da.tar
guix-76c58ed59c05fa2ae14281109c9186e47ba810da.tar.gz
home: import: Use (guix read-print) to render the config file.
* guix/scripts/home/import.scm (manifest+configuration-files->code): Insert calls to 'comment' and 'vertical-space'. (import-manifest): Use 'pretty-print-with-comments/splice' instead of a loop on 'pretty-print'. * tests/home-import.scm (remove-recursively): New procedure. (eval-test-with-home-environment): Use it.
Diffstat (limited to 'guix')
-rw-r--r--guix/scripts/home/import.scm21
1 files changed, 15 insertions, 6 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))))