diff --git a/.bashrc b/.bashrc index 33a7d8e..e683a5a 100644 --- a/.bashrc +++ b/.bashrc @@ -4,6 +4,9 @@ # If not running interactively, don't do anything [ -z "$PS1" ] && return +# Source shared shell configuration +[ -f "$HOME/.config/shell/common.sh" ] && . "$HOME/.config/shell/common.sh" + # Load bash-preexec if available (enables Atuin shell history) [[ -f ~/.bash-preexec.sh ]] && source ~/.bash-preexec.sh diff --git a/.config/atuin/config.toml b/.config/atuin/config.toml index 345f3ec..0947546 100644 --- a/.config/atuin/config.toml +++ b/.config/atuin/config.toml @@ -38,15 +38,17 @@ sync_frequency = "10m" ## which search mode to use ## possible values: prefix, fulltext, fuzzy, skim -# search_mode = "fuzzy" +## skim provides fast fuzzy matching +search_mode = "skim" ## which filter mode to use ## possible values: global, host, session, directory -# filter_mode = "global" +## directory mode filters to commands run in current directory by default +filter_mode = "directory" ## With workspace filtering enabled, Atuin will filter for commands executed -## in any directory within a git repository tree (default: false) -# workspaces = false +## in any directory within a git repository tree +workspaces = true ## which filter mode to use when atuin is invoked from a shell up-key binding ## the accepted values are identical to those of "filter_mode" @@ -98,10 +100,14 @@ sync_frequency = "10m" ## with ^ or end with $, they'll match anywhere in the command. ## For details on the supported regular expression syntax, see ## https://docs.rs/regex/latest/regex/#syntax -# history_filter = [ -# "^secret-cmd", -# "^innocuous-cmd .*--secret=.+", -# ] +history_filter = [ + "^ ", # Commands starting with space (intentionally hidden) + "--password", # Password arguments + "--secret", # Secret arguments + "^export .*=", # Environment variable exports (may contain secrets) + "^AWS_SECRET", # AWS credentials + "PRIVATE_KEY", # Private keys +] ## prevent commands run with cwd matching any of these regexes from being written ## to history. Note that these regular expressions are unanchored, i.e. if they don't diff --git a/.config/ghostty/config b/.config/ghostty/config deleted file mode 100644 index 2489509..0000000 --- a/.config/ghostty/config +++ /dev/null @@ -1,34 +0,0 @@ -# Config generated by Ghostty Config - -theme = catppuccin-mocha -background = #1e1e2e -foreground = #cdd6f4 -selection-background = #585b70 -selection-foreground = #cdd6f4 -background-opacity = 0.85 -background-blur = true -cursor-color = #f5e0dc -cursor-text = #1e1e2e -palette = 0=#45475a -palette = 1=#f38ba8 -palette = 2=#a6e3a1 -palette = 3=#f9e2af -palette = 4=#89b4fa -palette = 5=#f5c2e7 -palette = 6=#94e2d5 -palette = 7=#a6adc8 -palette = 8=#585b70 -palette = 9=#f37799 -palette = 10=#89d88b -palette = 11=#ebd391 -palette = 12=#74a8fc -palette = 13=#f2aede -palette = 14=#6bd7ca -palette = 15=#bac2de -font-size = 16 -font-family = JetBrainsMono Nerd Font -mouse-hide-while-typing = true -macos-titlebar-style = tabs -auto-update = check - -keybind = global:ctrl+grave_accent=toggle_quick_terminal diff --git a/.config/iterm2/com.googlecode.iterm2.plist b/.config/iterm2/com.googlecode.iterm2.plist deleted file mode 100644 index c0364a2..0000000 --- a/.config/iterm2/com.googlecode.iterm2.plist +++ /dev/null @@ -1,1265 +0,0 @@ - - - - - AlternateMouseScroll - - Custom Color Presets - - Night Owl - - Ansi 0 Color - - Alpha Component - 1 - Blue Component - 0.15294118225574493 - Color Space - sRGB - Green Component - 0.086274512112140656 - Red Component - 0.0039215688593685627 - - Ansi 1 Color - - Alpha Component - 1 - Blue Component - 0.31372550129890442 - Color Space - sRGB - Green Component - 0.32549020648002625 - Red Component - 0.93725490570068359 - - Ansi 10 Color - - Alpha Component - 1 - Blue Component - 0.43137255311012268 - Color Space - sRGB - Green Component - 0.85490196943283081 - Red Component - 0.13333334028720856 - - Ansi 11 Color - - Alpha Component - 1 - Blue Component - 0.58431375026702881 - Color Space - sRGB - Green Component - 0.92156863212585449 - Red Component - 1 - - Ansi 12 Color - - Alpha Component - 1 - Blue Component - 1 - Color Space - sRGB - Green Component - 0.66666668653488159 - Red Component - 0.50980395078659058 - - Ansi 13 Color - - Alpha Component - 1 - Blue Component - 0.91764706373214722 - Color Space - sRGB - Green Component - 0.57254904508590698 - Red Component - 0.78039216995239258 - - Ansi 14 Color - - Alpha Component - 1 - Blue Component - 0.7921568751335144 - Color Space - sRGB - Green Component - 0.85882353782653809 - Red Component - 0.49803921580314636 - - Ansi 15 Color - - Alpha Component - 1 - Blue Component - 1 - Color Space - sRGB - Green Component - 1 - Red Component - 1 - - Ansi 2 Color - - Alpha Component - 1 - Blue Component - 0.43137255311012268 - Color Space - sRGB - Green Component - 0.85490196943283081 - Red Component - 0.13333334028720856 - - Ansi 3 Color - - Alpha Component - 1 - Blue Component - 0.40392157435417175 - Color Space - sRGB - Green Component - 0.85882353782653809 - Red Component - 0.67843139171600342 - - Ansi 4 Color - - Alpha Component - 1 - Blue Component - 1 - Color Space - sRGB - Green Component - 0.66666668653488159 - Red Component - 0.50980395078659058 - - Ansi 5 Color - - Alpha Component - 1 - Blue Component - 0.91764706373214722 - Color Space - sRGB - Green Component - 0.57254904508590698 - Red Component - 0.78039216995239258 - - Ansi 6 Color - - Alpha Component - 1 - Blue Component - 0.65882354974746704 - Color Space - sRGB - Green Component - 0.78039216995239258 - Red Component - 0.12941177189350128 - - Ansi 7 Color - - Alpha Component - 1 - Blue Component - 1 - Color Space - sRGB - Green Component - 1 - Red Component - 1 - - Ansi 8 Color - - Alpha Component - 1 - Blue Component - 0.33725491166114807 - Color Space - sRGB - Green Component - 0.33725491166114807 - Red Component - 0.34117648005485535 - - Ansi 9 Color - - Alpha Component - 1 - Blue Component - 0.31372550129890442 - Color Space - sRGB - Green Component - 0.32549020648002625 - Red Component - 0.93725490570068359 - - Background Color - - Alpha Component - 1 - Blue Component - 0.15294118225574493 - Color Space - sRGB - Green Component - 0.086274512112140656 - Red Component - 0.0039215688593685627 - - Badge Color - - Alpha Component - 1 - Blue Component - 0.59215688705444336 - Color Space - sRGB - Green Component - 0.49411764740943909 - Red Component - 0.37254902720451355 - - Bold Color - - Alpha Component - 1 - Blue Component - 0.40392157435417175 - Color Space - sRGB - Green Component - 0.85882353782653809 - Red Component - 0.67843139171600342 - - Cursor Color - - Alpha Component - 1 - Blue Component - 0.7607843279838562 - Color Space - sRGB - Green Component - 0.34117648005485535 - Red Component - 0.49411764740943909 - - Cursor Guide Color - - Alpha Component - 0.25 - Blue Component - 1 - Color Space - sRGB - Green Component - 0.9268307089805603 - Red Component - 0.70213186740875244 - - Cursor Text Color - - Alpha Component - 1 - Blue Component - 1 - Color Space - sRGB - Green Component - 1 - Red Component - 0.99999600648880005 - - Foreground Color - - Alpha Component - 1 - Blue Component - 0.92156863212585449 - Color Space - sRGB - Green Component - 0.87058824300765991 - Red Component - 0.83921569585800171 - - Link Color - - Alpha Component - 1 - Blue Component - 1 - Color Space - sRGB - Green Component - 0.66666668653488159 - Red Component - 0.50980395078659058 - - Selected Text Color - - Alpha Component - 1 - Blue Component - 0.93430596590042114 - Color Space - sRGB - Green Component - 0.89671963453292847 - Red Component - 0.87274330854415894 - - Selection Color - - Alpha Component - 1 - Blue Component - 0.59215688705444336 - Color Space - sRGB - Green Component - 0.49411764740943909 - Red Component - 0.37254902720451355 - - Tab Color - - Alpha Component - 1 - Blue Component - 0.15294118225574493 - Color Space - sRGB - Green Component - 0.086274512112140656 - Red Component - 0.0039215688593685627 - - - Nord - - Ansi 0 Color - - Alpha Component - 1 - Blue Component - 0.25300124287605286 - Color Space - Calibrated - Green Component - 0.19692185521125793 - Red Component - 0.17621420323848724 - - Ansi 1 Color - - Alpha Component - 1 - Blue Component - 0.34168937802314758 - Color Space - Calibrated - Green Component - 0.29435792565345764 - Red Component - 0.68855589628219604 - - Ansi 10 Color - - Alpha Component - 1 - Blue Component - 0.47597441077232361 - Color Space - Calibrated - Green Component - 0.7002110481262207 - Red Component - 0.57605421543121338 - - Ansi 11 Color - - Alpha Component - 1 - Blue Component - 0.47280269861221313 - Color Space - Calibrated - Green Component - 0.75577855110168457 - Red Component - 0.89902019500732422 - - Ansi 12 Color - - Alpha Component - 1 - Blue Component - 0.70459425449371338 - Color Space - Calibrated - Green Component - 0.56080448627471924 - Red Component - 0.43401443958282471 - - Ansi 13 Color - - Alpha Component - 1 - Blue Component - 0.61571133136749268 - Color Space - Calibrated - Green Component - 0.47487166523933411 - Red Component - 0.64283657073974609 - - Ansi 14 Color - - Alpha Component - 1 - Blue Component - 0.67779052257537842 - Color Space - Calibrated - Green Component - 0.68614721298217773 - Red Component - 0.49344515800476074 - - Ansi 15 Color - - Alpha Component - 1 - Blue Component - 0.94574689865112305 - Color Space - Calibrated - Green Component - 0.92092084884643555 - Red Component - 0.90727746486663818 - - Ansi 2 Color - - Alpha Component - 1 - Blue Component - 0.47597441077232361 - Color Space - Calibrated - Green Component - 0.7002110481262207 - Red Component - 0.57605421543121338 - - Ansi 3 Color - - Alpha Component - 1 - Blue Component - 0.47280269861221313 - Color Space - Calibrated - Green Component - 0.75577855110168457 - Red Component - 0.89902019500732422 - - Ansi 4 Color - - Alpha Component - 1 - Blue Component - 0.70459425449371338 - Color Space - Calibrated - Green Component - 0.56080448627471924 - Red Component - 0.43401443958282471 - - Ansi 5 Color - - Alpha Component - 1 - Blue Component - 0.61571133136749268 - Color Space - Calibrated - Green Component - 0.47487166523933411 - Red Component - 0.64283657073974609 - - Ansi 6 Color - - Alpha Component - 1 - Blue Component - 0.77356863021850586 - Color Space - Calibrated - Green Component - 0.70216643810272217 - Red Component - 0.4660642147064209 - - Ansi 7 Color - - Alpha Component - 1 - Blue Component - 0.92620980739593506 - Color Space - Calibrated - Green Component - 0.8916594386100769 - Red Component - 0.87367779016494751 - - Ansi 8 Color - - Alpha Component - 1 - Blue Component - 0.34064260125160217 - Color Space - Calibrated - Green Component - 0.2652154266834259 - Red Component - 0.23306176066398621 - - Ansi 9 Color - - Alpha Component - 1 - Blue Component - 0.34168937802314758 - Color Space - Calibrated - Green Component - 0.29435792565345764 - Red Component - 0.68855589628219604 - - Background Color - - Alpha Component - 1 - Blue Component - 0.19183900952339172 - Color Space - Calibrated - Green Component - 0.15255947411060333 - Red Component - 0.1357133686542511 - - Badge Color - - Alpha Component - 0.7057952880859375 - Blue Component - 0.29600727558135986 - Color Space - Calibrated - Green Component - 0.23046499490737915 - Red Component - 0.20252507925033569 - - Bold Color - - Alpha Component - 1 - Blue Component - 0.94574689865112305 - Color Space - Calibrated - Green Component - 0.92092084884643555 - Red Component - 0.90727746486663818 - - Cursor Color - - Alpha Component - 1 - Blue Component - 0.89225924015045166 - Color Space - Calibrated - Green Component - 0.83857882022857666 - Red Component - 0.81214714050292969 - - Cursor Guide Color - - Alpha Component - 1 - Blue Component - 0.25300124287605286 - Color Space - Calibrated - Green Component - 0.19692185521125793 - Red Component - 0.17621420323848724 - - Cursor Text Color - - Alpha Component - 1 - Blue Component - 0.25300124287605286 - Color Space - Calibrated - Green Component - 0.19692185521125793 - Red Component - 0.17621420323848724 - - Foreground Color - - Alpha Component - 1 - Blue Component - 0.89225912094116211 - Color Space - Calibrated - Green Component - 0.83857882022857666 - Red Component - 0.81214725971221924 - - Link Color - - Alpha Component - 1 - Blue Component - 0.92620980739593506 - Color Space - Calibrated - Green Component - 0.8916594386100769 - Red Component - 0.87367779016494751 - - Selected Text Color - - Alpha Component - 1 - Blue Component - 0.89225924015045166 - Color Space - Calibrated - Green Component - 0.83857882022857666 - Red Component - 0.81214714050292969 - - Selection Color - - Alpha Component - 1 - Blue Component - 0.34064260125160217 - Color Space - Calibrated - Green Component - 0.2652154266834259 - Red Component - 0.23306176066398621 - - Tab Color - - Alpha Component - 1 - Blue Component - 0.25300124287605286 - Color Space - Calibrated - Green Component - 0.19692185521125793 - Red Component - 0.17621420323848724 - - - - Default Bookmark Guid - D4328930-6526-45BC-BCD4-712C4AF3DC07 - EnableAPIServer - - HapticFeedbackForEsc - - HideScrollbar - - HotkeyMigratedFromSingleToMulti - - NeverWarnAboutShortLivedSessions_D4328930-6526-45BC-BCD4-712C4AF3DC07 - - NeverWarnAboutShortLivedSessions_D4328930-6526-45BC-BCD4-712C4AF3DC07_selection - 0 - New Bookmarks - - - ASCII Anti Aliased - - ASCII Ligatures - - AWDS Pane Directory - - AWDS Pane Option - Recycle - AWDS Tab Directory - - AWDS Tab Option - No - AWDS Window Directory - - AWDS Window Option - No - Ambiguous Double Width - - Ansi 0 Color - - Alpha Component - 1 - Blue Component - 0.25300124287605286 - Color Space - Calibrated - Green Component - 0.19692185521125793 - Red Component - 0.17621420323848724 - - Ansi 1 Color - - Alpha Component - 1 - Blue Component - 0.34168937802314758 - Color Space - Calibrated - Green Component - 0.29435792565345764 - Red Component - 0.68855589628219604 - - Ansi 10 Color - - Alpha Component - 1 - Blue Component - 0.47597441077232361 - Color Space - Calibrated - Green Component - 0.7002110481262207 - Red Component - 0.57605421543121338 - - Ansi 11 Color - - Alpha Component - 1 - Blue Component - 0.47280269861221313 - Color Space - Calibrated - Green Component - 0.75577855110168457 - Red Component - 0.89902019500732422 - - Ansi 12 Color - - Alpha Component - 1 - Blue Component - 0.70459425449371338 - Color Space - Calibrated - Green Component - 0.56080448627471924 - Red Component - 0.43401443958282471 - - Ansi 13 Color - - Alpha Component - 1 - Blue Component - 0.61571133136749268 - Color Space - Calibrated - Green Component - 0.47487166523933411 - Red Component - 0.64283657073974609 - - Ansi 14 Color - - Alpha Component - 1 - Blue Component - 0.67779052257537842 - Color Space - Calibrated - Green Component - 0.68614721298217773 - Red Component - 0.49344515800476074 - - Ansi 15 Color - - Alpha Component - 1 - Blue Component - 0.94574689865112305 - Color Space - Calibrated - Green Component - 0.92092084884643555 - Red Component - 0.90727746486663818 - - Ansi 2 Color - - Alpha Component - 1 - Blue Component - 0.47597441077232361 - Color Space - Calibrated - Green Component - 0.7002110481262207 - Red Component - 0.57605421543121338 - - Ansi 3 Color - - Alpha Component - 1 - Blue Component - 0.47280269861221313 - Color Space - Calibrated - Green Component - 0.75577855110168457 - Red Component - 0.89902019500732422 - - Ansi 4 Color - - Alpha Component - 1 - Blue Component - 0.70459425449371338 - Color Space - Calibrated - Green Component - 0.56080448627471924 - Red Component - 0.43401443958282471 - - Ansi 5 Color - - Alpha Component - 1 - Blue Component - 0.61571133136749268 - Color Space - Calibrated - Green Component - 0.47487166523933411 - Red Component - 0.64283657073974609 - - Ansi 6 Color - - Alpha Component - 1 - Blue Component - 0.77356863021850586 - Color Space - Calibrated - Green Component - 0.70216643810272217 - Red Component - 0.4660642147064209 - - Ansi 7 Color - - Alpha Component - 1 - Blue Component - 0.92620980739593506 - Color Space - Calibrated - Green Component - 0.8916594386100769 - Red Component - 0.87367779016494751 - - Ansi 8 Color - - Alpha Component - 1 - Blue Component - 0.34064260125160217 - Color Space - Calibrated - Green Component - 0.2652154266834259 - Red Component - 0.23306176066398621 - - Ansi 9 Color - - Alpha Component - 1 - Blue Component - 0.34168937802314758 - Color Space - Calibrated - Green Component - 0.29435792565345764 - Red Component - 0.68855589628219604 - - BM Growl - - Background Color - - Alpha Component - 1 - Blue Component - 0.19183900952339172 - Color Space - Calibrated - Green Component - 0.15255947411060333 - Red Component - 0.1357133686542511 - - Background Image Location - /Volumes/External/Users/tlockney/Downloads/abstract-background-g144ab2139_1920.jpg - Badge Color - - Alpha Component - 0.7057952880859375 - Blue Component - 0.29600727558135986 - Color Space - Calibrated - Green Component - 0.23046499490737915 - Red Component - 0.20252507925033569 - - Blend - 0.099999999999999686 - Blinking Cursor - - Blur - - Blur Radius - 10 - Bold Color - - Alpha Component - 1 - Blue Component - 0.94574689865112305 - Color Space - Calibrated - Green Component - 0.92092084884643555 - Red Component - 0.90727746486663818 - - Character Encoding - 4 - Close Sessions On End - - Columns - 100 - Command - - Cursor Color - - Alpha Component - 1 - Blue Component - 0.89225924015045166 - Color Space - Calibrated - Green Component - 0.83857882022857666 - Red Component - 0.81214714050292969 - - Cursor Guide Color - - Alpha Component - 1 - Blue Component - 0.25300124287605286 - Color Space - Calibrated - Green Component - 0.19692185521125793 - Red Component - 0.17621420323848724 - - Cursor Text Color - - Alpha Component - 1 - Blue Component - 0.25300124287605286 - Color Space - Calibrated - Green Component - 0.19692185521125793 - Red Component - 0.17621420323848724 - - Custom Command - No - Custom Directory - Advanced - Default Bookmark - No - Description - Default - Disable Window Resizing - - Draw Powerline Glyphs - - Flashing Bell - - Foreground Color - - Alpha Component - 1 - Blue Component - 0.89225912094116211 - Color Space - Calibrated - Green Component - 0.83857882022857666 - Red Component - 0.81214725971221924 - - Guid - D4328930-6526-45BC-BCD4-712C4AF3DC07 - Horizontal Spacing - 1 - Idle Code - 0 - Jobs to Ignore - - rlogin - ssh - slogin - telnet - - Keyboard Map - - Link Color - - Alpha Component - 1 - Blue Component - 0.92620980739593506 - Color Space - Calibrated - Green Component - 0.8916594386100769 - Red Component - 0.87367779016494751 - - Mouse Reporting - - Name - Default - Non Ascii Font - Monaco 12 - Non-ASCII Anti Aliased - - Normal Font - FiraCodeNFM-Reg 16 - Open Toolbelt - - Option Key Sends - 0 - Prompt Before Closing 2 - - Right Option Key Sends - 0 - Rows - 30 - Screen - -1 - Scrollback Lines - 1000 - Selected Text Color - - Alpha Component - 1 - Blue Component - 0.89225924015045166 - Color Space - Calibrated - Green Component - 0.83857882022857666 - Red Component - 0.81214714050292969 - - Selection Color - - Alpha Component - 1 - Blue Component - 0.34064260125160217 - Color Space - Calibrated - Green Component - 0.2652154266834259 - Red Component - 0.23306176066398621 - - Send Code When Idle - - Shortcut - - Silence Bell - - Sync Title - - Tab Color - - Alpha Component - 1 - Blue Component - 0.25300124287605286 - Color Space - Calibrated - Green Component - 0.19692185521125793 - Red Component - 0.17621420323848724 - - Tags - - Terminal Type - xterm-256color - Transparency - 0.046093749999999989 - Unlimited Scrollback - - Use Bold Font - - Use Bright Bold - - Use Italic Font - - Use Non-ASCII Font - - Vertical Spacing - 1 - Visual Bell - - Window Type - 0 - Working Directory - /Users/tlockney - - - OnlyWhenMoreTabs - - OpenArrangementAtStartup - - OpenBookmark - - OpenNoWindowsAtStartup - - PasteTabToStringTabStopSize - 4 - PointerActions - - Button,1,1,, - - Action - kContextMenuPointerAction - - Button,2,1,, - - Action - kPasteFromClipboardPointerAction - - Gesture,ThreeFingerSwipeDown,, - - Action - kPrevWindowPointerAction - - Gesture,ThreeFingerSwipeLeft,, - - Action - kPrevTabPointerAction - - Gesture,ThreeFingerSwipeRight,, - - Action - kNextTabPointerAction - - Gesture,ThreeFingerSwipeUp,, - - Action - kNextWindowPointerAction - - - PromptOnQuit - - PromptOnQuitEvenIfThereAreNoWindows - - SoundForEsc - - UseBorder - - VisualIndicatorForEsc - - - diff --git a/.config/shell/common.sh b/.config/shell/common.sh new file mode 100644 index 0000000..52f2499 --- /dev/null +++ b/.config/shell/common.sh @@ -0,0 +1,38 @@ +# Common shell configuration for bash and zsh +# This file should be POSIX-compatible (no bash/zsh-specific syntax) +# shellcheck shell=sh + +# Detect current OS +CURRENT_OS=$(uname -s) +export CURRENT_OS + +# PATH helper function - prepends to PATH if directory exists and not already in PATH +prepend_path() { + case ":$PATH:" in + *":$1:"*) ;; # Already in PATH + *) [ -d "$1" ] && PATH="$1:$PATH" ;; + esac +} + +# User binary directories +prepend_path "$HOME/.local/bin" +prepend_path "$HOME/bin" + +# Rust/Cargo environment +if [ -f "$HOME/.cargo/env" ]; then + . "$HOME/.cargo/env" +fi + +# Atuin shell history +if [ -d "$HOME/.atuin/bin" ]; then + prepend_path "$HOME/.atuin/bin" +fi + +# Go environment +if [ -d "$HOME/go" ]; then + GOPATH="$HOME/go" + export GOPATH + prepend_path "$GOPATH/bin" +fi + +export PATH diff --git a/.config/zsh/aliases.zsh b/.config/zsh/aliases.zsh index 7791dfb..e62a46c 100644 --- a/.config/zsh/aliases.zsh +++ b/.config/zsh/aliases.zsh @@ -3,7 +3,6 @@ # System and utility aliases alias mkdir="mkdir -p" -alias git-scrub="git branch --merged | grep -v main | grep -v master | xargs git branch -d" # fd is installed as fdfind on Ubuntu/Debian command -v fdfind > /dev/null && alias fd=fdfind diff --git a/.config/zsh/tools.zsh b/.config/zsh/tools.zsh index f432d25..67b32ff 100644 --- a/.config/zsh/tools.zsh +++ b/.config/zsh/tools.zsh @@ -1,8 +1,8 @@ # Tool initialization and environment setup # Note: CURRENT_OS, CURRENT_ARCH, and BREW_PREFIX are set in env.zsh -# Terminal configuration -[[ "$TERM_PROGRAM" == "ghostty" ]] && export TERM="xterm-256color" +# Source shared shell configuration (PATH, cargo, go, etc.) +[[ -f "$HOME/.config/shell/common.sh" ]] && source "$HOME/.config/shell/common.sh" # 1Password SSH Agent configuration [[ "$CURRENT_OS" == "Darwin" ]] && export SSH_AUTH_SOCK="$HOME/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock" @@ -78,9 +78,6 @@ elif [[ "$CURRENT_OS" = "Linux" ]]; then export EMACS_SOCKET_NAME fi -# Set up cargo -[[ -d "$HOME/.cargo" ]] && source "$HOME/.cargo/env" - # Set up Java environment export JAVA_OPTIONS="-Djava.awt.headless=true" # Try to detect Java home across different platforms @@ -103,9 +100,6 @@ export JAVA_OPTIONS="-Djava.awt.headless=true" # Add Java to PATH if JAVA_HOME was found [[ -n "$JAVA_HOME" ]] && prepend_to_path "$JAVA_HOME/bin" -# Set up Go if installed -[[ -d "$HOME/go" ]] && { export GOPATH="$HOME/go"; prepend_to_path "$GOPATH/bin"; } - # opam configuration [[ -r ~/.opam/opam-init/init.zsh ]] && source ~/.opam/opam-init/init.zsh > /dev/null 2> /dev/null @@ -116,13 +110,9 @@ if command -v op >/dev/null 2>&1; then fi [[ -f ~/.config/op/plugins.sh ]] && source ~/.config/op/plugins.sh -# Atuin shell history -if [[ -d "$HOME/.atuin/bin" ]]; then - prepend_to_path "$HOME/.atuin/bin" - eval "$(atuin init zsh)" -elif command -v atuin >/dev/null 2>&1; then - eval "$(atuin init zsh)" -fi +# Atuin shell history (PATH for standalone install set in common.sh) +# Works for both Homebrew and standalone installations +command -v atuin >/dev/null 2>&1 && eval "$(atuin init zsh)" # Set up PNPM if installed (command -v pnpm >/dev/null 2>&1 || [[ -d "$HOME/Library/pnpm" ]] || [[ -d "$HOME/.local/share/pnpm" ]]) && { @@ -153,6 +143,3 @@ fi # Claude CLI alias # shellcheck disable=SC2139 # intentional expansion at definition time [[ -x "$HOME/.claude/local/claude" ]] && alias claude="$HOME/.claude/local/claude" - -prepend_to_path "$HOME/bin" -prepend_to_path "$HOME/.local/bin" diff --git a/.gitconfig b/.gitconfig index 7729760..1580cd1 100644 --- a/.gitconfig +++ b/.gitconfig @@ -19,3 +19,19 @@ defaultBranch = main [gpg] format = ssh +[rerere] + enabled = true +[merge] + conflictstyle = zdiff3 +[diff] + algorithm = histogram +[alias] + co = checkout + br = branch + ci = commit + st = status + lg = log --oneline --graph --decorate + lga = log --oneline --graph --decorate --all + unstage = reset HEAD -- + last = log -1 HEAD + scrub = "!git branch --merged | grep -v main | grep -v master | xargs git branch -d" diff --git a/.profile b/.profile index 1d6c94d..7eb3912 100644 --- a/.profile +++ b/.profile @@ -1,37 +1,20 @@ # Common profile settings for all POSIX-compatible shells # This file is sourced by login shells +# shellcheck shell=sh -# Source common profile settings -[ -f "$HOME/.config/shell/common-profile.sh" ] && . "$HOME/.config/shell/common-profile.sh" - -# Ensure PATH includes user's private bin directories -if [ -d "$HOME/bin" ] && [[ ":$PATH:" != *":$HOME/bin:"* ]]; then - export PATH="$HOME/bin:$PATH" -fi - -if [ -d "$HOME/.local/bin" ] && [[ ":$PATH:" != *":$HOME/.local/bin:"* ]]; then - export PATH="$HOME/.local/bin:$PATH" -fi +# Source shared shell configuration +[ -f "$HOME/.config/shell/common.sh" ] && . "$HOME/.config/shell/common.sh" # Set up man pages if system has custom manpaths file if [ -f /etc/manpaths ]; then - for dir in $(cat /etc/manpaths); do - export MANPATH="$MANPATH:$dir" - done -fi -export MANPATH="/usr/local/man:$MANPATH" - -# Set up Rust environment if installed -if [ -d "$HOME/.cargo" ]; then - . "$HOME/.cargo/env" -fi - -# Set up Atuin shell history if installed -if [ -d "$HOME/.atuin" ] && [ -f "$HOME/.atuin/bin/env" ]; then - . "$HOME/.atuin/bin/env" + while IFS= read -r dir; do + MANPATH="$MANPATH:$dir" + done < /etc/manpaths fi +MANPATH="/usr/local/man:$MANPATH" +export MANPATH # Source .bashrc for bash login shells if [ -n "$BASH_VERSION" ] && [ -f "$HOME/.bashrc" ]; then . "$HOME/.bashrc" -fi \ No newline at end of file +fi diff --git a/Justfile b/Justfile index 603c352..22bdeb9 100644 --- a/Justfile +++ b/Justfile @@ -6,7 +6,7 @@ default: @just --list # Run environment sanity checks -check: +check-env: ~/bin/check-env # Lint all shell scripts with shellcheck @@ -22,7 +22,7 @@ setup *ARGS: ~/bin/provision --setup-only {{ ARGS }} # Preview what would be updated (dry-run) -check: +dry-run: ~/bin/provision --check # Provision only homebrew packages