diff options
Diffstat (limited to '.config/login.d')
-rw-r--r-- | .config/login.d/01_xdg.sh | 7 | ||||
-rw-r--r-- | .config/login.d/02_tmpdir.sh | 23 | ||||
-rw-r--r-- | .config/login.d/10_less.sh | 2 |
3 files changed, 8 insertions, 24 deletions
diff --git a/.config/login.d/01_xdg.sh b/.config/login.d/01_xdg.sh index 726143b..4464764 100644 --- a/.config/login.d/01_xdg.sh +++ b/.config/login.d/01_xdg.sh @@ -28,9 +28,10 @@ if [ -z "$XDG_RUNTIME_DIR" ] && type flock &>/dev/null; then fi if ! [ /dev/fd/7 -ef "$XDG_CACHE_HOME/xdg-runtime-dir/.lock" ]; then exec 7>"$XDG_CACHE_HOME/xdg-runtime-dir/.lock" - fi - if flock -sn 7; then - trap _diy_xdg_runtime_logout EXIT + if flock -sn 7; then + # Unfortunately this doesn't survive across exec(1). + trap _diy_xdg_runtime_logout EXIT + fi fi } _diy_xdg_runtime_logout() { diff --git a/.config/login.d/02_tmpdir.sh b/.config/login.d/02_tmpdir.sh index 293064e..c0d5f18 100644 --- a/.config/login.d/02_tmpdir.sh +++ b/.config/login.d/02_tmpdir.sh @@ -1,21 +1,2 @@ -if [[ ! -d "$HOME/tmp/$HOSTNAME" ]]; then - tmp="$(mktemp --tmpdir -d "$USER@$HOSTNAME-tmpdir.XXXXXXXXXXXXXXXXXXX")" - mkdir -p -- "$HOME/tmp" - ln -sf "$tmp" "$HOME/tmp/$HOSTNAME" - unset tmp -fi -export TMPDIR="$HOME/tmp/$HOSTNAME" -if type flock &>/dev/null; then - if [[ "$(readlink -f /dev/fd/7)" != "$(readlink -f "$TMPDIR/.uselock")" ]]; then - exec 7>"$TMPDIR/.uselock" - fi - if flock -sn 7; then - _logout_tmpdir_cleanup() { - if flock -xn 7; then - rm -rf -- "$(readlink -f "$TMPDIR")" - rm -- "$TMPDIR" - fi - } - trap _logout_tmpdir_cleanup EXIT - fi -fi +mkdir -p -- "$XDG_RUNTIME_DIR/tmpdir" +export TMPDIR="$XDG_RUNTIME_DIR/tmpdir" diff --git a/.config/login.d/10_less.sh b/.config/login.d/10_less.sh new file mode 100644 index 0000000..c5934d6 --- /dev/null +++ b/.config/login.d/10_less.sh @@ -0,0 +1,2 @@ +export LESSHISTFILE="$XDG_CACHE_HOME/less/histfile" +mkdir -p -- "${LESSHISTFILE%/*}" |