Subject: bug#35864: ~/.local/bin is missing in default PATH on Guix System

From: "pelzflorian (Florian Pelz)" <[email-masked]>
Date: Fri, 24 May 2019 12:34:08 +0200

On Fri, May 24, 2019 at 08:49:30AM +0200, Giovanni Biscuolo wrote:
> the "semantic" reason not to include ~/.local/bin in default path is to
> clearly state "use Guix" (even on foreign distros) to allow users to
> install packages and avoid the ~/<something>/bin _broken_ workaround
>
> IMHO at most ~/.local/bin is useful for user written scripts (but I
> prefer ~/bin for mine)
>
> […]
> ...and AFAIU no distribution on earth install packages (or links) in
> ~/.local/bin
> […]
> anyway software projects that want to help users to install (without
> root permissions) in a sane way should define a Guix package, no more
> workarounds please

~/.local/bin is useful for projects at the inception / hacky stage too
or for developers or when they have not been packaged for Guix yet,
but yes, also for user-written scripts.

> Guix deploys in ~/.guix-profile/bin/ linking from the store... and it's
> awesome :-)
> 
> [...]
> 
> > for how-to-install sections in software project README files.
> 
> It's easier to add instructions on how to add ~/.local/bin in $PATH, no?
> :-)
>

Only because not all distros respect ~/.local/bin.  I would prefer
ignoring distros that do not respect ~/.local/bin when writing READMEs
rather than complicating READMEs.

> > I did not know about ~/bin being conventional, but others mention it
> > too.  I do not like ~/bin for the reasons you stated:
> 
> do you mean you don't like it because it's not hidden? :-)
>
> I don't like ~/.local/bin because it's ".local":
> 

Yes; it mixes with the user’s documents.

> «Care should be taken when placing architecture-dependent binaries in
> this place, which might be problematic if the home directory is shared
> between multiple hosts with different architectures.»
> (from [1])
>

This is seldom relevant.

> [...]
> 
> last but not least, probably systemd file-hieracy [1] is one of the
> *problematic* things of systemd ecosystem we should avoid
> 

This is not a fair argument against ~/.local/bin in PATH.

Regards,
Florian