

Neither ~/bin or ~/.local/bin are part of most shell’s default $PATH
so you’re going to have to modify the user’s shell profile (or rc) to include it. It’s possible that your favorite distro includes it but not mine. For example(s):
unset PATH
/bin/bash --noprofile --norc
bash-5.2$ echo $PATH
/usr/local/bin:/usr/bin
or
unset PATH
/bin/zsh --no-rcs --no-global-rcs
Sinthesis% echo $PATH
/bin:/usr/bin:/usr/ucb:/usr/local/bin
ls -l /bin
lrwxrwxrwx. 1 root root 7 Jan 23 2024 /bin -> usr/bin
That was on Fedora. The funny thing is /bin is soft linked to usr/bin, weeeee.
This is on Debian
Sinthesis@debian:~$ /bin/bash --noprofile --norc
bash-5.2$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:.
I’m not sure why you’re bringing the XDG or systemd “standard” into this. POSIX standard would be more appropriate but they don’t say anything on the matter, nor should they really. The most important thing is, be predictable. If the user has a problem with one of your scripts, what do they do first? which wolf_bin
will show them the full path to the script. So really, the location does not matter much.
That said I would go with one of these two options:
-
Make a package for your distro. This may be overkill for a couple scripts but you did say they’re in a git repository so you could automate it. The package would install to /usr/bin which would require sudo or root. If the scripts are only allowed to be run by one user, set the rwx and group permissions.
-
A pattern I like, especially for lightweight things such as scripts that don’t require compiling or OS management and also are using git; a “hidden” or “dot” directory in the user’s home where the repo lives e.g.
~/.lemmywolf/
Then add scripts directory to the user’s $PATH e.g.PATH=$PATH:~/.lemmywolf/scripts
. This is what some fairly large projects like pyenv or volta do. You could take it a step farther and modify this installer script to your liking https://github.com/pyenv/pyenv-installer/blob/master/bin/pyenv-installer
/edit 20 year Linux user (Redhat AS2.1) and 5 years of Unix (HPUX & Solaris) before that.
^This. If you make the effort to call, you are very likely to vote in the next election. You won’t be able to talk to your representative directly but the aides will relay the volume of calls coming in to them.