Hi Guix,
Sébastien Rey-Coyrehourcq writes:
Thanks,
I made some test on my own to understand :
1 - Like you say, installing things with *guix install* is for current
user (for example *firefox* and *sshpass*)
2 - Adding a package that don't exist to * myhome.scm* and reconfigure
it with *guix home reconfigure* file will download a package (ex
"ncdu"), but this package doesn't appear into "guix package
--list-installed"
3 - Adding a package that already exist for user (ex : firefox already
installed with guix install) to *myhome.scm* doesn't reinstall
package, that's normal.
I don't understand the step 2, why *guix home* installed package
(*ncdu* here) are not listed with *guix install --list-installed*, is
there a difference ?
‘guix install’ installs into the current user’s profile which can be
found at ~/.guix-profile whereas ‘guix home’ creates an immutable
profile under ~/.guix-home/profile.¹ You can install the same package to
different profiles but of course they will be built only once (provided
you use the same Guix revision). You can list the packages which are
installed in your Guix home profile via:
guix package --profile="$HOME/.guix-home/profile" --list-installed
Best
¹ IIUC the profile under ~/.guix-profile is also immutable (as are all
profiles). ‘guix install icecat’, for example, would create a new
profile that contains all packages from the previous generation of
~/.guix-profile plus the packages icecat and then it would link the
new profile to ~/.guix-profile. In contrast you cannot do the same
with ‘guix install’ for ~/.guix-home/profile. Invoking
guix install --profile="$HOME/.guix-home/profile" icecat
to try to install icecat to the profile ~/.guix-home/profile yields:
guix install: error: open-file: Read-only file system:
"/home/daniel/.guix-home/profile.lock"