emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#51657: closed ([PATCH] scripts: home: Make ‘guix home import’ popula


From: GNU bug Tracking System
Subject: bug#51657: closed ([PATCH] scripts: home: Make ‘guix home import’ populate ‘home-configuration.scm)
Date: Wed, 17 Nov 2021 15:45:01 +0000

Your message dated Wed, 17 Nov 2021 16:44:42 +0100
with message-id <87bl2ivlat.fsf@gnu.org>
and subject line Re: bug#51657: [PATCH] scripts: home: Make ‘guix home import’ 
populate ‘home-configuration.scm
has caused the debbugs.gnu.org bug report #51657,
regarding [PATCH] scripts: home: Make ‘guix home import’ populate 
‘home-configuration.scm
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
51657: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=51657
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: [PATCH] scripts: home: Make ‘guix home import’ populate ‘home-configuration.scm Date: Sun, 07 Nov 2021 12:13:32 +0100
* guix/scripts/home.scm (process-command): Populate ‘home-configuration.scm’
  in the destination directory instead of printing to stdout.
* doc/guix.texi (Declaring the Home Environment): Adjust accordingly.
(Invoking guix home): Likewise.

Suggested-by: Ludovic Courtès <ludo@gnu.org>
---
 doc/guix.texi         | 34 +++++++---------------------------
 guix/scripts/home.scm |  7 ++++++-
 2 files changed, 13 insertions(+), 28 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index ea1973f02c..ebcc725184 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -35865,9 +35865,8 @@
 such as @file{~/.bashrc} found in your home directory and copies them to
 the given directory, @file{~/src/guix-config} in this case; it also
 reads the contents of your profile, @file{~/.guix-profile}, and, based
-on that, it outputs a Home configuration that resembles your current
-configuration.  You can dump that configuration to a file and you're
-ready to go!
+on that, it populates @file{~/src/guix-config/home-configuration.scm}
+with a Home configuration that resembles your current configuration.
 
 A simple setup can include Bash and a custom text configuration, like in
 the example below.  Don't be afraid to declare home environment parts,
@@ -36537,33 +36536,14 @@
 @item import
 Generate a @dfn{home environment} from the packages in the default
 profile and configuration files found in the user's home directory.  The
-configuration files will be copied to the specified directory.  Note
-that not every home service that exists is supported (@pxref{Home
-Services}).
+configuration files will be copied to the specified directory, and a
+@file{home-configuration.scm} will be populated with the home
+environment.  Note that not every home service that exists is supported
+(@pxref{Home Services}).
 
 @example
 $ guix home import ~/guix-config
-;; This "home-environment" file can be passed to 'guix home reconfigure'
-;; to reproduce the content of your profile.  This is "symbolic": it only
-;; 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.
-
-(use-modules
-  (gnu home)
-  (gnu packages)
-  (gnu home services shells))
-
-(home-environment
-  (packages
-    (map specification->package
-         (list "glibc-locales" "nss-certs" "nss")))
-  (services
-    (list (service
-            home-bash-service-type
-            (home-bash-configuration
-              (bashrc
-                (list (local-file "/home/charlie/guix-config/.bashrc"))))))))
+/home/alice/guix-config has been populated with all the configuration files of 
your home environment.  Run 'guix home reconfigure 
/home/alice/guix-config/home-configuration.scm' to make it take effect.
 @end example
 
 @end table
diff --git a/guix/scripts/home.scm b/guix/scripts/home.scm
index 3f48b98ed4..118e66895e 100644
--- a/guix/scripts/home.scm
+++ b/guix/scripts/home.scm
@@ -274,7 +274,12 @@ (define-syntax-rule (with-store* store exp ...)
                            (_ (leave (G_ "wrong number of arguments~%"))))))
        (unless (file-exists? destination)
          (mkdir-p destination))
-       (import-manifest manifest destination (current-output-port))))
+       (call-with-output-file
+           (string-append destination "/home-configuration.scm")
+         (cut import-manifest manifest destination <>))
+       (format #t (G_ "~a/ has been populated with all the configuration files 
\
+of your home environment.  Run 'guix home reconfigure 
~a/home-configuration.scm' \
+to make it take effect.") destination destination)))
     ((describe)
      (match (generation-number %guix-home)
        (0

base-commit: 1ffc0a6be3c1613b2d99ceea098174d1f11f6f3f
-- 
2.33.0






--- End Message ---
--- Begin Message --- Subject: Re: bug#51657: [PATCH] scripts: home: Make ‘guix home import’ populate ‘home-configuration.scm Date: Wed, 17 Nov 2021 16:44:42 +0100 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
Hello,

Xinglu Chen <public@yoctocell.xyz> skribis:

> * guix/scripts/home.scm (process-command): Populate ‘home-configuration.scm’
>   in the destination directory instead of printing to stdout.
> * doc/guix.texi (Declaring the Home Environment): Adjust accordingly.
> (Invoking guix home): Likewise.

Applied with the changes below.  This is looking nice now!

Thanks!

Ludo’.

diff --git a/doc/guix.texi b/doc/guix.texi
index 5ce18fdf8a..59ceb4477a 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -36673,7 +36673,7 @@ environment.  Note that not every home service that 
exists is supported
 
 @example
 $ guix home import ~/guix-config
-/home/alice/guix-config has been populated with all the configuration files of 
your home environment.  Run 'guix home reconfigure 
/home/alice/guix-config/home-configuration.scm' to make it take effect.
+guix home: '/home/alice/guix-config' populated with all the Home configuration 
files
 @end example
 
 @end table
diff --git a/guix/scripts/home.scm b/guix/scripts/home.scm
index 118e66895e..afc7d8b39c 100644
--- a/guix/scripts/home.scm
+++ b/guix/scripts/home.scm
@@ -277,9 +277,12 @@ (define-syntax-rule (with-store* store exp ...)
        (call-with-output-file
            (string-append destination "/home-configuration.scm")
          (cut import-manifest manifest destination <>))
-       (format #t (G_ "~a/ has been populated with all the configuration files 
\
-of your home environment.  Run 'guix home reconfigure 
~a/home-configuration.scm' \
-to make it take effect.") destination destination)))
+       (info (G_ "'~a' populated with all the Home configuration files~%")
+             destination)
+       (display-hint (format #f (G_ "\
+Run @command{guix home reconfigure ~a/home-configuration.scm} to effectively
+deploy the home environment described by these files.\n")
+                             destination))))
     ((describe)
      (match (generation-number %guix-home)
        (0

--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]