if [[ -n "$(which-command chezmoi)" ]]; then
  export CZ="$(chezmoi source-path)"
  export CHEZMOIROOT="$CZ"

  alias cdcz="cd $CZ"
  alias czcd="cdcz "
  
  alias cz="chezmoi "

  alias czs="chezmoi status "

  alias cz-refresh="chezmoi status | cut -d\  -f2 | grep '^\.sz\.shrc\.d' | xargs chezmoi forget --force; chezmoi add ~/.sz.shrc.d --recursive; chezmoi status; chezmoi git status"
  alias cz-commit="chezmoi git -- commit -a "

  function cz-remove-missing() {
    pushd ~ > /dev/null
    changes=$(chezmoi status | sed -n 's/^DA[ \t]\+//p')
    for c in $changes; do
      chezmoi rm $c
    done
    popd > /dev/null
  }

  function cz-add-changes() {
    pushd ~ > /dev/null
    changes=$(chezmoi status | sed -n 's/^MM[ \t]\+//p')
    for c in $changes; do
      echo Adding $c
      chezmoi add $c
    done
    popd > /dev/null
  }

  function cz-set-ssh-github() {
    chezmoi git -- remote set-url origin "$(chezmoi git -- remote get-url origin | sed 's|https://github.com/|git@github.com:|')"
    chezmoi git -- remote get-url origin
  }

  function cz-set-https-github() {
    chezmoi git -- remote set-url origin "$(chezmoi git -- remote get-url origin | sed 's|git@github.com:|https://github.com/|')"
    chezmoi git -- remote get-url origin
  }
fi