Which distributions have $HOME/.local/bin in $PATH?

The ~/.local directories is part of the systemd file-hierarchy spec and is an extension of the xdg user-dirs spec

It can be confusing as Debian derived packages for bash lost the ~/.local path when they rebased to bash 4.3 they did have it in bash 4.2.

It is a bug, and a patch has been sitting in the Debian system for a bit now.

This bug is the reason Ubuntu 16.04 had ~/.local in the path and Ubuntu 17.04 did not.

If you run systemd-path as a user and you will see that it is intended to be in the path.

$ systemd-path user-binaries
/home/foo/.local/bin

In theory, the answer to your query is Any distro that uses systemd or wants to maintain compatibility with systemd.

There is more information in file-hierarchy(7)


On RPM based distros the situation seems to look like this

  • RHEL 7 - does add it to the end of PATH see https://bugzilla.redhat.com/show_bug.cgi?id=1583227 when you use a login shell. It will work with sudo su -l johndoe but it will not work if you do not use the -l switch.
  • CentOS 7 - see RHEL, it is always following RHEL.
  • Fedora 28 (probably older too) - same as RHEL/CentOS, added to the end of PATH

If you want to see those bugs sorted, please do not forget to vote/comment on those as this would highlight the importance of the issue.