Subject: Re: bug#22600: 'Globally-Visible Packages' not shown by 'M-x guix-installed-packages'

From: Alex Kost <[email-masked]>
Date: Tue, 09 Feb 2016 22:21:29 +0300

myglc2 (2016-02-09 05:29 +0300) wrote:

[...]
> I hope it is OK that I am taking the liberty of reporting things that
> seem counterintutive or difficult to understand in the bugs
> channel. These may well be operator error or misunderstandings on my
> part. I am happy to report in a different channel if that is better. Or
> to have you say, "enough of this!"

I think it's ok to do it in bugs.  Perhaps guix-devel ML will be more
suitable, but I don't know.

> About me: I want to never learn another distribution, package manager,
> configuration approach, or deployment manager. So I really want you to
> succeed. I have spent ~ 3 weeks studying and using Nix, NixOS and
> guixSD.  I have used computers to build models since 1975 and I hope to
> use guix in my next work.  I figure that if something puzzles me, it may
> be puzzeling to others and a barrier to guix' adoption. I want to help
> reduce such barriers.

And thank you for this!

> BACK TO THE "BUG"
>
> Yes, it is probably not a bug in a technical sense and/or given the way
> you conceptualize guix. But, at the risk of being a bore, may I please
> restate:
>
> It seemed really counterintuitive that when I did ...
>
> 'M-x guix-installed packages'
>
> ... I saw ...
>
> "No package outputs installed in profile '/var/guix/profiles/per-user/glc/guix-profile'."
>
> My concern is that this experience might leave a new user thinking,
> "Geez, I know back in the fog of the USB install I added packages. What
> kind of package manager is this? It doesn't show me the packages that I
> painfully typed in using zile at the console". IMO this is the kind of
> doubt that can undermine confidence during the critical first few hours
> of software test driving and lead a user to abandon the experment.

I would say that a user should get acquainted with the basic concepts of
Guix before using it.  I think per-user package management is one of such
concepts, and it is described in the beginning of (info "(guix) Features")
section of the manual.

> My own experience: I had been going back to the config.scm files or
> typing 'which' to see what was installed. I knew there were generations.
> But believe it or not, in the course of working with guixSD for ~ 10
> days, I had not used ...
>
> 1) "M-x guix-system-generations"
>
> 2) press RET on the latest generation
>
> So say I am a dummy. I am fine with that.
>
> But, wouldn't it be better to combine these functions so even a duummy
> will see all the packages?

As I suggested in the previous mail, we can add "M-x guix-system-packages".
Maybe it would be good to add "M-x guix-user-packages", or maybe name them:

- guix-installed-system-packages  (for /run/current-system/profile)
- guix-installed-user-packages    (for ~/.guix-profile)

And to leave "M-x guix-installed-packages" for an arbitrary profile
specified by a user.  WDYT?

-- 
Don't install packages globally, use a user profile!