Files

100 lines
4.9 KiB
Bash

# ════════════════════════════════════════════════════════════
# Environment Variables
# ════════════════════════════════════════════════════════════
# ═══ Основные пути ═════════════════════════════════════════
export EDITOR="${EDITOR:-nano}"
export VISUAL="${VISUAL:-zeditor}"
export PAGER="less"
export SUDO_EDITOR="zeditor --wait"
# ═══ XDG Base Directories ══════════════════════════════════
export XDG_CONFIG_HOME="${HOME}/.config"
export XDG_DATA_HOME="${HOME}/.local/share"
export XDG_CACHE_HOME="${HOME}/.cache"
export XDG_STATE_HOME="${HOME}/.local/state"
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"
# ═══ История команд ════════════════════════════════════════
export HISTFILE="${XDG_STATE_HOME}/zsh/history"
export HISTSIZE=50000
export SAVEHIST=50000
# Создать директорию для истории если не существует
[[ ! -d "$(dirname $HISTFILE)" ]] && mkdir -p "$(dirname $HISTFILE)"
# Добавить Zed в PATH
export PATH="${HOME}/.local/bin/zed:${PATH}"
export PATH="${HOME}/.config/Code/User/globalStorage/ms-vscode-remote.remote-containers/cli-bin:${PATH}"
# ═══ Less ══════════════════════════════════════════════════
export LESS='-R -M -i -j10'
export LESSHISTFILE="${XDG_CACHE_HOME}/less/history"
# ═══ Ruby (rbenv) ══════════════════════════════════════════
if [[ -d "${HOME}/.rbenv" ]]; then
export PATH="${HOME}/.rbenv/bin:${PATH}"
command -v rbenv &>/dev/null && eval "$(rbenv init - zsh)"
fi
# ═══ asdf ══ ═════════════════════════════════════════════
if [[ -f "$HOME/.asdf/asdf.sh" ]]; then
. "$HOME/.asdf/asdf.sh"
fi
# ═══ Node.js ═══════════════════════════════════════════════
# Если используете nvm
export NVM_DIR="${XDG_CONFIG_HOME}/nvm"
[[ -s "$NVM_DIR/nvm.sh" ]] && source "$NVM_DIR/nvm.sh" --no-use # Ленивая загрузка
# ═══ Python ════════════════════════════════════════════════
# Отключить создание .pyc файлов
export PYTHONDONTWRITEBYTECODE=1
# export PYENV_ROOT="$HOME/.pyenv"
# export PATH="$PYENV_ROOT/bin:$PATH"
# ═══ Go ════════════════════════════════════════════════════
export GOPATH="${HOME}/go"
export PATH="${GOPATH}/bin:${PATH}"
# ═══ Rust ══════════════════════════════════════════════════
export CARGO_HOME="${HOME}/.cargo"
export PATH="${CARGO_HOME}/bin:${PATH}"
# ═══ Локальные бинарники ═══════════════════════════════════
export PATH="${HOME}/.local/bin:${PATH}"
export PATH="${HOME}/.opencode/bin:${PATH}"
# ═══ Цвета ═════════════════════════════════════════════════
export CLICOLOR=1
export LS_COLORS='di=34:ln=35:so=32:pi=33:ex=31:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43'
# ═══ FZF ═══════════════════════════════════════════════════
export FZF_DEFAULT_OPTS="
--height 40%
--layout=reverse
--border
--inline-info
--color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8
--color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc
--color=marker:#f5e0dc,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8
"
# Использовать fd вместо find если доступен
if command -v fd &>/dev/null; then
export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git'
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
fi
if command -v zoxide &>/dev/null; then
eval "$(zoxide init zsh)"
fi
if command -v direnv >/dev/null 2>&1; then
eval "$(direnv hook zsh)"
fi
# export SSH_AUTH_SOCK='/home/ada/.bitwarden-ssh-agent.sock'
export SAL_USE_VCLPLUGIN=gtk3
export GDK_SCALE=1