unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#22600: 'Globally-Visible Packages' not shown by 'M-x guix-installed-packages'
@ 2016-02-08 15:08 myglc2
  2016-02-08 21:58 ` Alex Kost
  0 siblings, 1 reply; 10+ messages in thread
From: myglc2 @ 2016-02-08 15:08 UTC (permalink / raw)
  To: 22600

In guixSD, 'Globally-Visible Packages' packages installed accoding to
'7.2.1 Using the Configuration System' are not shown by 'M-x
guix-installed-packages' and are shown as uninstalled in the 'M-x
guix-all-packages' 'list' buffers.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#22600: 'Globally-Visible Packages' not shown by 'M-x guix-installed-packages'
  2016-02-08 15:08 bug#22600: 'Globally-Visible Packages' not shown by 'M-x guix-installed-packages' myglc2
@ 2016-02-08 21:58 ` Alex Kost
  2016-02-08 22:51   ` Ludovic Courtès
  0 siblings, 1 reply; 10+ messages in thread
From: Alex Kost @ 2016-02-08 21:58 UTC (permalink / raw)
  To: myglc2; +Cc: 22600

myglc2 (2016-02-08 18:08 +0300) wrote:

> In guixSD, 'Globally-Visible Packages' packages installed accoding to
> '7.2.1 Using the Configuration System' are not shown by 'M-x
> guix-installed-packages' and are shown as uninstalled in the 'M-x
> guix-all-packages' 'list' buffers.

"M-x guix-installed-packages" shows the packages installed in a current
profile (which is ~/.guix-profile by default), the same way as "guix
package --list-installed" does.  You can prefix this command with C-u to
choose a profile you want.  See also (info "(guix) Emacs Commands").

If you want to look at the packages installed globally, you can run "M-x
guix-system-generations" and press RET on the latest generation (I think
for convenience we can add "M-x guix-system-packages" command).

-- 
Alex

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#22600: 'Globally-Visible Packages' not shown by 'M-x guix-installed-packages'
  2016-02-08 21:58 ` Alex Kost
@ 2016-02-08 22:51   ` Ludovic Courtès
  2016-02-09  2:29     ` myglc2
  0 siblings, 1 reply; 10+ messages in thread
From: Ludovic Courtès @ 2016-02-08 22:51 UTC (permalink / raw)
  To: Alex Kost; +Cc: myglc2, 22600-done

Alex Kost <alezost@gmail.com> skribis:

> myglc2 (2016-02-08 18:08 +0300) wrote:
>
>> In guixSD, 'Globally-Visible Packages' packages installed accoding to
>> '7.2.1 Using the Configuration System' are not shown by 'M-x
>> guix-installed-packages' and are shown as uninstalled in the 'M-x
>> guix-all-packages' 'list' buffers.
>
> "M-x guix-installed-packages" shows the packages installed in a current
> profile (which is ~/.guix-profile by default), the same way as "guix
> package --list-installed" does.  You can prefix this command with C-u to
> choose a profile you want.  See also (info "(guix) Emacs Commands").
>
> If you want to look at the packages installed globally, you can run "M-x
> guix-system-generations" and press RET on the latest generation (I think
> for convenience we can add "M-x guix-system-packages" command).

Indeed, this is not a bug to me.

myglc2: if you think anything is unclear in the documentation, let us
know how we could improve it!

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#22600: 'Globally-Visible Packages' not shown by 'M-x guix-installed-packages'
  2016-02-08 22:51   ` Ludovic Courtès
@ 2016-02-09  2:29     ` myglc2
  2016-02-09 19:21       ` Alex Kost
  0 siblings, 1 reply; 10+ messages in thread
From: myglc2 @ 2016-02-09  2:29 UTC (permalink / raw)
  To: 22600

ludo@gnu.org (Ludovic Courtès) writes:

> Alex Kost <alezost@gmail.com> skribis:
>
>> myglc2 (2016-02-08 18:08 +0300) wrote:
>>
>>> In guixSD, 'Globally-Visible Packages' packages installed accoding to
>>> '7.2.1 Using the Configuration System' are not shown by 'M-x
>>> guix-installed-packages' and are shown as uninstalled in the 'M-x
>>> guix-all-packages' 'list' buffers.
>>
>> "M-x guix-installed-packages" shows the packages installed in a current
>> profile (which is ~/.guix-profile by default), the same way as "guix
>> package --list-installed" does.  You can prefix this command with C-u to
>> choose a profile you want.  See also (info "(guix) Emacs Commands").
>>
>> If you want to look at the packages installed globally, you can run "M-x
>> guix-system-generations" and press RET on the latest generation (I think
>> for convenience we can add "M-x guix-system-packages" command).

WOW! That IS a beautiful thing. And, the Guix Pack Info ...  AWESOME!

>
> Indeed, this is not a bug to me.
> myglc2: if you think anything is unclear in the documentation, let us
> know how we could improve it!
>
> Thanks,
> Ludo’.

SIDEBAR:

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!"

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.

I am writing in the first person to convey the way that I visualize that
your new users, which hopefully will come and stay to play, might
experience guix. It is not my intent to pick on guix or the doc, both of
which are truly outstanding.

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. 

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?

Maybe later, for the roadmap?

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#22600: 'Globally-Visible Packages' not shown by 'M-x guix-installed-packages'
  2016-02-09  2:29     ` myglc2
@ 2016-02-09 19:21       ` Alex Kost
  2016-02-10  2:30         ` myglc2
  2016-02-22 19:55         ` Alex Kost
  0 siblings, 2 replies; 10+ messages in thread
From: Alex Kost @ 2016-02-09 19:21 UTC (permalink / raw)
  To: myglc2; +Cc: 22600

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!

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#22600: 'Globally-Visible Packages' not shown by 'M-x guix-installed-packages'
  2016-02-09 19:21       ` Alex Kost
@ 2016-02-10  2:30         ` myglc2
  2016-02-10  9:04           ` Alex Kost
  2016-02-22 19:55         ` Alex Kost
  1 sibling, 1 reply; 10+ messages in thread
From: myglc2 @ 2016-02-10  2:30 UTC (permalink / raw)
  To: 22600

Alex Kost <alezost@gmail.com> writes:

> myglc2 (2016-02-09 05:29 +0300) wrote:
> [...]
>> 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.
>

Per-user features are very important for guix adopters. But as
described in my other post, global (aka system) features are equally
important for guixSD adopters.  It is fantastic that guix + guixSD
support both use cases.

OTOH, these use cases appear to be fighting against each other. This
makes the documentation hard to write and understand. It makes the
user interface hard to do. If we let the conflict get out of control
it will confuse the marketplace and undermine guix/SD.

So we need to embrace and understand this natural yin and yang in a
great solution that spans user, package, distribution, and system
managment. If we can do that I think guix/SD will be very successful.

>> 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?

I like it. I tried to summarize what I think I understand in the table
below.  Could you take a look and fix it up?

| Recipe Source           | install                                                                    | Profile                     | UI access                            | Scope  | Generations                 |
|-------------------------+----------------------------------------------------------------------------+-----------------------------+--------------------------------------+--------+-----------------------------|
| guix pull               | sudo guix system reconfigure <config>                                      | /run/current-system/profile | * M-x guix-installed-system-packages | global | M-x guix-system-generations |
| guix pull               | guix -i <package>                                                          | ~/.guix-profile             | * M-x guix-installed-user-packages   | global | M-x guix-generations        |
|                         |                                                                            |                             |                                      |        |                             |
| git pull w/wo user mods | [env]$ sudo ./pre-inst-env guix system reconfigure ../configs/config.k.scm | /run/current-system/profile | * M-x guix-installed-system-packages | user   | M-x guix-system-generations |
| git pull w/wo user mods | ???                                                                        | ~/.guix-profile             | * M-x guix-installed-user-packages   | user   | M-x guix-generations        |
|                         |                                                                            |                             |                                      |        |                             |
| <user custom>           | ???                                                                        | <user specfied>             | M-x guix-installed-packages          | ouser  | ???                         |
|                         |                                                                            |                             |                                      |        |                             |

Notes:
 * - proposed
 ??? - don't know

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#22600: 'Globally-Visible Packages' not shown by 'M-x guix-installed-packages'
  2016-02-10  2:30         ` myglc2
@ 2016-02-10  9:04           ` Alex Kost
  2016-02-10 20:25             ` myglc2
  0 siblings, 1 reply; 10+ messages in thread
From: Alex Kost @ 2016-02-10  9:04 UTC (permalink / raw)
  To: myglc2; +Cc: 22600

myglc2 (2016-02-10 05:30 +0300) wrote:

> Alex Kost <alezost@gmail.com> writes:
>
[...]
>> 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?
>
> I like it. I tried to summarize what I think I understand in the table
> below.  Could you take a look and fix it up?
>
> | Recipe Source           | install                                                                    | Profile                     | UI access                            | Scope  | Generations                 |
> |-------------------------+----------------------------------------------------------------------------+-----------------------------+--------------------------------------+--------+-----------------------------|
> | guix pull               | sudo guix system reconfigure <config>                                      | /run/current-system/profile | * M-x guix-installed-system-packages | global | M-x guix-system-generations |
> | guix pull               | guix -i <package>                                                          | ~/.guix-profile             | * M-x guix-installed-user-packages   | global | M-x guix-generations        |
                              guix package -i <package>
> |                         |                                                                            |                             |                                      |        |                             |
> | git pull w/wo user mods | [env]$ sudo ./pre-inst-env guix system reconfigure ../configs/config.k.scm | /run/current-system/profile | * M-x guix-installed-system-packages | user   | M-x guix-system-generations |
> | git pull w/wo user mods | ???                                                                        | ~/.guix-profile             | * M-x guix-installed-user-packages   | user   | M-x guix-generations        |

I don't understand what "w/wo user mods" means, but if you are talking
about running guix commands using a git repo; "pre-inst-env" is the way
to go, for example: "./pre-inst-env guix package -i ..."

> | <user custom>           | ???                                                                        | <user specfied>             | M-x guix-installed-packages          | ouser  | ???                         |

For a custom package (if that's what you mean), it's the same: "guix
package -i <user-package>", but at first you need to add a directory
with your packages to GUIX_PACKAGE_PATH as described in the manual:
(info "(guix) Package Modules")

If you want to install packages in an arbitrary profile, run "guix
package" command with "--profile=..." option.

> Notes:
>  * - proposed
>  ??? - don't know

Also I don't understand what "scope" column means.

-- 
Alex

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#22600: 'Globally-Visible Packages' not shown by 'M-x guix-installed-packages'
  2016-02-10  9:04           ` Alex Kost
@ 2016-02-10 20:25             ` myglc2
  2016-02-13 20:37               ` Alex Kost
  0 siblings, 1 reply; 10+ messages in thread
From: myglc2 @ 2016-02-10 20:25 UTC (permalink / raw)
  To: 22600

Alex Kost <alezost@gmail.com> writes:
[...]
> I don't understand what "w/wo user mods" means,

That "official" guix recipes in local repo may be modified.

Revised table:

** Sources of and ways to install packages in guixSD

| Recipe source         | avail to | recipe upgrade | location   | package install                                                  | profile                     | display packages                       | display generations         |
|-----------------------+----------+----------------+------------+------------------------------------------------------------------+-----------------------------+----------------------------------------+-----------------------------|
| guix ???              | system   | guix pull      | /gnu/store | sudo guix system reconfigure <config.scm>                        | /run/current-system/profile | (1) M-x guix-installed-system-packages | M-x guix-system-generations |
| guix ???              | user     | guix pull      | /gnu/store | sudo guix package -i <package>                                   | ~/.guix-profile             | (1) M-x guix-installed-user-packages   | M-x guix-generations        |
| guix git repo         | system   | (2) git pull   | PWD        | [env]$ sudo ./pre-inst-env guix system reconfigure <configs.scm> | /current-system/profile     | (1) M-x guix-installed-system-packages | M-x guix-system-generations |
| guix git repo         | user     | (2) git pull   | PWD        | [env]$ sudo ./pre-inst-env guix package -i <package>             | ~/.guix-profile             | (1) M-x guix-installed-user-packages   | M-x guix-generations        |
| <user-dir>/<user.scm> | system   | N/A            | <user-dir> | sudo guix system reconfigure <config.scm w/ user-package>        | /run/current-system/profile | (1) M-x guix-installed-system-packages | M-x guix-system-generations |
| <user-dir>/<user.scm> | user     | N/A            | <user-dir> | (3) [env]$ sudo guix package -i <user-package>                   | ~/.guix-profile             | M-x guix-installed-packages            | M-x guix-generations        |
|-----------------------+----------+----------------+------------+------------------------------------------------------------------+-----------------------------+----------------------------------------+-----------------------------|

Notes:
(1) proposed
(2) Recipes obtained this way may be modified by the user. Set up the guix git repo as described in the manual (info "(guix) Building from Git"). 
(3) Add <user-dir> to GUIX_PACKAGE_PATH as described in the manual (info "(guix) Package Modules")

Trying to help a new user get their bearings. What do you think?

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#22600: 'Globally-Visible Packages' not shown by 'M-x guix-installed-packages'
  2016-02-10 20:25             ` myglc2
@ 2016-02-13 20:37               ` Alex Kost
  0 siblings, 0 replies; 10+ messages in thread
From: Alex Kost @ 2016-02-13 20:37 UTC (permalink / raw)
  To: myglc2; +Cc: 22600

myglc2 (2016-02-10 23:25 +0300) wrote:

> Alex Kost <alezost@gmail.com> writes:
> [...]
>> I don't understand what "w/wo user mods" means,
>
> That "official" guix recipes in local repo may be modified.
>
> Revised table:
>
> ** Sources of and ways to install packages in guixSD

[...]

I received this table corrupted, I hope the following one will survive
the mail sending.

| Recipe source         | avail to | recipe upgrade | location   | package install                                                  | profile                     | display packages                       | display generations         |
|-----------------------+----------+----------------+------------+------------------------------------------------------------------+-----------------------------+----------------------------------------+-----------------------------|
| guix ???              | system   | guix pull      | /gnu/store | sudo guix system reconfigure <config.scm>                        | /run/current-system/profile | (1) M-x guix-installed-system-packages | M-x guix-system-generations |
| guix ???              | user     | guix pull      | /gnu/store | sudo guix package -i <package>                                   | ~/.guix-profile             | (1) M-x guix-installed-user-packages   | M-x guix-generations        |
| guix git repo         | system   | (2) git pull   | PWD        | [env]$ sudo ./pre-inst-env guix system reconfigure <configs.scm> | /current-system/profile     | (1) M-x guix-installed-system-packages | M-x guix-system-generations |
| guix git repo         | user     | (2) git pull   | PWD        | [env]$ sudo ./pre-inst-env guix package -i <package>             | ~/.guix-profile             | (1) M-x guix-installed-user-packages   | M-x guix-generations        |
| <user-dir>/<user.scm> | system   | N/A            | <user-dir> | sudo guix system reconfigure <config.scm w/ user-package>        | /run/current-system/profile | (1) M-x guix-installed-system-packages | M-x guix-system-generations |
| <user-dir>/<user.scm> | user     | N/A            | <user-dir> | (3) [env]$ sudo guix package -i <user-package>                   | ~/.guix-profile             | M-x guix-installed-packages            | M-x guix-generations        |
|-----------------------+----------+----------------+------------+------------------------------------------------------------------+-----------------------------+----------------------------------------+-----------------------------|

> Notes:
> (1) proposed
> (2) Recipes obtained this way may be modified by the user. Set up the guix git repo as described in the manual (info "(guix) Building from Git"). 
> (3) Add <user-dir> to GUIX_PACKAGE_PATH as described in the manual (info "(guix) Package Modules")
>
> Trying to help a new user get their bearings. What do you think?

It looks ok to me except you use "sudo" everywhere.  This may be
misleading as "sudo" is not needed when a user installs a package in a
his/her profile.

-- 
Alex

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#22600: 'Globally-Visible Packages' not shown by 'M-x guix-installed-packages'
  2016-02-09 19:21       ` Alex Kost
  2016-02-10  2:30         ` myglc2
@ 2016-02-22 19:55         ` Alex Kost
  1 sibling, 0 replies; 10+ messages in thread
From: Alex Kost @ 2016-02-22 19:55 UTC (permalink / raw)
  To: myglc2; +Cc: 22600

Alex Kost (2016-02-09 22:21 +0300) wrote:

[...]
> 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)

These commands are added in commit cfb1c62.

-- 
Alex

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2016-02-22 19:56 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-08 15:08 bug#22600: 'Globally-Visible Packages' not shown by 'M-x guix-installed-packages' myglc2
2016-02-08 21:58 ` Alex Kost
2016-02-08 22:51   ` Ludovic Courtès
2016-02-09  2:29     ` myglc2
2016-02-09 19:21       ` Alex Kost
2016-02-10  2:30         ` myglc2
2016-02-10  9:04           ` Alex Kost
2016-02-10 20:25             ` myglc2
2016-02-13 20:37               ` Alex Kost
2016-02-22 19:55         ` Alex Kost

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).