dotfiles.2022/_home/dot_sz.shrc.d/97_chezmoi_aliases

67 lines
2.0 KiB
Plaintext

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