dotfiles/files/mutt/.local/bin/mutt-sorcerer
Ben Grande d13a21a734
fix: avoid echo usage
Echo can interpret operand as an option and checking every variable to
be echoed is troublesome while with printf, if the format specifier is
present before the operand, printing as string can be enforced.
2024-08-06 18:12:46 +02:00

36 lines
943 B
Bash
Executable File

#!/bin/sh
##
## SPDX-FileCopyrightText: 2024 Benjamin Grande M. S. <ben.grande.b@gmail.com>
##
## SPDX-License-Identifier: AGPL-3.0-or-later
##
## Mutt Sorcerer - source Mutt configuration like a wizard
## Useful if some configurations files in non-default locations might exist.
set -eu
credentials_file="${HOME}/.muttrc-credentials.local"
aliases_file="${HOME}/.muttrc-aliases.local"
local_file="${HOME}/.muttrc.local"
## source_redable(): do not require that the file exists in the first place.
source_existent(){
for file in "${@}"; do
if test -f "${file}"; then
printf '%s\n' "source \"${file}\""
fi
done
unset file
}
## Source files that must exist, let mutt fail otherwise.
printf '%s\n' "source \"${credentials_file}\""
## PWD is inherited from the muttrc that called this script.
for file in *.muttrc; do
printf '%s\n' "source \"${file}\""
done
unset file
source_existent "${aliases_file}" "${local_file}"