37 lines
1.2 KiB
Bash
37 lines
1.2 KiB
Bash
#####################################################################
|
|||
|
|
|
||
|
|
setup.config.env() {
|
||
|
|
local config_type="${1}"
|
||
|
|
local default_config="${DOTWRYN_SETUP__DOTWRYN}/${config_type}/env.${config_type}"
|
||
|
|
local local_config="${HOME}/.config/wryn/env.${config_type}"
|
||
|
|
|
||
|
|
if [[ -f "${local_config}" ]]
|
||
|
|
then
|
||
|
|
case "${DOTWRYN_SETUP__OVERWRITE_EXISTING}" in
|
||
|
|
( false ) return 0 ;;
|
||
|
|
( true )
|
||
|
|
echo.warning "local ${config_type} configuration exists (${local_config})"
|
||
|
|
utils.yN 'overwrite this configuration?' || return 0
|
||
|
|
|
||
|
|
mv -- "${local_config}" "${local_config}.bak" &>/dev/null \
|
||
|
|
&& echo.status "created backup of local configuration (${local_config}.bak)"
|
||
|
|
;;
|
||
|
|
esac
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo.status "setting up ${config_type} configuration (${local_config})"
|
||
|
|
|
||
|
|
local comment='#'
|
||
|
|
|
||
|
|
{
|
||
|
|
echo "source ${default_config}"
|
||
|
|
echo -e "\\n${comment}\n${comment} .wryn configuration overrides\n${comment}\n"
|
||
|
|
sed "s/^[^${comment}].*/${comment}&/" "${default_config}"
|
||
|
|
} > "${local_config}" \
|
||
|
|
&& echo.success "created ${config_type} configuration" \
|
||
|
|
|| echo.error "unable to create ${config_type} configuration" \
|
||
|
|
|| return 1
|
||
|
|
|
||
|
|
EDITOR=vim VISUAL=vim utils.io.edit "${local_config}"
|
||
|
|
}
|