# Check system status export def main [] { check-deps let git_status_dotfiles = [ '-C' $env.DOTFILES status '--short' '--branch' ] run-external git ...$git_status_dotfiles macchina } # Synchronize by uploading export def up [] { check-deps let git_add_dotfiles = [ '-C' $env.DOTFILES add '--all' ] let git_commit_dotfiles = [ '-C' $env.DOTFILES commit '--all' ] let git_push_dotfiles = [ '-C' $env.DOTFILES push ] run-external git ...$git_add_dotfiles try { run-external git ...$git_commit_dotfiles } run-external git ...$git_push_dotfiles } # Synchronise by downloading export def down [] { check-deps let git_pull_dotfiles = [ '-C' $env.DOTFILES pull ] run-external git ...$git_pull_dotfiles run-external topgrade } def all-exist [] { all { which $in | is-not-empty } } def check-deps [] { let deps = [ git topgrade macchina ] if not ($deps | all-exist) { error make { msg: $"Install all of ($deps)" } } }