Hello! dvn <m...@dvn.me> skribis:
> I'm experimenting with `guix pack`, particularly with the docker format. > > I want to generate a tarball like so `guix pack -f docker bash > figlet` -- and then after loading with docker, be able to run the packed > commands. No $PATH is set in the container, so after digging around in > the tarball, I decided to try something like this: `docker run -ti > profile:lhavpi5ngs7infrh9b4nppriy4azgbwv > /gnu/store/ars9lm9jk9hgdifg0gqvf1jrvz5mdg1j-bash-4.4.12/bin/bash` -- and > that works! woo! > > This is much nicer than using an unverified Debian or Ubuntu layer in a > docker container, just have a > way of installing a few packages -- which is really all we need in containers > 99% of the time. Glad you like it. :-) > What have other people done in this direction? There’s Pjotr’s notes and a couple of blog posts about this: https://www.gnu.org/software/guix/blog/2017/creating-bundles-with-guix-pack/ https://guix-hpc.bordeaux.inria.fr/blog/2017/10/using-guix-without-being-root/ > What are some ideas for setting up the $PATH in a nice way? The pack already contains /gnu/store/…-profile/etc/profile. You could use ‘-S /etc=etc’ but you still have to source /etc/profile manually—well, except if you run Bash in the container since Bash is going to source /etc/profile automatically! We’ve been discussing ways to automate this (when one doesn’t use Bash in the container), possibly by providing an entry point in the Docker metadata and things like that. Thanks for your feedback! Ludo’.