Hello Guix! Things like the Docker image format¹ that ‘guix pack’ can produce have a notion of an “entry point”. The entry point is an executable that is invoked when one runs “docker run” (I think) without any argument.
Currently ‘guix pack’ doesn’t specify an entry point, but perhaps it should? That would make it easier to “run” a pack. If it did, what should the UI look like? Should it be: guix pack -f docker --entry-point=bin/lstopo hwloc which would mean that the entry point is ‘bin/lstopo’ in the profile. I suppose it would be too inflexible in practice, because people might want to run programs that are not part of a package. Then, should it be: guix pack -f docker --entry-point=./entry-point.sh hwloc where ‘entry-point.sh’ would be added to the store? The entry point would probably have to be executed after etc/profile has been sourced. Internally, at the API level, the entry point should probably be a gexp. That would make it easy to embark GuixSD if needed. Thoughts? Bonus: what would the tarball backend do with the entry point? Ignore it? Ludo’. ¹ https://github.com/moby/moby/blob/master/image/spec/v1.2.md