path-add --end /snap/bin
- for p in $HOME/.gem/ruby/*/bin; do
+ # ~/.local is newer, eg ruby 3.0+
+ for p in $HOME/.gem/ruby/*/bin $HOME/.local/share/gem/ruby/*/bin; do
path-add --ifexists --end $p
done
fi
fi
-# and broken again. see /usr/lib/systemd/user-environment-generators/90gpg-agent
-export GPG_AGENT_INFO=$XDG_RUNTIME_DIR/gnupg/S.gpg-agent:0:1
+# 2020: and broken again. see /usr/lib/systemd/user-environment-generators/90gpg-agent.
+# 2022: not sure exactly what this fixed, but gpg seems to work now without it.
+#export GPG_AGENT_INFO=$XDG_RUNTIME_DIR/gnupg/S.gpg-agent:0:1
# and now trisquel9 + mate + i3 has broken ssh agent. I've had to fix
# ssh or gpg agent like 10 times in different distros, and once again, i
# but not override existing things because theres stuff like PWD. This
# doesn't set SSH_AGENT_PID, but apparently its not needed anymore.
# Note: what a huge pita to write this in posix shell.
-if test "$EUID" && [ "$EUID" != 0 ]; then
- _sysenv=$(mktemp)
- _sysenvnames=$(mktemp)
- _unsetnames=$(mktemp)
- if systemctl --user show-environment >$_sysenv 2>/dev/null; then
- grep -o '^[^=]*' $_sysenv | sort > $_sysenvnames
- env -0 | grep -zo '^[^=]*' | xargs -0 printf "%s\n" | sort | \
- comm --nocheck-order -13 - $_sysenvnames >$_unsetnames
- while read -r unsetname; do
- while read -r sysenv; do
- case "$sysenv" in
- "$unsetname"*) eval export "$sysenv" ;;
- esac
- done < $_sysenv
- done < $_unsetnames
- rm -f $_tmpf
+# update: disabled this hackery since I'm not using it in t11
+# if test "$EUID" && [ "$EUID" != 0 ]; then
+# _sysenv=$(mktemp)
+# _sysenvnames=$(mktemp)
+# _unsetnames=$(mktemp)
+# if systemctl --user show-environment >$_sysenv 2>/dev/null; then
+# grep -o '^[^=]*' $_sysenv | sort > $_sysenvnames
+# env -0 | grep -zo '^[^=]*' | xargs -0 printf "%s\n" | sort | \
+ # comm --nocheck-order -13 - $_sysenvnames >$_unsetnames
+# while read -r unsetname; do
+# while read -r sysenv; do
+# case "$sysenv" in
+# "$unsetname"*) eval export "$sysenv" ;;
+# esac
+# done < $_sysenv
+# done < $_unsetnames
+# rm -f $_tmpf
+# fi
+# fi
+
+
+# i use the x11 prompt for ssh key use which doesnt work
+# within an ssh session (perhaps there is some way).
+# Anyways, there is usually no need for an agent to
+# do a 1-off ssh from a remote machine.
+if ! test "$SSH_CLIENT"; then
+ # and it seems that if we log into mate, it screws up the systemd env var anyways.
+ for _file in $(pgrep -a '^ssh-agent$' | sed -r 's/.*-a *([^ ]+).*/\1/'); do
+ if test -O "$_file"; then
+ export SSH_AUTH_SOCK="$_file"
+ break
+ fi
+ done
+
+ # in t11, user ssh-agent once again stopped working, it isn't started anymore
+ # by i3. So, enough is enough, I just made a service that will try to
+ # start it all the time for the user. If the var isn't set by the above,
+ # just set them to the values I know are in the service.
+ if ! test "$SSH_AUTH_SOCK"; then
+ if [ "$EUID" = 0 ]; then
+ export SSH_AUTH_SOCK=/run/openssh_agent
+ elif [ "$EUID" = 1000 ]; then
+ export SSH_AUTH_SOCK=$HOME/openssh_agent
+ fi
fi
fi
-# and it seems that if we log into mate, it screws up the systemd env var anyways.
-for _file in $(pgrep -a '^ssh-agent$' | sed -r 's/.*-a *([^ ]+).*/\1/'); do
- if test -O "$_file"; then
- export SSH_AUTH_SOCK="$_file"
- break
- fi
-done
-
# background:
# ubuntu has 002 for non-system users, debian has 022. 002 makes groups