if [[ -z "$(which-command chezmoi)" && -x "$HOME/bin/chezmoi" ]]; then function chezmoi() { "$HOME/bin/chezmoi" "${@}" } fi if [[ -n "$(which-command chezmoi)" ]]; then export CHEZMOIROOT="$(chezmoi source-path)" export CZ="$CHEZMOIROOT" export CZ_X="$(readlink -f $CHEZMOIROOT/../_externals)" alias czcd="cd $CZ" alias czxcd="cd $CZ_X" function cz() { chezmoi "${@}"; } function czx() { chezmoi --source $CZ_X --config $HOME/.config/chezmoi.externals/config.toml "${@}" } alias czs="cz status " function czg() { cz git -- "${@}" } #alias czg="cz git -- " alias czgs="cz git -- status " alias cza="cz apply && exec $SHELL" alias czu="cz upgrade && cz update && exec $SHELL " alias czxu="cz upgrade && cz update && czx apply && exec $SHELL " alias cz-refresh="czs | cut -d\ -f2 | grep '^\.sz\.shrc\.d' | xargs chezmoi forget --force; cz add ~/.sz.shrc.d --recursive; cz status; cz git status" alias cz-commit="cz git -- commit -a " function cz-remove-missing() { pushd ~ > /dev/null changes=$(cz status | sed -n 's/^DA[ \t]\+//p') for c in $changes; do cz rm $c done popd > /dev/null } function cz-add-changes() { pushd ~ > /dev/null changes=$(cz status | sed -n 's/^MM[ \t]\+//p') for c in $changes; do echo Adding $c cz add $c done popd > /dev/null } function cz-set-ssh-github() { cz git -- remote set-url origin "$( \ cz git -- remote get-url origin \ | sed 's|https://github.com/|git@github.com:|' \ )" cz git -- remote get-url origin } function cz-set-https-github() { cz git -- remote set-url origin "$( \ cz git -- remote get-url origin \ | sed 's|git@github.com:|https://github.com/|' \ )" cz git -- remote get-url origin } fi