diff --git a/git/.config/sh/alias.d/git.sh b/git/.config/sh/alias.d/git.sh index db7df48..59ff4c3 100644 --- a/git/.config/sh/alias.d/git.sh +++ b/git/.config/sh/alias.d/git.sh @@ -22,7 +22,7 @@ alias gcn!='git commit -v --no-edit --amend' if version_at_least 2.23 "$git_version"; then alias gcm='git switch master 2>/dev/null || git switch main' - alias gcd='git switch develop 2>/dev/null || git switch staging' + alias gcd='git switch develop' alias gcb='git switch -c' else alias gcm='git checkout master 2>/dev/null || git checkout main' diff --git a/mail/.config/isync/mbsyncrc b/mail/.config/isync/mbsyncrc index cba9b9a..d6da236 100644 --- a/mail/.config/isync/mbsyncrc +++ b/mail/.config/isync/mbsyncrc @@ -3,8 +3,8 @@ IMAPAccount gmail # Address to connect to Host imap.gmail.com -UserCmd "pass show misc/aerc-gmail-app-password | grep username | cut -d: -f2" -PassCmd "pass show misc/aerc-gmail-app-password | head -n1" +UserCmd "gpg2 --decrypt --no-tty --quiet --no-verbose --for-your-eyes-only --pinentry-mode ask ~/.local/share/pass/misc/aerc-gmail-app-password.gpg | grep username | cut -d: -f2" +PassCmd "gpg2 --decrypt --no-tty --quiet --no-verbose --for-your-eyes-only --pinentry-mode ask ~/.local/share/pass/misc/aerc-gmail-app-password.gpg | head -n1" # To store the password in an encrypted file use PassCmd instead of Pass # PassCmd "gpg2 -q --for-your-eyes-only --no-tty -d ~/.mailpass.gpg" # diff --git a/mail/.local/bin/mail-check b/mail/.local/bin/mail-check index 098052b..c7b7577 100755 --- a/mail/.local/bin/mail-check +++ b/mail/.local/bin/mail-check @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # # Runs mbsync, with pre-hooks and post-hooks # by default, the pre-hook first runs imapfilter @@ -38,9 +38,7 @@ # MBSYNC_NOTIFY=1 # MBSYNC_PASSWORD_FILE="/path/to/gpg/file.gpg" -# What to run before and after decrypting the password file. -PASSWORD_CMD="pass open -t 1min" -# POST_PASSWORD_CMD="" +PASSWORD_FILE="${MBSYNC_PASSWORD_FILE:-$HOME/.local/share/pass/misc/aerc-gmail-app-password.gpg}" prehook() { if [ -n "$MBSYNC_PRE" ]; then @@ -85,7 +83,7 @@ checkonline() { # warn user that he has to enter his password in a moment # to stop catching him offguard or entering something by accident checkwarnuser() { - enablegpgagent + agt=$(gpg2 --decrypt --no-tty --quiet --no-verbose --for-your-eyes-only --pinentry-mode cancel "$PASSWORD_FILE" 2>&1) if echo "$agt" | grep -qE 'No secret key'; then notify "Mail" "Password phrase needed!" sleep 2.5 @@ -93,22 +91,10 @@ checkwarnuser() { } enablegpgagent() { - [ -n "$agt" ] && return - - if [ -n "$PASSWORD_CMD" ]; then - IFS=" " read -r -a PASSWORD_CMD <<<"$PASSWORD_CMD" - # shellcheck disable=SC2068 - agt=$(${PASSWORD_CMD[@]}) - fi - - if [ -n "$POST_PASSWORD_CMD" ]; then - IFS=" " read -r -a POST_PASSWORD_CMD <<<"$POST_PASSWORD_CMD" - "${POST_PASSWORD_CMD[@]}" - fi - + ## get password from user + agt=$(gpg2 --decrypt --no-tty --quiet --no-verbose --for-your-eyes-only --pinentry-mode ask "$PASSWORD_FILE" 2>&1) ## exit program after first failed attempt - if echo "$agt" | grep -qE 'decryption failed' || - echo "$agt" | grep -qE 'No such file'; then + if echo "$agt" | grep -qE 'decryption failed'; then notify "Mail" "Process aborted." exit 1 fi diff --git a/nvim/.config/nvim/lua/maps.lua b/nvim/.config/nvim/lua/maps.lua index fc655e4..f0e8278 100644 --- a/nvim/.config/nvim/lua/maps.lua +++ b/nvim/.config/nvim/lua/maps.lua @@ -247,9 +247,10 @@ map.v['g'] = '(dial-increment-additional)' map.v['g'] = '(dial-decrement-additional)' -- PLUGIN: zettelkasten.nvim -map.n.nore[''] = [[:silent lua require 'zettelkasten'.link_follow()]] -map.v.nore[''] = [[:lua require 'zettelkasten'.link_follow(true)]] -map.n.nore['ww'] = [[:lua require 'zettelkasten'.index_open() ]] +map.n.nore[''] = + [[:silent lua require 'zettelkasten'.open_or_make_link()]] +map.v.nore[''] = [[:lua require 'zettelkasten'.open_or_make_link(true)]] +map.n.nore['ww'] = [[:lua require 'zettelkasten'.open_index() ]] -- PLUGIN: toggleterm.nvim -- create a lazygit window, set up in toggleterm settings diff --git a/qutebrowser/.local/share/qutebrowser/userscripts/open_download b/qutebrowser/.local/share/qutebrowser/userscripts/open_download index 4f4818c..c7763a8 100755 --- a/qutebrowser/.local/share/qutebrowser/userscripts/open_download +++ b/qutebrowser/.local/share/qutebrowser/userscripts/open_download @@ -16,7 +16,7 @@ # see the recent downloads, just press "sd". # # Thorsten Wißmann, 2015 (thorsten` on Libera Chat) -# Marty Oehme, 2021 (@martyo@matrix.org on Matrix), refactored to work with bemenu +# Refactored to work with bemenu by Marty Oehme, 2021 (@martyo@matrix.org on Matrix) # Any feedback is welcome! set -e @@ -25,10 +25,10 @@ set -e DOWNLOAD_DIR=${DOWNLOAD_DIR:-${QUTE_DOWNLOAD_DIR:-$HOME/downloads}} # the name of the rofi-like command if [ -n "$ROFI_CMD" ]; then - : + : elif command -v rofi >/dev/null 2>&1; then - ROFI_CMD="rofi" - ROFI_ARGS=${ROFI_ARGS:-( + ROFI_CMD="rofi" + ROFI_ARGS=${ROFI_ARGS:-( -monitor -2 # place above window -location 6 # aligned at the bottom -width 100 # use full window width @@ -39,48 +39,48 @@ elif command -v rofi >/dev/null 2>&1; then -p 'Open download:' -dmenu )} elif command -v bemenu >/dev/null 2>&1; then - ROFI_CMD="bemenu" - ROFI_ARGS="${ROFI_ARGS:--il 10}" + ROFI_CMD="bemenu" + ROFI_ARGS="${ROFI_ARGS:--il 10}" fi msg() { - local cmd="$1" - shift - local msg="$*" - if [ -z "$QUTE_FIFO" ]; then - echo "$cmd: $msg" >&2 - else - echo "message-$cmd '${msg//\'/\\\'}'" >>"$QUTE_FIFO" - fi + local cmd="$1" + shift + local msg="$*" + if [ -z "$QUTE_FIFO" ]; then + echo "$cmd: $msg" >&2 + else + echo "message-$cmd '${msg//\'/\\\'}'" >>"$QUTE_FIFO" + fi } die() { - msg error "$*" - if [ -n "$QUTE_FIFO" ]; then - # when run as a userscript, the above error message already informs the - # user about the failure, and no additional "userscript exited with status - # 1" is needed. - exit 0 - else - exit 1 - fi + msg error "$*" + if [ -n "$QUTE_FIFO" ]; then + # when run as a userscript, the above error message already informs the + # user about the failure, and no additional "userscript exited with status + # 1" is needed. + exit 0 + else + exit 1 + fi } if ! [ -d "$DOWNLOAD_DIR" ]; then - die "Download directory »$DOWNLOAD_DIR« not found!" + die "Download directory »$DOWNLOAD_DIR« not found!" fi if ! command -v "${ROFI_CMD}" >/dev/null; then - die "Rofi command »${ROFI_CMD}« not found in PATH!" + die "Rofi command »${ROFI_CMD}« not found in PATH!" fi crop-first-column() { - cut -d' ' -f2- + cut -d' ' -f2 } ls-files() { - # add the slash at the end of the download dir enforces to follow the - # symlink, if the DOWNLOAD_DIR itself is a symlink - # sort by newest - find "${DOWNLOAD_DIR}/" -maxdepth 1 -type f -printf "%T+ %f\n" | sort -r + # add the slash at the end of the download dir enforces to follow the + # symlink, if the DOWNLOAD_DIR itself is a symlink + # sort by newest + find "${DOWNLOAD_DIR}/" -maxdepth 1 -type f -printf "%T+ %f\n" | sort -r } mapfile -t entries < <(ls-files) @@ -88,14 +88,14 @@ mapfile -t entries < <(ls-files) # we need to manually check that there are items, because rofi doesn't show up # if there are no items and -no-custom is passed to rofi. if [ "${#entries[@]}" -eq 0 ]; then - die "Download directory »${DOWNLOAD_DIR}« empty" + die "Download directory »${DOWNLOAD_DIR}« empty" fi -line=$(printf '%s\n' "${entries[@]}" \ - | crop-first-column \ - | $ROFI_CMD "${ROFI_ARGS[@]}") || true +line=$(printf '%s\n' "${entries[@]}" | + crop-first-column | + $ROFI_CMD "${ROFI_ARGS[@]}") || true if [ -z "$line" ]; then - exit 0 + exit 0 fi msg info "file is $line" @@ -104,7 +104,7 @@ filetype=$(xdg-mime query filetype "$path") application=$(xdg-mime query default "$filetype") if [ -z "$application" ]; then - die "Do not know how to open »$line« of type $filetype" + die "Do not know how to open »$line« of type $filetype" fi msg info "Opening »$line« (of type $filetype) with ${application%.desktop}" diff --git a/sh/.config/sh/alias b/sh/.config/sh/alias index 9b1c9a8..5746afb 100644 --- a/sh/.config/sh/alias +++ b/sh/.config/sh/alias @@ -61,8 +61,6 @@ if exist fzf; then fzf_pkg_tool=yay elif exist paru; then fzf_pkg_tool=paru - elif exist pacman; then - fzf_pkg_tool=pacman fi # shellcheck disable=2139 # we *want* this to be done at shell startup instead of dynamically if [ -n "$fzf_pkg_tool" ]; then @@ -91,4 +89,6 @@ fi if exist vifm; then alias vm=vifm alias vmm='vifm ${PWD}' + # enable picture preview script + exist vifmrun && alias vifm=vifmrun fi diff --git a/sh/.config/sh/alias.d/enable-fasd-hook.sh b/sh/.config/sh/alias.d/enable-fasd-hook.sh index ca239f0..7b12527 100644 --- a/sh/.config/sh/alias.d/enable-fasd-hook.sh +++ b/sh/.config/sh/alias.d/enable-fasd-hook.sh @@ -1,7 +1,7 @@ #!/bin/sh # more usage instructions at https://github.com/clvv/fasd # eval "$(fasd --init posix-hook posix_alias bash-hook zsh-hook zsh-ccomp zsh-ccomp-install zsh-wcomp zsh-wcomp-install)" -exist fasd && eval "$(fasd --init auto)" +type fasd >/dev/null 2>&1 && eval "$(fasd --init auto)" # any alias a='fasd -a' diff --git a/sh/.config/sh/alias.d/sfz.sh b/sh/.config/sh/alias.d/sfz.sh deleted file mode 100644 index 6d0daf8..0000000 --- a/sh/.config/sh/alias.d/sfz.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env sh -## Quickly bring up a file server for -# the current directory. - -if exist sfz; then - alias serve="sfz" -elif exist gossa; then - alias serve="gossa" -elif exist rossa; then - alias serve="rossa" -fi diff --git a/sh/.config/sh/alias.d/yay.sh b/sh/.config/sh/alias.d/yay.sh index 62f99a6..3e18c2e 100644 --- a/sh/.config/sh/alias.d/yay.sh +++ b/sh/.config/sh/alias.d/yay.sh @@ -6,28 +6,28 @@ # Also makes yay call paru since that is the new hotness # (or at least I want to try it) -exist paru && { +type paru >/dev/null 2>&1 && { # recreate the normal look of yay alias yay="paru --bottomup" } syu() { - exist topgrade && { + type topgrade >/dev/null 2>&1 && { topgrade return } - exist paru && { + type paru >/dev/null 2>&1 && { paru return } - exist yay && { + type yay >/dev/null 2>&1 && { yay return } - exist pacman && { + type pacman >/dev/null 2>&1 && { echo "Did not find paru, or yay installed. Updates will not be applied to aur packages." sudo pacman -Syu return diff --git a/sh/.config/sh/profile.d/autostartx.sh b/sh/.config/sh/profile.d/autostartx.sh index d4e451f..20768cc 100644 --- a/sh/.config/sh/profile.d/autostartx.sh +++ b/sh/.config/sh/profile.d/autostartx.sh @@ -1,22 +1,9 @@ #!/usr/bin/env sh -# simple check for running graphical session if [ -n "$DISPLAY" ] || [ -z "$XDG_VTNR" ] || [ "$XDG_VTNR" -ne 1 ]; then - return -fi - -# more involved check for running graphical session -# but figures it out for weird sshd sessions as well -if [ "$(loginctl show-session "$(loginctl show-user "$(whoami)" -p Display --value)" -p Type --value)" = 'wayland' ]; then - return -fi - -# just in case we are running x11 and this wants -# to automatically start wayland, stop it from doing so -if [ "$(loginctl show-session "$(loginctl show-user "$(whoami)" -p Display --value)" -p Type --value)" = 'x11' ]; then - return + return fi if command -v river >/dev/null 2>&1; then - river + river fi