77 lines
2.2 KiB
Bash
77 lines
2.2 KiB
Bash
#!/bin/sh
|
|
# Common profile settings for all shells
|
|
# This file is sourced by both bash and zsh
|
|
|
|
# Detect operating system
|
|
case "$(uname -s)" in
|
|
Darwin)
|
|
OS="macos"
|
|
# Homebrew on macOS (Apple Silicon and Intel)
|
|
if [ -d "/opt/homebrew" ]; then
|
|
export HOMEBREW_PREFIX="/opt/homebrew"
|
|
elif [ -d "/usr/local/Homebrew" ]; then
|
|
export HOMEBREW_PREFIX="/usr/local"
|
|
fi
|
|
|
|
if [ -n "$HOMEBREW_PREFIX" ]; then
|
|
export PATH="$HOMEBREW_PREFIX/bin:$PATH"
|
|
export PATH="$HOMEBREW_PREFIX/opt/gnu-sed/libexec/gnubin:$PATH"
|
|
export PATH="$HOMEBREW_PREFIX/opt/ruby/bin:$HOMEBREW_PREFIX/lib/ruby/gems/3.4.0/bin:$PATH"
|
|
fi
|
|
;;
|
|
Linux)
|
|
OS="linux"
|
|
# Homebrew on Linux
|
|
if [ -d "/home/linuxbrew/.linuxbrew" ]; then
|
|
export HOMEBREW_PREFIX="/home/linuxbrew/.linuxbrew"
|
|
export PATH="$HOMEBREW_PREFIX/bin:$PATH"
|
|
fi
|
|
;;
|
|
*)
|
|
OS="unknown"
|
|
;;
|
|
esac
|
|
|
|
# Export OS for use in other scripts
|
|
export OS
|
|
|
|
# Go path
|
|
export GOPATH=$HOME/go
|
|
export PATH="$GOPATH/bin:$PATH"
|
|
|
|
# User local paths (common for all systems)
|
|
export PATH="$HOME/.local/bin:$PATH"
|
|
export PATH="$HOME/.emacs.d/bin:$PATH"
|
|
export PATH="$HOME/.cargo/bin:$PATH"
|
|
|
|
# API keys (consider moving to a separate, untracked file)
|
|
export PERPLEXITY_API_KEY="your-api-key"
|
|
|
|
# FZF configuration (common for all shells that support it)
|
|
export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git'
|
|
export FZF_DEFAULT_OPTS='
|
|
--height 40%
|
|
--layout=reverse
|
|
--border
|
|
--preview "bat --color=always --style=numbers --line-range=:500 {}"
|
|
--preview-window=right:60%:wrap
|
|
--bind "ctrl-/:toggle-preview"
|
|
--bind "ctrl-y:execute-silent(echo {} | pbcopy)"
|
|
'
|
|
|
|
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
|
|
export FZF_CTRL_T_OPTS="
|
|
--preview 'bat --color=always --style=numbers --line-range=:500 {}'
|
|
--preview-window=right:60%:wrap
|
|
"
|
|
|
|
export FZF_ALT_C_COMMAND='fd --type d --hidden --follow --exclude .git'
|
|
export FZF_ALT_C_OPTS="--preview 'tree -C {} | head -200'"
|
|
|
|
export FZF_CTRL_R_OPTS="
|
|
--preview 'echo {}'
|
|
--preview-window=down:3:wrap
|
|
--bind 'ctrl-y:execute-silent(echo {} | pbcopy)'
|
|
"
|
|
|
|
export FZF_TMUX_OPTS='-p80%,60%' |