Message ID | 20220313215259.9394-1-ludo@gnu.org |
---|---|
Headers | show |
Series | Add 'guix home container' | expand |
Ludo, This is a very exciting idea. Entry into guix home has some wrinkles in it that are scary. I know it required several iterations over home-configuration.scm and 'guix home reconfigure' before I was able to make peace with my guix home. I see in irc that others are also experiencing challenges getting the environments where they want them to be. This patch allows more control over the adoption of guix home while also cleverly leveraging improvements to guix containers. Very cool, I want it! I ran this patch against my current, working home configuration to see what happened and I ran into a problem. My home-configuration.scm sets the GUIX_PACKAGE_PATH (using simple-service 'local-environment-variables) and then references packages that are in that path (in my case a package called emacs-ix). When I executed 'guix home container <my-config.scm>' I received the following errors: guix home: error: emacs-ix: unknown package guix home: error: failed to load '/home/fpp/src/guix-home-config/home-configuration.scm': gnu/packages.scm:544:4: In procedure specification->package+output: IDK if this is the desired behavior. Can the environment set in config.scm be set before loading the packages that may modify the environment? Regards, Frank Pursel acrow#guix
Hi Frank, Frank Pursel <frank.pursel@gmail.com> skribis: > This is a very exciting idea. Entry into guix home has some wrinkles in > it that are scary. I know it required several iterations over > home-configuration.scm and 'guix home reconfigure' before I was able to > make peace with my guix home. I see in irc that others are also > experiencing challenges getting the environments where they want them to > be. This patch allows more control over the adoption of guix home while > also cleverly leveraging improvements to guix containers. Very cool, I > want it! I agree, that very well summarizes my motivation for adding it! > I ran this patch against my current, working home configuration to see > what happened and I ran into a problem. My home-configuration.scm sets > the GUIX_PACKAGE_PATH (using simple-service > 'local-environment-variables) and then references packages that are in > that path (in my case a package called emacs-ix). When I executed 'guix > home container <my-config.scm>' I received the following errors: > > guix home: error: emacs-ix: unknown package > guix home: error: failed to load '/home/fpp/src/guix-home-config/home-configuration.scm': > gnu/packages.scm:544:4: In procedure specification->package+output: > > IDK if this is the desired behavior. Can the environment set in > config.scm be set before loading the packages that may modify the > environment? If you want ‘home-configuration.scm’ to refer to files in that path, then GUIX_PACKAGE_PATH needs to be set in the environment of where ‘guix home’ itself is running. Like so: export GUIX_PACKAGE_PATH=/path/to/your/packages guix home container … Alternatively, you can run: guix home container -L /path/to/your/packages … HTH! Ludo’.
Yes, of course, export or -L were needed to get my GUIX_PACKAGE_PATH recognized. and so it was helpful. After catching a configuration error the GUIX_PACKAGE_PATH I had added to an instance of home-environment-service-type works; so that, I no longer need to do this. I'm in the process of finding out how helpful the new guix home container is in rooting out problems in guix home configurations. Thank you, Frank On Sat, Mar 19, 2022 at 10:32 AM Ludovic Courtès <ludo@gnu.org> wrote: > Hi Frank, > > Frank Pursel <frank.pursel@gmail.com> skribis: > > > This is a very exciting idea. Entry into guix home has some wrinkles in > > it that are scary. I know it required several iterations over > > home-configuration.scm and 'guix home reconfigure' before I was able to > > make peace with my guix home. I see in irc that others are also > > experiencing challenges getting the environments where they want them to > > be. This patch allows more control over the adoption of guix home while > > also cleverly leveraging improvements to guix containers. Very cool, I > > want it! > > I agree, that very well summarizes my motivation for adding it! > > > I ran this patch against my current, working home configuration to see > > what happened and I ran into a problem. My home-configuration.scm sets > > the GUIX_PACKAGE_PATH (using simple-service > > 'local-environment-variables) and then references packages that are in > > that path (in my case a package called emacs-ix). When I executed 'guix > > home container <my-config.scm>' I received the following errors: > > > > guix home: error: emacs-ix: unknown package > > guix home: error: failed to load > '/home/fpp/src/guix-home-config/home-configuration.scm': > > gnu/packages.scm:544:4: In procedure specification->package+output: > > > > IDK if this is the desired behavior. Can the environment set in > > config.scm be set before loading the packages that may modify the > > environment? > > If you want ‘home-configuration.scm’ to refer to files in that path, > then GUIX_PACKAGE_PATH needs to be set in the environment of where ‘guix > home’ itself is running. Like so: > > export GUIX_PACKAGE_PATH=/path/to/your/packages > guix home container … > > Alternatively, you can run: > > guix home container -L /path/to/your/packages … > > HTH! > > Ludo’. >