diff options
author | Patrick Spek <p.spek@tyil.nl> | 2022-05-11 11:11:29 +0200 |
---|---|---|
committer | Patrick Spek <p.spek@tyil.nl> | 2022-05-11 11:11:29 +0200 |
commit | bc26254d36c8ae059555b6c0d0e8256174a84fb6 (patch) | |
tree | 01b829e0ec0ada811cfd7b4b5eb91dbb9e619f31 | |
parent | cc6fb709e0288099b923ad557ead9d925dff8b3d (diff) |
Add functions.d back to the mix
-rw-r--r-- | .config/shell/functions.d/bwu | 29 | ||||
-rw-r--r-- | .config/shell/sources | 10 |
2 files changed, 37 insertions, 2 deletions
diff --git a/.config/shell/functions.d/bwu b/.config/shell/functions.d/bwu new file mode 100644 index 0000000..78c1378 --- /dev/null +++ b/.config/shell/functions.d/bwu @@ -0,0 +1,29 @@ +#!/bin/sh + +bwu() { + bwu_sessionfile="/tmp/bw-session-$USER" + + if [ ! -f "$bwu_sessionfile" ] + then + # Create session file with very strict permissions + bwu_sessiondir="$(dirname "$bwu_sessionfile")" + + if [ ! -d "$bwu_sessiondir" ] + then + mkdir -p -- "$(dirname "$bwu_sessionfile")" + chmod -- 0700 "$(dirname "$bwu_sessionfile")" + fi + + touch -- "$bwu_sessionfile" + chmod -- 0600 "$bwu_sessionfile" + + # Actually get a session token + bw unlock --raw > "$bwu_sessionfile" + fi + + BW_SESSION="$(cat "$bwu_sessionfile")" + export BW_SESSION + + unset bwu_sessionfile + unset bwu_sessiondir +} diff --git a/.config/shell/sources b/.config/shell/sources index b3f419c..a9b11b9 100644 --- a/.config/shell/sources +++ b/.config/shell/sources @@ -116,7 +116,13 @@ MANPATH="/home/tyil/.local/share/man/:$MANPATH" . "$HOME/.config/shell/aliases" # Add custom functions -#. "$HOME/.config/shell/functions" +[ "${DEBUG_DOTFILES}" ] && echo " Sourcing functions.d" + +for f in "$HOME/.config/shell/functions.d"/* +do + [ "${DEBUG_DOTFILES}" ] && echo " $f" + . "$f" +done # Load profile if [ -f "${HOME}/.config/shell/profile" ] @@ -135,4 +141,4 @@ if [ -f "${HOME}/.config/shell/motd" ]; then fi # clear terminal -#[ "$DEBUG_DOTFILES" ] || clear +[ "$DEBUG_DOTFILES" ] || clear |