Ludovic Courtès <l...@gnu.org> writes: > To me it’s not entirely clear that a unified command would be easier to > use for newcomers. For example, I’m not fond of “guix profile” as a
Indeed. It's also not clear to me if a single command line package for beginners and power users is the best way to go. Maybe we should have two levels of commands, with tutorials using only the simpler one. > So I definitely agree we need to homogenize what ‘guix environment’ and > ‘guix package’ currently provide, but I’m not sure where to go from > there. Perhaps we need to discuss on concrete CLI proposals to have a > better idea? Dunno! If enough people are willing to work on this (beginners included!), we could run a "CLI working group" that plays with alternatives to the current CLI, implemented as a separate Guile package so it won't perturb business as usual. That requires a few people working on implementation, and a much larger group willing to test-drive the design(s) and provide feedback. > I have an actionable wishlist though: :-) > > 1. Arrange so that ‘--ad-hoc’ becomes the default in ‘guix > environment’, and add a ‘--devel’ (?) option for what’s currently > the default. That sounds good to me, with > 2. Add that same ‘--devel’ option to ‘guix package’. being the obvious (and less controversial) complement. I'd probably prefer the more descriptive –-inputs-of for the option name. > Tricky because of compatibility considerations, but would be an That's the eternal question! >> - Better support for adding/managing channels at the user account >> level. Users shouldn't have to edit Guile code (unless they want to). > > You mean like ‘guix channel add URL’? Are you looking at this from a UI > perspective? Yes. > Are you also suggesting a “GuixHub” (I already hate that name :-)) that That's not something I personally care about (I am all for the distributed Web), but if there's a demand, why not. >> - Support for creating and managing channels without having to >> descend to the file and repository level. > > Not entirely sure what you mean. Could you give examples of what you’d > type to create a channel, say? For management, something like git's remotes: guix channel add my-channel URL guix channel remove my-channel guix channel describe my-channel guix channel show-all For channel creation, something like git's init: guix make-channel directory-name That would create the directory name, run "git init", add minimal code making a template (something like the "hello" package), and perhaps a file with a summary of instructions. >> - Support for something one could call super-packages or named >> manifests. Named package groups that live in a channel (or a guix.scm >> distributed with software external to Guix). Perhaps parametrizable >> and/or containing configuration files, so you could put something >> like (nginx #:port 8080) into a manifest file. > > So this thing would be a profile + services? A bit less than a service, because no process would be started or managed. I might want to run that nginx instance manually and/or under my user account. Also on a foreign distribution that doesn't know about Guix services. Think of something like a Jupyter server. Cheers, Konrad.