From e87062e8ee69ddaa7d7a8c487b09afa81daaaa3a Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Mon, 18 Sep 2023 10:06:55 +0100 Subject: [PATCH] feat(orbstack): shell setup for Orbstack (Docker Desktop replacement) --- zsh/containers.zsh | 51 ++++++++++++++++++++++++++++++---------------- zshenv | 6 ++++++ 2 files changed, 39 insertions(+), 18 deletions(-) diff --git a/zsh/containers.zsh b/zsh/containers.zsh index 4afffdb..7455e6d 100644 --- a/zsh/containers.zsh +++ b/zsh/containers.zsh @@ -2,25 +2,40 @@ # Containers # -docker_remove_exited() { - docker rm $(docker ps -f='status=exited' -q) -} +if command-exists docker; then + docker_remove_exited() { + docker rm $(docker ps -f='status=exited' -q) + } -# Disable docker scan suggestion/advertisement. It currently prints even when -q -# is passed to docker build. -export DOCKER_SCAN_SUGGEST=false + # Disable docker scan suggestion/advertisement. It currently prints even when + # -q is passed to docker build. + export DOCKER_SCAN_SUGGEST=false -alias d="docker" -alias dc="docker compose" -alias co="docker-compose" -alias dre="docker_remove_exited" + alias d="docker" + alias dc="docker compose" + alias co="docker-compose" + alias dre="docker_remove_exited" +fi -alias n="nerdctl" -alias ne="nerdctl" -alias nec="nerdctl compose" +if command-exists nerdctl; then + alias n="nerdctl" + alias ne="nerdctl" + alias nec="nerdctl compose" +fi -# Podman -alias p="podman" -alias pd="podman" -alias pm="podman machine" -alias pc="podman-compose" +if command-exists podman; then + alias p="podman" + alias pd="podman" + alias pm="podman machine" + alias pc="podman-compose" +fi + +if command-exists orbctl; then + alias oc="orbctl" + + if [ ! -f "${DOTZSH_SITEFUNS}/_orbctl" ]; then + echo "Setting up completion for orbctl -- ${DOTZSH_SITEFUNS}/_orbctl" + orbctl completion zsh > "${DOTZSH_SITEFUNS}/_orbctl" + chmod +x "${DOTZSH_SITEFUNS}/_orbctl" + fi +fi diff --git a/zshenv b/zshenv index 142197c..2bea06e 100644 --- a/zshenv +++ b/zshenv @@ -203,6 +203,12 @@ fi path_prepend "$HOME/.local/share/rtx/bin" path_prepend "$HOME/.local/share/rtx/shims" +# orbstack setup +if [ -f "$HOME/.orbstack/shell/init.zsh" ]; then + source "$HOME/.orbstack/shell/init.zsh" +fi +path_prepend "$HOME/.orbstack/bin" + # ============================================================================== # Path setup for select binaries installed with zinit # ==============================================================================