Files
miaur/lib/config.sh
T
2026-07-19 14:06:49 +08:00

77 lines
2.3 KiB
Bash

#!/usr/bin/env bash
# Config defaults and loader for miaur
# Defaults
MIAUR_AURURL="${MIAUR_AURURL:-https://aur.archlinux.org}"
MIAUR_AURRPC="${MIAUR_AURRPC:-https://aur.archlinux.org/rpc/v5}"
MIAUR_CLONEDIR="${MIAUR_CLONEDIR:-${XDG_CACHE_HOME:-$HOME/.cache}/miaur}"
MIAUR_SKIPREVIEW="${MIAUR_SKIPREVIEW:-0}"
MIAUR_CLEANAFTER="${MIAUR_CLEANAFTER:-0}"
MIAUR_REMOVEMAKE="${MIAUR_REMOVEMAKE:-1}"
MIAUR_BOTTOMUP="${MIAUR_BOTTOMUP:-0}"
MIAUR_SUDOLOOP="${MIAUR_SUDOLOOP:-1}"
MIAUR_MFLAGS="${MIAUR_MFLAGS:--si}"
MIAUR_SORTBY="${MIAUR_SORTBY:-votes}"
MIAUR_SEARCHBY="${MIAUR_SEARCHBY:-name-desc}"
MIAUR_MODE="${MIAUR_MODE:-}" # aur|repo|empty=both
MIAUR_SUDO="${MIAUR_SUDO:-sudo}"
MIAUR_SUDOFLAGS="${MIAUR_SUDOFLAGS:-}"
MIAUR_GIT="${MIAUR_GIT:-git}"
MIAUR_MAKEPKG="${MIAUR_MAKEPKG:-makepkg}"
MIAUR_PACMAN="${MIAUR_PACMAN:-pacman}"
MIAUR_BAT="${MIAUR_BAT:-bat}"
MIAUR_EDITOR="${VISUAL:-${EDITOR:-nano}}"
_bool_val() {
case "${1,,}" in
1 | true | yes | on) printf '1' ;;
0 | false | no | off) printf '0' ;;
*) printf '%s' "$1" ;;
esac
}
miaur_load_config() {
local conf="${XDG_CONFIG_HOME:-$HOME/.config}/miaur/miaur.conf"
[[ -f $conf ]] || return 0
local line key val
while IFS= read -r line || [[ -n $line ]]; do
line=${line%%#*}
line=${line#"${line%%[![:space:]]*}"}
line=${line%"${line##*[![:space:]]}"}
[[ -z $line ]] && continue
key=${line%%=*}
val=${line#*=}
key=${key%"${key##*[![:space:]]}"}
key=${key#"${key%%[![:space:]]*}"}
val=${val#"${val%%[![:space:]]*}"}
val=${val%"${val##*[![:space:]]}"}
val=${val#\"}
val=${val%\"}
val=${val#\'}
val=${val%\'}
case "$key" in
AurUrl | AURURL) MIAUR_AURURL=$val ;;
AurRpcUrl | AURRPC) MIAUR_AURRPC=$val ;;
CloneDir)
MIAUR_CLONEDIR=$val
[[ $MIAUR_CLONEDIR == ~* ]] && MIAUR_CLONEDIR="${MIAUR_CLONEDIR/#\~/$HOME}"
;;
SkipReview) MIAUR_SKIPREVIEW=$(_bool_val "$val") ;;
CleanAfter) MIAUR_CLEANAFTER=$(_bool_val "$val") ;;
RemoveMake) MIAUR_REMOVEMAKE=$(_bool_val "$val") ;;
BottomUp) MIAUR_BOTTOMUP=$(_bool_val "$val") ;;
SudoLoop) MIAUR_SUDOLOOP=$(_bool_val "$val") ;;
MFlags) MIAUR_MFLAGS=$val ;;
SortBy) MIAUR_SORTBY=$val ;;
SearchBy) MIAUR_SEARCHBY=$val ;;
Sudo) MIAUR_SUDO=$val ;;
SudoFlags) MIAUR_SUDOFLAGS=$val ;;
Git) MIAUR_GIT=$val ;;
Makepkg) MIAUR_MAKEPKG=$val ;;
Pacman) MIAUR_PACMAN=$val ;;
Bat) MIAUR_BAT=$val ;;
Editor) MIAUR_EDITOR=$val ;;
esac
done <"$conf"
}