~/.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
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 johndoebut it will not work if you do not use the
- 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.