* bug#46803: User manual does not explain Profiles (nor GUIX_PROFILE)
@ 2021-02-26 21:24 Luis Felipe via Bug reports for GNU Guix
2021-02-26 23:30 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
0 siblings, 1 reply; 8+ messages in thread
From: Luis Felipe via Bug reports for GNU Guix @ 2021-02-26 21:24 UTC (permalink / raw)
To: 46803
The Guix reference manual does not seem to explain what profiles are.
## Steps to reproduce
Assuming you are browsing the Guix reference manual in Info:
1. Type i (to search for an index topic).
2. Type the word profile and hit Enter.
3. Type , repeatedly to explore all the parts of the manual related to profiles.
## Expected result
At some point, I get to a section defining what is a profile exactly, a profile of what, what can I get from using one or many of them, what is the GUIX_PROFILE variable, does it accept a single path to a profile or more, and some use cases and examples.
## Unexpected result
I see profiles are mentioned in places where they can be used, but the text assumes I know what a profile is.
Similarly, the GUIX_PROFILE variable doesn't seem to be defined. It seems missing from the concept and programming indices.
## Additional information
The "Guix Profiles in Practice" recipe in the cookbook defines profiles to some extent. Maybe some of this information can be used in the manual?
---
Luis Felipe López Acevedo
https://luis-felipe.gitlab.io/
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#46803: User manual does not explain Profiles (nor GUIX_PROFILE)
2021-02-26 21:24 bug#46803: User manual does not explain Profiles (nor GUIX_PROFILE) Luis Felipe via Bug reports for GNU Guix
@ 2021-02-26 23:30 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
2021-02-27 18:11 ` Luis Felipe via Bug reports for GNU Guix
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Tobias Geerinckx-Rice via Bug reports for GNU Guix @ 2021-02-26 23:30 UTC (permalink / raw)
To: Luis Felipe; +Cc: 46803
[-- Attachment #1: Type: text/plain, Size: 982 bytes --]
Luis Felipe,
I think that would be very helpful. I'm trying to think of a
concise, correct, but actually useful definition of profiles for
someone not already familiar with them or Guix.
Out of curiosity: how do you intuitively understand profiles, as
someone who's used Guix for a while?
Luis Felipe via Bug reports for GNU Guix 写道:
> [...] what is the GUIX_PROFILE variable, does it accept a single
> path to a profile or more, and some use cases and
> examples. [...]
I don't think we should document GUIX_PROFILE. It's not part of
the definition of Guix profiles. It should not matter to users
nor should they rely on previously observed behaviour. AIUI there
are no supported ‘use cases’, beyond copy-pasting Guix error
messages...
> Similarly, the GUIX_PROFILE variable doesn't seem to be
> defined. It seems missing from the concept and programming
> indices.
...so this part isn't unexpected.
Kind regards,
T G-R
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#46803: User manual does not explain Profiles (nor GUIX_PROFILE)
2021-02-26 23:30 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
@ 2021-02-27 18:11 ` Luis Felipe via Bug reports for GNU Guix
2021-03-01 9:59 ` Ludovic Courtès
2021-03-01 10:28 ` zimoun
2 siblings, 0 replies; 8+ messages in thread
From: Luis Felipe via Bug reports for GNU Guix @ 2021-02-27 18:11 UTC (permalink / raw)
To: Tobias Geerinckx-Rice; +Cc: 46803
On Friday, February 26, 2021 11:30 PM, Tobias Geerinckx-Rice <me@tobias.gr> wrote:
> Luis Felipe,
>
> I think that would be very helpful. I'm trying to think of a concise, correct, but actually useful definition of profiles for someone not already familiar with them or Guix.
>
> Out of curiosity: how do you intuitively understand profiles, as someone who's used Guix for a while?
I think I didn't intuitively understand profiles. I think I actually started using them last year (apart from the user profile) after reading the Guix Profiles in Practice recipe, which made things clearer to me (but I don't think I grok the concept).
So, right now, I see a profile like a collection of packages that you can activate/deactivate in your environment by setting the GUIX_PROFILE environment variable and sourcing its profile file.
> Luis Felipe via Bug reports for GNU Guix 写道:
>
> > [...] what is the GUIX_PROFILE variable, does it accept a single
> > path to a profile or more, and some use cases and > examples. [...]
>
> I don't think we should document GUIX_PROFILE. It's not part of the definition of Guix profiles. It should not matter to users nor should they rely on previously observed behaviour. AIUI there are no supported ‘use cases’, beyond copy-pasting Guix error messages...
In the Guix Profiles in Practice recipe, for example, you are instructed to set GUIX_PROFILE and then use it when sourcing the profile. So I thought it deserved an entry in the index, since it is mentioned so often when working with profiles.
I think I was expecting something like:
GUIX_PROFILE
This is an environment variable that you can set to
[...]. Its value is an absolute path to a Guix profile.
See Profiles for more information.
Now I'm confused.. :)
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#46803: User manual does not explain Profiles (nor GUIX_PROFILE)
2021-02-26 23:30 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
2021-02-27 18:11 ` Luis Felipe via Bug reports for GNU Guix
@ 2021-03-01 9:59 ` Ludovic Courtès
2021-03-01 10:28 ` zimoun
2 siblings, 0 replies; 8+ messages in thread
From: Ludovic Courtès @ 2021-03-01 9:59 UTC (permalink / raw)
To: 46803; +Cc: luis.felipe.la
Hi,
Tobias Geerinckx-Rice via Bug reports for GNU Guix <bug-guix@gnu.org>
skribis:
> I think that would be very helpful. I'm trying to think of a concise,
> correct, but actually useful definition of profiles for someone not
> already familiar with them or Guix.
>
> Out of curiosity: how do you intuitively understand profiles, as
> someone who's used Guix for a while?
I’m not Luis but I usually say that a profile is the location of a set
of installed packages.
> Luis Felipe via Bug reports for GNU Guix 写道:
>> [...] what is the GUIX_PROFILE variable, does it accept a single
>> path to a profile or more, and some use cases and examples. [...]
>
> I don't think we should document GUIX_PROFILE. It's not part of the
> definition of Guix profiles. It should not matter to users nor should
> they rely on previously observed behaviour. AIUI there are no
> supported ‘use cases’, beyond copy-pasting Guix error messages...
Agreed. ‘GUIX_PROFILE’ has no significance as an environment variable;
it’s referred to by the generated ‘etc/profile’, but it’s usually a
shell variable, not an environment variable.
Ludo’.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#46803: User manual does not explain Profiles (nor GUIX_PROFILE)
2021-02-26 23:30 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
2021-02-27 18:11 ` Luis Felipe via Bug reports for GNU Guix
2021-03-01 9:59 ` Ludovic Courtès
@ 2021-03-01 10:28 ` zimoun
2021-03-14 10:56 ` Ludovic Courtès
2 siblings, 1 reply; 8+ messages in thread
From: zimoun @ 2021-03-01 10:28 UTC (permalink / raw)
To: Tobias Geerinckx-Rice, Luis Felipe; +Cc: 46803
Hi Tobias,
On Sat, 27 Feb 2021 at 00:30, Tobias Geerinckx-Rice via Bug reports for GNU Guix <bug-guix@gnu.org> wrote:
> Out of curiosity: how do you intuitively understand profiles, as
> someone who's used Guix for a while?
Effectively, profiles is not explicitly defined but implicitly, for
instance:
<https://guix.gnu.org/manual/devel/en/guix.html#Features>
Otherwise, the most explicit definition is in the Cookbook:
Guix provides a very useful feature that may be quite foreign to
newcomers: profiles. They are a way to group package
installations together and all users on the same system are free
to use as many profiles as they want.
<https://guix.gnu.org/cookbook/en/html_node/Guix-Profiles-in-Practice.html>
BTW, I remember that coming from Conda (and Python), I was confused by
what was Profile and Environment in Guix, since ’environment’ (in Conda)
corresponds to Profile (in Guix). Anyway, for words inspiration,
Conda’s doc:
A conda environment is a directory that contains a specific collection
of conda packages that you have installed. For example, you may have one
environment with NumPy 1.7 and its dependencies, and another environment
with NumPy 1.6 for legacy testing. If you change one environment, your
other environments are not affected. You can easily activate or
deactivate environments, which is how you switch between them. You can
also share your environment with someone by giving them a copy of your
environment.yaml file. For more information, see Managing environments.
<https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/environments.html>
And from this old time, I remember that examples really helps, for
instance.
<https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html#managing-environments>.
Therefore, the section «Getting Started» could be a bit extended with a
paragraph about Profiles and one or two examples. WDYT?
<https://guix.gnu.org/manual/devel/en/guix.html#Getting-Started>
Cheers,
simon
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#46803: User manual does not explain Profiles (nor GUIX_PROFILE)
2021-03-01 10:28 ` zimoun
@ 2021-03-14 10:56 ` Ludovic Courtès
2021-03-15 9:43 ` zimoun
0 siblings, 1 reply; 8+ messages in thread
From: Ludovic Courtès @ 2021-03-14 10:56 UTC (permalink / raw)
To: zimoun; +Cc: Luis Felipe, 46803
[-- Attachment #1: Type: text/plain, Size: 1254 bytes --]
Hello,
zimoun <zimon.toutoune@gmail.com> skribis:
> Effectively, profiles is not explicitly defined but implicitly, for
> instance:
>
> <https://guix.gnu.org/manual/devel/en/guix.html#Features>
>
> Otherwise, the most explicit definition is in the Cookbook:
>
> Guix provides a very useful feature that may be quite foreign to
> newcomers: profiles. They are a way to group package
> installations together and all users on the same system are free
> to use as many profiles as they want.
>
> <https://guix.gnu.org/cookbook/en/html_node/Guix-Profiles-in-Practice.html>
[...]
> <https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/environments.html>
>
> And from this old time, I remember that examples really helps, for
> instance.
>
> <https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html#managing-environments>.
>
> Therefore, the section «Getting Started» could be a bit extended with a
> paragraph about Profiles and one or two examples. WDYT?
>
> <https://guix.gnu.org/manual/devel/en/guix.html#Getting-Started>
Thanks for the pointers! How about these changes to “Getting Started”
and “Invoking guix package”?
Ludo’.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 1372 bytes --]
diff --git a/doc/guix.texi b/doc/guix.texi
index 4cf241c56a..00bd087628 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -2751,7 +2751,10 @@ you can go ahead and install it (run this command as a regular user,
guix install emacs
@end example
-You've installed your first package, congrats! In the process, you've
+You've installed your first package, congrats! The package is now
+visible in your default @dfn{profile}, @file{$HOME/.guix-profile}---a
+profile is a directory containing installed packages.
+In the process, you've
probably noticed that Guix downloaded pre-built binaries; or, if you
explicitly chose to @emph{not} use pre-built binaries, then probably
Guix is still building software (@pxref{Substitutes}, for more info).
@@ -3061,7 +3064,10 @@ retaining precise @dfn{provenance tracking} of the software.
@cindex package removal
The @command{guix package} command is the tool that allows users to
install, upgrade, and remove packages, as well as rolling back to
-previous configurations. It operates only on the user's own profile,
+previous configurations. These operations work on a user
+@dfn{profile}---a directory of installed packages. Each user has a
+default profile in @file{$HOME/.guix-profile}.
+The command operates only on the user's own profile,
and works with normal user privileges (@pxref{Features}). Its syntax
is:
^ permalink raw reply related [flat|nested] 8+ messages in thread
* bug#46803: User manual does not explain Profiles (nor GUIX_PROFILE)
2021-03-14 10:56 ` Ludovic Courtès
@ 2021-03-15 9:43 ` zimoun
2021-03-17 13:54 ` Ludovic Courtès
0 siblings, 1 reply; 8+ messages in thread
From: zimoun @ 2021-03-15 9:43 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: Luis Felipe, 46803
Hi Ludo,
On Sun, 14 Mar 2021 at 11:56, Ludovic Courtès <ludo@gnu.org> wrote:
> diff --git a/doc/guix.texi b/doc/guix.texi
> index 4cf241c56a..00bd087628 100644
> --- a/doc/guix.texi
> +++ b/doc/guix.texi
> @@ -2751,7 +2751,10 @@ you can go ahead and install it (run this command as a regular user,
> guix install emacs
> @end example
>
> -You've installed your first package, congrats! In the process, you've
> +You've installed your first package, congrats! The package is now
> +visible in your default @dfn{profile}, @file{$HOME/.guix-profile}---a
> +profile is a directory containing installed packages.
> +In the process, you've
I would add a link to the index term ’profile’ in “Invoking guix package”:
--8<---------------cut here---------------start------------->8---
@cindex profile
For each user, a symlink to the user's default profile is automatically
created in @file{$HOME/.guix-profile}. This symlink always points to the
…
--8<---------------cut here---------------end--------------->8---
> probably noticed that Guix downloaded pre-built binaries; or, if you
> explicitly chose to @emph{not} use pre-built binaries, then probably
> Guix is still building software (@pxref{Substitutes}, for more info).
> @@ -3061,7 +3064,10 @@ retaining precise @dfn{provenance tracking} of the software.
> @cindex package removal
> The @command{guix package} command is the tool that allows users to
> install, upgrade, and remove packages, as well as rolling back to
> -previous configurations. It operates only on the user's own profile,
> +previous configurations. These operations work on a user
> +@dfn{profile}---a directory of installed packages. Each user has a
> +default profile in @file{$HOME/.guix-profile}.
> +The command operates only on the user's own profile,
> and works with normal user privileges (@pxref{Features}). Its syntax
> is:
I would add an index term and/or anchor and points to the option:
--8<---------------cut here---------------start------------->8---
@item --profile=@var{profile}
@itemx -p @var{profile}
Use @var{profile} instead of the user's default profile.
@var{profile} must be the name of a file that will be created upon
completion. Concretely, @var{profile} will be a mere symbolic link
(``symlink'') pointing to the actual profile where packages are
installed:
…
--8<---------------cut here---------------end--------------->8---
Well, LGTM. :-)
Cheers,
simon
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#46803: User manual does not explain Profiles (nor GUIX_PROFILE)
2021-03-15 9:43 ` zimoun
@ 2021-03-17 13:54 ` Ludovic Courtès
0 siblings, 0 replies; 8+ messages in thread
From: Ludovic Courtès @ 2021-03-17 13:54 UTC (permalink / raw)
To: zimoun; +Cc: Luis Felipe, 46803-done
Hi zimoun,
Pushed something like the initial patch + index entries as
0571aa7abf262f617add727ac03e3bf63d41ae6d. Thank you!
Ludo’.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2021-03-17 13:55 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-02-26 21:24 bug#46803: User manual does not explain Profiles (nor GUIX_PROFILE) Luis Felipe via Bug reports for GNU Guix
2021-02-26 23:30 ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
2021-02-27 18:11 ` Luis Felipe via Bug reports for GNU Guix
2021-03-01 9:59 ` Ludovic Courtès
2021-03-01 10:28 ` zimoun
2021-03-14 10:56 ` Ludovic Courtès
2021-03-15 9:43 ` zimoun
2021-03-17 13:54 ` Ludovic Courtès
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).