From 1ec89c979f708e9d56876731a0efa6dbfa1e90f1 Mon Sep 17 00:00:00 2001 From: Nathan Woodburn Date: Sat, 3 Jan 2026 19:28:32 +1100 Subject: [PATCH] fix: Update zsh configs to stop duplicate paths --- .zshenv | 5 ----- .zshrc | 47 ++++++++++++++++++++++++++++++++--------------- 2 files changed, 32 insertions(+), 20 deletions(-) diff --git a/.zshenv b/.zshenv index aa94667..c3359bc 100644 --- a/.zshenv +++ b/.zshenv @@ -1,8 +1,3 @@ -. "$HOME/.cargo/env" - -export PATH="$PATH:/home/nathan/.cyfrin/bin" - -export PATH="$PATH:/home/nathan/.foundry/bin" export HSD_URL=hsd01.dev.woodburn.au export HSD_HTTP_HOST=hsd01.dev.woodburn.au export HSD_API_KEY=y5cSK42tgVCdt4E58jkHjI3nQ9GU32bC diff --git a/.zshrc b/.zshrc index fc7e1b9..a24edc0 100644 --- a/.zshrc +++ b/.zshrc @@ -15,6 +15,15 @@ fi # TMP profiler # zmodload zsh/zprof +# Path Prepending +function path_prepend() { + case ":$PATH:" in + *":$1:"*) ;; + *) PATH="$1:$PATH" ;; + esac +} + + ### 📦 Plugin & Framework Setup export ZSH="$HOME/.oh-my-zsh" ZSH_THEME="robbyrussell" @@ -33,19 +42,23 @@ export ANDROID_HOME="$HOME/Android/Sdk" export LIBVIRT_DEFAULT_URI="qemu:///system" # Set path at the start to ensure all commands can find their binaries -export PATH="/usr/bin:$PATH" -export PATH="$HOME/.local/bin:$PATH" -export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH" -export PATH="$ANDROID_HOME/platform-tools:$PATH" -export PATH="$ANDROID_HOME/cmdline-tools/latest/bin:$PATH" -export PATH="$HOME/.pub-cache/bin:$PATH" -export PATH="/opt/flutter/flutter/bin:$PATH" -export PATH="$HOME/go/bin:$PATH" -export PATH="$HOME/Downloads/go/bin:$PATH" -export PATH="$HOME/Downloads/idea-IU-232.10072.27/bin:$PATH" -export PATH="$HOME/exe/zig-linux-x86_64-0.13.0:$PATH" -export PATH="$HOME/Downloads/javacc-javacc-7.0.13/javacc-javacc-7.0.13/scripts:$PATH" -export PATH="$HOME/.atuin/bin:$PATH" +path_prepend "$HOME/.local/bin" +path_prepend "$HOME/.local/share/solana/install/active_release/bin" +path_prepend "$ANDROID_HOME/platform-tools" +path_prepend "$ANDROID_HOME/cmdline-tools/latest/bin" +path_prepend "$HOME/.pub-cache/bin" +path_prepend "/opt/flutter/flutter/bin" +path_prepend "$HOME/go/bin" +path_prepend "$HOME/Downloads/go/bin" +path_prepend "$HOME/Downloads/idea-IU-232.10072.27/bin" +path_prepend "$HOME/exe/zig-linux-x86_64-0.13.0" +path_prepend "$HOME/Downloads/javacc-javacc-7.0.13/javacc-javacc-7.0.13/scripts" +path_prepend "$HOME/.atuin/bin" +path_prepend "$HOME/.cyfrin/bin" +path_prepend "$HOME/.foundry/bin" +path_prepend "$HOME/.atuin/bin" +path_prepend "$HOME/.cargo/bin" + ### ⚙️ Tools Init eval "$(zoxide init --cmd cd zsh)" @@ -53,14 +66,13 @@ eval "$(oh-my-posh init zsh --config ~/theme.omp.json)" eval "$(atuin init zsh --disable-up-arrow)" bindkey '^[[1;5A' atuin-up-search -. "$HOME/.atuin/bin/env" - export PYENV_ROOT="$HOME/.pyenv" [[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init - zsh)" # Zellij auto-start ZELLIJ_AUTO_EXIT=true +ZELLIJ_AUTO_ATTACH=true eval "$(zellij setup --generate-auto-start zsh)" ### 🐚 Shell Options @@ -107,3 +119,8 @@ export FZF_DEFAULT_OPTS='--preview "bat --color=always {}"' fpath+=(${ZDOTDIR:-~}/.zsh_functions) FPATH+="$HOME/Git/eza/completions/zsh" export FPATH + +# pnpm +export PNPM_HOME="$HOME/.local/share/pnpm" +path_prepend "$PNPM_HOME" +# pnpm end