93 lines
3.3 KiB
Text
93 lines
3.3 KiB
Text
# .exports dotfile
|
|
export EDITOR="${EDITOR:-hx}"
|
|
export PAGER="${PAGER:-most}"
|
|
|
|
# PAI3 Personal AI Infrastructure
|
|
export PAI_HOME="/home/e"
|
|
export PAI_DIR="$HOME/.claude" # Added for PAI v0.6.0 compatibility
|
|
|
|
# IMPORTANT: claude/scripts must come FIRST to override system binaries
|
|
# This allows our Firejail wrappers to be found before /usr/bin
|
|
export PATH="$HOME/.claude/scripts:$PATH"
|
|
export PATH="$HOME/.claude:$PATH"
|
|
export PATH="$HOME/.claude/commands:$PATH"
|
|
export PATH="$HOME/.claude/context/personal/scripts:$PATH"
|
|
# export MANPAGER="sh -c 'sed -u -e \"s/\\x1B\[[0-9;]*m//g; s/.\\x08//g\" | bat -p -lman'"\nman 2 select
|
|
export BROWSER="${BROWSER:-brave}"
|
|
export LANG=en_US.UTF-8 # avoid locale issues
|
|
export LC_ALL=en_US.UTF-8
|
|
export GOROOT="/usr/local/go"
|
|
export GOPATH="$HOME/go"
|
|
export PATH=$PATH:$GOROOT/bin
|
|
export PATH=$PATH:$HOME/.bun/bin
|
|
export PATH="/usr/local/sbin:/usr/sbin:/sbin:$PATH"
|
|
# export STOW_DIR="$HOME/.config"
|
|
|
|
# --- fzf ---
|
|
# Optimized fzf settings
|
|
export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git'
|
|
export FZF_DEFAULT_OPTS='--height 60% --layout=reverse --border --inline-info --preview-window=right:60%'
|
|
|
|
# Better file search with bat preview
|
|
export FZF_CTRL_T_OPTS="
|
|
--walker-skip .git,node_modules,target
|
|
--preview 'bat -n --color=always {}'
|
|
--bind 'ctrl-/:change-preview-window(down|hidden|)'"
|
|
|
|
# CTRL-Y to copy the command into clipboard using pbcopy
|
|
export FZF_CTRL_R_OPTS="
|
|
--bind 'ctrl-y:execute-silent(echo -n {2..} | pbcopy)+abort'
|
|
--color header:italic
|
|
--header 'Press CTRL-Y to copy command to clipboard'"
|
|
# --header 'Press CTRL-Y to copy command into clipboard'"
|
|
|
|
# Print tree structure in the preview window
|
|
# export FZF_ALT_C_OPTS="
|
|
# --walker-skip .git,node_modules,target
|
|
# --preview 'tree -C {}'"
|
|
|
|
|
|
# Path
|
|
export PATH="$HOME/bin:$PATH"
|
|
export PATH="$PATH:$HOME/go/bin"
|
|
export PATH="$PATH:$HOME/.scripts:$HOME/scripts"
|
|
export PATH="$PATH:$HOME/.cargo/bin"
|
|
export PATH="$PATH:$GOPATH/bin:$GOROOT/bin"
|
|
export PATH="$PATH:/usr/local/go/bin"
|
|
export PATH="$PATH:/go/bin"
|
|
export PATH="$PATH:$HOME/.local/bin"
|
|
#export PATH="$PATH:$HOME/miniconda3/bin"
|
|
|
|
# clean path:
|
|
export PATH=$(echo "$PATH" | tr ':' '\n' | awk '!seen[$0]++' | paste -sd:)
|
|
|
|
# PY3="python3 -c 'import pty;pty.spawn(\"bin/bash\")'"
|
|
# SHELLEXPORTS="export TERM=xterm;stty rows $(tput lines) columns $(tput cols)"
|
|
|
|
if command -v bat &> /dev/null; then
|
|
# export MANPAGER="sh -c 'col -bx | bat -l man -p'"
|
|
export MANPAGER="sh -c 'sed -u -e \"s/\\x1B\[[0-9;]*m//g; s/.\\x08//g\" | bat -p -lman'"
|
|
fi
|
|
# Removed redundant PATH addition (already on line 50)
|
|
export PATH="/opt/zig:$PATH"
|
|
export YDOTOOL_SOCKET=/run/user/1000/.ydotool_socket
|
|
|
|
# SSH agent socket
|
|
# Old: user systemd ssh-agent.socket (kept getting hijacked by other agents)
|
|
# export SSH_AUTH_SOCK="${XDG_RUNTIME_DIR}/ssh-agent.socket"
|
|
#
|
|
# Now using GPG agent for YubiKey SSH support
|
|
export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
|
|
|
|
# XWayland support for legacy X11 apps on Wayland
|
|
# Only set XAUTHORITY if needed - let the system handle DISPLAY
|
|
# if [[ -z "$XAUTHORITY" && -n "$WAYLAND_DISPLAY" ]]; then
|
|
# _xauth=$(find /run/user/$UID -maxdepth 1 -name "xauth_*" 2>/dev/null | head -1)
|
|
# [[ -n "$_xauth" ]] && export XAUTHORITY="$_xauth"
|
|
# unset _xauth
|
|
# fi
|
|
|
|
# Disable SSH password popups
|
|
export SSH_ASKPASS=""
|
|
export SSH_ASKPASS_REQUIRE=never
|
|
export PATH=$PATH:/opt/zeek/bin
|