#!/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" }