style: format shell scripts

This commit is contained in:
github-actions[bot] 2025-02-25 12:36:22 +00:00
parent 8c5babe80a
commit 76b5fd4118
18 changed files with 231 additions and 242 deletions

View file

@ -4,10 +4,9 @@
# Sourced by user's zshrc if is Linux 在用户的 zshrc 中被引用 # Sourced by user's zshrc if is Linux 在用户的 zshrc 中被引用
# Entry point in $DOTFILES/tools/zsh/common.zshrc (入口点) # Entry point in $DOTFILES/tools/zsh/common.zshrc (入口点)
if [ -n "$WAYLAND_DISPLAY" ]; then if [ -n "$WAYLAND_DISPLAY" ]; then
alias clip="wl-copy" alias clip="wl-copy"
alias paste="wl-paste" alias paste="wl-paste"
elif [ -n "$DISPLAY" ]; then elif [ -n "$DISPLAY" ]; then
alias clip="xclip" alias clip="xclip"
fi fi

View file

@ -4,7 +4,7 @@
# chmod +x ~/.config/sketchybar/plugins/aerospace.sh # chmod +x ~/.config/sketchybar/plugins/aerospace.sh
if [ "$1" = "$FOCUSED_WORKSPACE" ]; then if [ "$1" = "$FOCUSED_WORKSPACE" ]; then
sketchybar --set $NAME background.drawing=on sketchybar --set $NAME background.drawing=on
else else
sketchybar --set $NAME background.drawing=off sketchybar --set $NAME background.drawing=off
fi fi

View file

@ -8,15 +8,19 @@ if [ "$PERCENTAGE" = "" ]; then
fi fi
case "${PERCENTAGE}" in case "${PERCENTAGE}" in
9[0-9]|100) ICON="" 9[0-9] | 100)
;; ICON=""
[6-8][0-9]) ICON="" ;;
;; [6-8][0-9])
[3-5][0-9]) ICON="" ICON=""
;; ;;
[1-2][0-9]) ICON="" [3-5][0-9])
;; ICON=""
*) ICON="" ;;
[1-2][0-9])
ICON=""
;;
*) ICON="" ;;
esac esac
if [[ "$CHARGING" != "" ]]; then if [[ "$CHARGING" != "" ]]; then

View file

@ -5,4 +5,3 @@
# https://felixkratz.github.io/SketchyBar/config/events#events-and-scripting # https://felixkratz.github.io/SketchyBar/config/events#events-and-scripting
sketchybar --set "$NAME" label="$(date '+%d日周%u %H:%M')" sketchybar --set "$NAME" label="$(date '+%d日周%u %H:%M')"

View file

@ -2,7 +2,6 @@
music_info=$(curlie GET http://localhost:10767/api/v1/playback/now-playing | jq -r '"\(.info.name) - \(.info.artistName)"') music_info=$(curlie GET http://localhost:10767/api/v1/playback/now-playing | jq -r '"\(.info.name) - \(.info.artistName)"')
ICON="" ICON=""
sketchybar --set $NAME label="$music_info" icon="$ICON" sketchybar --set $NAME label="$music_info" icon="$ICON"

View file

@ -7,13 +7,16 @@ if [ "$SENDER" = "volume_change" ]; then
VOLUME="$INFO" VOLUME="$INFO"
case "$VOLUME" in case "$VOLUME" in
[6-9][0-9]|100) ICON="󰕾" [6-9][0-9] | 100)
;; ICON="󰕾"
[3-5][0-9]) ICON="󰖀" ;;
;; [3-5][0-9])
[1-9]|[1-2][0-9]) ICON="󰕿" ICON="󰖀"
;; ;;
*) ICON="󰖁" [1-9] | [1-2][0-9])
ICON="󰕿"
;;
*) ICON="󰖁" ;;
esac esac
sketchybar --set "$NAME" icon="$ICON" label="$VOLUME%" sketchybar --set "$NAME" icon="$ICON" label="$VOLUME%"

View file

@ -42,9 +42,8 @@ sketchybar --default "${default[@]}"
# to indicate active and available mission control spaces. # to indicate active and available mission control spaces.
SPACE_ICONS=("" "" "" "󰖟" "" "" "7" "8" "9" "10") SPACE_ICONS=("" "" "" "󰖟" "" "" "7" "8" "9" "10")
for i in "${!SPACE_ICONS[@]}" for i in "${!SPACE_ICONS[@]}"; do
do sid="$(($i + 1))"
sid="$(($i+1))"
space=( space=(
space="$sid" space="$sid"
icon="${SPACE_ICONS[i]}" icon="${SPACE_ICONS[i]}"
@ -65,10 +64,10 @@ done
# only the properties deviating from the current defaults need to be set # only the properties deviating from the current defaults need to be set
sketchybar --add item chevron left \ sketchybar --add item chevron left \
--set chevron icon= label.drawing=off \ --set chevron icon= label.drawing=off \
--add item front_app left \ --add item front_app left \
--set front_app icon.drawing=off script="$PLUGIN_DIR/front_app.sh" \ --set front_app icon.drawing=off script="$PLUGIN_DIR/front_app.sh" \
--subscribe front_app front_app_switched --subscribe front_app front_app_switched
##### Adding Right Items ##### ##### Adding Right Items #####
# In the same way as the left items we can add items to the right side. # In the same way as the left items we can add items to the right side.
@ -82,37 +81,36 @@ sketchybar --add item chevron left \
# https://felixkratz.github.io/SketchyBar/config/events # https://felixkratz.github.io/SketchyBar/config/events
sketchybar --add item clock center \ sketchybar --add item clock center \
--set clock update_freq=10 icon= script="$PLUGIN_DIR/clock.sh" \ --set clock update_freq=10 icon=script="$PLUGIN_DIR/clock.sh" \
--add item volume right \ --add item volume right \
--set volume script="$PLUGIN_DIR/volume.sh" \ --set volume script="$PLUGIN_DIR/volume.sh" \
--subscribe volume volume_change \ --subscribe volume volume_change \
--add item battery right \ --add item battery right \
--set battery update_freq=120 script="$PLUGIN_DIR/battery.sh" \ --set battery update_freq=120 script="$PLUGIN_DIR/battery.sh" \
--subscribe battery system_woke power_source_change \ --subscribe battery system_woke power_source_change \
--add item apple_music right --add item apple_music right
sketchybar --add item music right sketchybar --add item music right
sketchybar --set music \ sketchybar --set music \
script="$PLUGIN_DIR/music.sh" \ script="$PLUGIN_DIR/music.sh" \
update_freq=5 \ update_freq=5 \
label.color=0xffd7ba7d \ label.color=0xffd7ba7d \
background.corner_radius=5 background.corner_radius=5
##### Force all scripts to run the first time (never do this in a script) ##### ##### Force all scripts to run the first time (never do this in a script) #####
sketchybar --update sketchybar --update
sketchybar --add event aerospace_workspace_change sketchybar --add event aerospace_workspace_change
for sid in $(aerospace list-workspaces --all); do for sid in $(aerospace list-workspaces --all); do
sketchybar --add item space.$sid left \ sketchybar --add item space.$sid left \
--subscribe space.$sid aerospace_workspace_change \ --subscribe space.$sid aerospace_workspace_change \
--set space.$sid \ --set space.$sid \
background.color=0x44ffffff \ background.color=0x44ffffff \
background.corner_radius=5 \ background.corner_radius=5 \
background.height=20 \ background.height=20 \
background.drawing=off \ background.drawing=off \
label="$sid" \ label="$sid" \
click_script="aerospace workspace $sid" \ click_script="aerospace workspace $sid" \
script="$CONFIG_DIR/plugins/aerospace.sh $sid" script="$CONFIG_DIR/plugins/aerospace.sh $sid"
done done

View file

@ -11,15 +11,15 @@ alias paste="pbpaste"
# >>> conda initialize >>> # >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !! # !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/opt/homebrew/Caskroom/miniconda/base/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)" __conda_setup="$('/opt/homebrew/Caskroom/miniconda/base/bin/conda' 'shell.zsh' 'hook' 2>/dev/null)"
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
eval "$__conda_setup" eval "$__conda_setup"
else else
if [ -f "/opt/homebrew/Caskroom/miniconda/base/etc/profile.d/conda.sh" ]; then if [ -f "/opt/homebrew/Caskroom/miniconda/base/etc/profile.d/conda.sh" ]; then
. "/opt/homebrew/Caskroom/miniconda/base/etc/profile.d/conda.sh" . "/opt/homebrew/Caskroom/miniconda/base/etc/profile.d/conda.sh"
else else
export PATH="/opt/homebrew/Caskroom/miniconda/base/bin:$PATH" export PATH="/opt/homebrew/Caskroom/miniconda/base/bin:$PATH"
fi fi
fi fi
unset __conda_setup unset __conda_setup
# <<< conda initialize <<< # <<< conda initialize <<<

View file

@ -9,7 +9,6 @@ export IS_WSL=true
export ARCHFLAGS="-arch x86_64" export ARCHFLAGS="-arch x86_64"
source $DOTFILES/platforms/wsl/winterop.zsh source $DOTFILES/platforms/wsl/winterop.zsh
### Misc ### ### Misc ###
export PATH=/opt/bin:$PATH export PATH=/opt/bin:$PATH
@ -18,15 +17,15 @@ export PATH=/opt/bin:$PATH
# >>> conda initialize >>> # >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !! # !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('$HOME/miniconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)" __conda_setup="$('$HOME/miniconda3/bin/conda' 'shell.zsh' 'hook' 2>/dev/null)"
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
eval "$__conda_setup" eval "$__conda_setup"
else else
if [ -f "$HOME/miniconda3/etc/profile.d/conda.sh" ]; then if [ -f "$HOME/miniconda3/etc/profile.d/conda.sh" ]; then
. "$HOME/miniconda3/etc/profile.d/conda.sh" . "$HOME/miniconda3/etc/profile.d/conda.sh"
else else
export PATH="$HOME/miniconda3/bin:$PATH" export PATH="$HOME/miniconda3/bin:$PATH"
fi fi
fi fi
unset __conda_setup unset __conda_setup
# <<< conda initialize <<< # <<< conda initialize <<<

View file

@ -42,5 +42,5 @@ fi
# macOS - Rime # macOS - Rime
if [ $(uname) = "Darwin" ]; then if [ $(uname) = "Darwin" ]; then
bash ~/plum/rime-install bash ~/plum/rime-install
fi fi

View file

@ -15,5 +15,5 @@ export XDG_RUNTIME_DIR="/run/user/$(id -u)"
# Source user's XDG-compliant Bash configs # Source user's XDG-compliant Bash configs
if [ -f "$XDG_CONFIG_HOME/bash/profile" ]; then if [ -f "$XDG_CONFIG_HOME/bash/profile" ]; then
. "$XDG_CONFIG_HOME/bash/profile" . "$XDG_CONFIG_HOME/bash/profile"
fi fi

View file

@ -18,7 +18,7 @@ alias sn="sudo nvim -u ~/.config/nvim/init.lua"
# Dev # # Dev #
alias gpp='g++ -std=c++2b' # Set the default C++ standard to C++20 alias gpp='g++ -std=c++2b' # Set the default C++ standard to C++20
alias gcc='gcc -std=c99' # Set the default C standard to C99 alias gcc='gcc -std=c99' # Set the default C standard to C99
alias cl='clang -std=c99' alias cl='clang -std=c99'
alias clpp='clang++ -std=c++2b' alias clpp='clang++ -std=c++2b'
alias python=python3 # Set the default Python version to Python 3 alias python=python3 # Set the default Python version to Python 3
@ -27,77 +27,73 @@ alias ipy=ipython
alias g=lazygit alias g=lazygit
# lsd - modern ls # lsd - modern ls
if command -v lsd >/dev/null 2>&1; then if command -v lsd >/dev/null 2>&1; then
alias ls='lsd' alias ls='lsd'
alias l='lsd -lah' alias l='lsd -lah'
alias ll='lsd -l' alias ll='lsd -l'
alias la='lsd -A' alias la='lsd -A'
alias l.='lsd -d .*' alias l.='lsd -d .*'
alias tree='lsd --tree -A' alias tree='lsd --tree -A'
else else
alias l='ls -lah' alias l='ls -lah'
alias ll='ls -l' alias ll='ls -l'
fi fi
# Functions # # Functions #
mkcd() { mkcd() {
mkdir -p $1 && cd $1 mkdir -p $1 && cd $1
} }
cdls(){ cdls() {
cd $1 && ls cd $1 && ls
} }
tc(){ tc() {
touch $1 && code $1 touch $1 && code $1
} }
tv(){ tv() {
touch $1 && nvim $1 touch $1 && nvim $1
} }
mt(){ mt() {
mkdir -p $(dirname $1) && touch $1 mkdir -p $(dirname $1) && touch $1
} }
mtv(){ mtv() {
mkdir -p $(dirname $1) && touch $1 && nvim $1 mkdir -p $(dirname $1) && touch $1 && nvim $1
} }
alias update="source $DOTFILES/scripts/update.zsh" alias update="source $DOTFILES/scripts/update.zsh"
if command -v pacman >/dev/null 2>&1; then if command -v pacman >/dev/null 2>&1; then
alias pac="sudo pacman" alias pac="sudo pacman"
alias paci="sudo pacman -S" alias paci="sudo pacman -S"
alias pacr="sudo pacman -R" alias pacr="sudo pacman -R"
alias pacu="sudo pacman -Syu" alias pacu="sudo pacman -Syu"
alias pacl="pacman -Q" alias pacl="pacman -Q"
if command -v paru >/dev/null 2>&1; then if command -v paru >/dev/null 2>&1; then
alias pacs="paru -Ss" alias pacs="paru -Ss"
elif command -v yay >/dev/null 2>&1; then elif command -v yay >/dev/null 2>&1; then
alias pacs="yay -Ss" alias pacs="yay -Ss"
else else
alias pacs="pacman -Ss" alias pacs="pacman -Ss"
fi fi
fi fi
if command -v apt >/dev/null 2>&1; then if command -v apt >/dev/null 2>&1; then
alias apt="sudo apt" alias apt="sudo apt"
alias apti="sudo apt install" alias apti="sudo apt install"
alias aptr="sudo apt remove" alias aptr="sudo apt remove"
alias aptu="sudo apt update && sudo apt upgrade" alias aptu="sudo apt update && sudo apt upgrade"
alias apts="apt search" alias apts="apt search"
alias aptl="apt list --installed" alias aptl="apt list --installed"
fi fi
if command -v brew >/dev/null 2>&1; then if command -v brew >/dev/null 2>&1; then
alias brewi="brew install" alias brewi="brew install"
alias brewr="brew uninstall" alias brewr="brew uninstall"
alias brewu="brew update && brew upgrade" alias brewu="brew update && brew upgrade"
alias brews="brew search" alias brews="brew search"
alias brewl="brew list" alias brewl="brew list"
fi fi
# `-s` suffix alias # `-s` suffix alias
# % readme.md -> glow readme.md # % readme.md -> glow readme.md
alias -s {md,markdown}=glow alias -s {md,markdown}=glow
@ -107,11 +103,11 @@ alias -s {cs,csx,fs,fsx,razor}=code
# TODO: Does not work # TODO: Does not work
if [ "$TERM" = "xterm-ghostty" ] || [ "$TERM" = "xterm-kitty" ]; then if [ "$TERM" = "xterm-ghostty" ] || [ "$TERM" = "xterm-kitty" ]; then
alias icat="kitten icat" alias icat="kitten icat"
elif [ "$TERM_PROGRAM" = "WezTerm" ]; then elif [ "$TERM_PROGRAM" = "WezTerm" ]; then
if [ -n "$WSL_DISTRO_NAME" ]; then if [ -n "$WSL_DISTRO_NAME" ]; then
alias icat="wezterm.exe imgcat" alias icat="wezterm.exe imgcat"
else else
alias icat="wezterm imgcat" alias icat="wezterm imgcat"
fi fi
fi fi

View file

@ -12,32 +12,30 @@ SAVEHIST=10000
export LANG=zh_CN.UTF-8 export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8 export LC_ALL=zh_CN.UTF-8
# Manually manage plugins 手动管理插件 # Manually manage plugins 手动管理插件
# Load zsh-syntax-highlighting before zsh-history-substring-search # Load zsh-syntax-highlighting before zsh-history-substring-search
# Reference: https://github.com/zsh-users/zsh-history-substring-search?tab=readme-ov-file#usage # Reference: https://github.com/zsh-users/zsh-history-substring-search?tab=readme-ov-file#usage
plugins=( plugins=(
"zsh-autosuggestions" "zsh-autosuggestions"
"zsh-syntax-highlighting" "zsh-syntax-highlighting"
"zsh-history-substring-search" "zsh-history-substring-search"
"zsh-completions" "zsh-completions"
) )
plugin_dir="$ZDOTDIR/plugins" plugin_dir="$ZDOTDIR/plugins"
for plugin in "${plugins[@]}"; do for plugin in "${plugins[@]}"; do
plugin_path="$plugin_dir/$plugin/$plugin.zsh" plugin_path="$plugin_dir/$plugin/$plugin.zsh"
plugin_path_alt="$plugin_dir/$plugin/$plugin.plugin.zsh" plugin_path_alt="$plugin_dir/$plugin/$plugin.plugin.zsh"
if [[ -f $plugin_path ]]; then if [[ -f $plugin_path ]]; then
source "$plugin_path" source "$plugin_path"
elif [[ -f $plugin_path_alt ]]; then elif [[ -f $plugin_path_alt ]]; then
source "$plugin_path_alt" source "$plugin_path_alt"
else else
echo "Warning: Plugin not found: $plugin_path" echo "Warning: Plugin not found: $plugin_path"
fi fi
done done
# https://unix.stackexchange.com/questions/33994/ # https://unix.stackexchange.com/questions/33994/
# Use `set -k` to mark leading `#` as a comment character # Use `set -k` to mark leading `#` as a comment character
set -k set -k

View file

@ -3,7 +3,6 @@
# Author: js0ny # Author: js0ny
# Sourced by user's zshrc 在用户的 zshrc 中被引用 # Sourced by user's zshrc 在用户的 zshrc 中被引用
# read key: `fish_key_reader` # read key: `fish_key_reader`
# get current bindings: `bindkey` # get current bindings: `bindkey`

View file

@ -3,51 +3,48 @@
# Author: js0ny # Author: js0ny
# Sourced by user's zshrc 在用户的 zshrc 中被引用 # Sourced by user's zshrc 在用户的 zshrc 中被引用
# Absolute navigation # # Absolute navigation #
alias dotfiles="cd $DOTFILES && ls" alias dotfiles="cd $DOTFILES && ls"
if [ "$IS_WSL" = true ]; then # IS_WSL is defined in $DOTFILES/platforms/wsl/zshrc if [ "$IS_WSL" = true ]; then # IS_WSL is defined in $DOTFILES/platforms/wsl/zshrc
winuser=$(whoami.exe | cut -d'\' -f2 | tr -d '\r') winuser=$(whoami.exe | cut -d'\' -f2 | tr -d '\r')
alias dt="cd /mnt/c/Users/$winuser/Desktop && ls" alias dt="cd /mnt/c/Users/$winuser/Desktop && ls"
alias doku="cd /mnt/c/Users/$winuser/Documents && ls" alias doku="cd /mnt/c/Users/$winuser/Documents && ls"
alias down="cd /mnt/c/Users/$winuser/Downloads && ls" alias down="cd /mnt/c/Users/$winuser/Downloads && ls"
alias src="cd /mnt/d/Source" alias src="cd /mnt/d/Source"
alias one="cd /mnt/c/Users/$winuser/OneDrive" alias one="cd /mnt/c/Users/$winuser/OneDrive"
alias gdrive="cd /mnt/g" alias gdrive="cd /mnt/g"
else else
alias dt="cd $HOME/Desktop && ls" alias dt="cd $HOME/Desktop && ls"
alias doku="cd $HOME/Documents && ls" alias doku="cd $HOME/Documents && ls"
alias down="cd $HOME/Downloads && ls" alias down="cd $HOME/Downloads && ls"
alias src="cd $HOME/Documents/Source" alias src="cd $HOME/Documents/Source"
fi fi
# macOS specific, no OneDrive & Google Drive on Linux # macOS specific, no OneDrive & Google Drive on Linux
if [ "$(uname)" = "Darwin" ]; then if [ "$(uname)" = "Darwin" ]; then
alias one="cd $HOME/OneDrive" alias one="cd $HOME/OneDrive"
alias gdrive="cd $HOME/Google Drive" alias gdrive="cd $HOME/Google Drive"
fi fi
if command -v zoxide >/dev/null 2>&1; then if command -v zoxide >/dev/null 2>&1; then
eval "$(zoxide init zsh)" eval "$(zoxide init zsh)"
# Relative navigation # # Relative navigation #
alias ..="z .." alias ..="z .."
alias ...="z ../.." alias ...="z ../.."
alias ....="z ../../.." alias ....="z ../../.."
alias .....="z ../../../.." alias .....="z ../../../.."
alias ......="z ../../../../.." alias ......="z ../../../../.."
# Use `-` to jump to the previous directory # Use `-` to jump to the previous directory
# Oh-My-Zsh defines a similar one # Oh-My-Zsh defines a similar one
alias - "z -" alias - "z -"
zls(){ zls() {
cd $1 && ls cd $1 && ls
} }
else else
alias ..="cd .." alias ..="cd .."
alias ...="cd ../.." alias ...="cd ../.."
alias ....="cd ../../.." alias ....="cd ../../.."
alias .....="cd ../../../.." alias .....="cd ../../../.."
alias ......="cd ../../../../.." alias ......="cd ../../../../.."
alias - "cd -" alias - "cd -"
fi fi

View file

@ -3,6 +3,4 @@
# Author: js0ny # Author: js0ny
# Sourced by user's zshrc 在用户的 zshrc 中被引用 # Sourced by user's zshrc 在用户的 zshrc 中被引用
eval "$(starship init zsh)" eval "$(starship init zsh)"

View file

@ -37,9 +37,9 @@ export VISUAL="nvim"
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$PATH" export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$PATH"
if [ -d "/opt/homebrew/bin" ]; then # macOS if [ -d "/opt/homebrew/bin" ]; then # macOS
export PATH="/opt/homebrew/bin:$PATH" export PATH="/opt/homebrew/bin:$PATH"
elif [ -d "/home/linuxbrew/.linuxbrew/bin" ]; then # Linux elif [ -d "/home/linuxbrew/.linuxbrew/bin" ]; then # Linux
export PATH="/home/linuxbrew/.linuxbrew/bin:$PATH" export PATH="/home/linuxbrew/.linuxbrew/bin:$PATH"
fi fi
# macOS Specific # macOS Specific
@ -50,115 +50,115 @@ fi
# Linux Specific # Linux Specific
if [ "$(uname)" = "Linux" ]; then if [ "$(uname)" = "Linux" ]; then
# CUDA # CUDA
export CUDA_CACHE_PATH="$XDG_CACHE_HOME"/nv export CUDA_CACHE_PATH="$XDG_CACHE_HOME"/nv
fi fi
# Azure CLI # Azure CLI
if command -v az > /dev/null; then if command -v az >/dev/null; then
export AZURE_CONFIG_DIR="$XDG_DATA_HOME"/azure export AZURE_CONFIG_DIR="$XDG_DATA_HOME"/azure
fi fi
# Bun JS # Bun JS
# mv ~/.bun $XDG_DATA_HOME/bun # mv ~/.bun $XDG_DATA_HOME/bun
# ln -sf $XDG_DATA_HOME/bun/bin/bun ~/.local/bin/bun # ln -sf $XDG_DATA_HOME/bun/bin/bun ~/.local/bin/bun
if command -v bun > /dev/null; then if command -v bun >/dev/null; then
export BUN_INSTALL="$XDG_DATA_HOME"/bun export BUN_INSTALL="$XDG_DATA_HOME"/bun
export PATH="$BUN_INSTALL/bin:$PATH" export PATH="$BUN_INSTALL/bin:$PATH"
[ -s "$BUN_INSTALL/_bun" ] && source "$BUN_INSTALL/_bun" [ -s "$BUN_INSTALL/_bun" ] && source "$BUN_INSTALL/_bun"
fi fi
# Cargo # Cargo
if command -v cargo > /dev/null; then if command -v cargo >/dev/null; then
export CARGO_HOME="$XDG_DATA_HOME"/cargo export CARGO_HOME="$XDG_DATA_HOME"/cargo
export PATH="$CARGO_HOME/bin:$PATH" export PATH="$CARGO_HOME/bin:$PATH"
fi fi
# CGDB # CGDB
if command -v cgdb > /dev/null; then if command -v cgdb >/dev/null; then
export CGDB_DIR="$XDG_CONFIG_HOME"/cgdb export CGDB_DIR="$XDG_CONFIG_HOME"/cgdb
fi fi
# .NET # .NET
if command -v dotnet > /dev/null; then if command -v dotnet >/dev/null; then
export DOTNET_CLI_HOME="$XDG_DATA_HOME"/dotnet export DOTNET_CLI_HOME="$XDG_DATA_HOME"/dotnet
export PATH="$DOTNET_CLI_HOME/.dotnet/tools:$PATH" export PATH="$DOTNET_CLI_HOME/.dotnet/tools:$PATH"
fi fi
# Docker # Docker
if command -v docker > /dev/null; then if command -v docker >/dev/null; then
export DOCKER_CONFIG="$XDG_CONFIG_HOME"/docker export DOCKER_CONFIG="$XDG_CONFIG_HOME"/docker
fi fi
# GnuPG # GnuPG
if command -v gpg > /dev/null; then if command -v gpg >/dev/null; then
export GNUPGHOME="$XDG_DATA_HOME"/gnupg export GNUPGHOME="$XDG_DATA_HOME"/gnupg
fi fi
# Go # Go
if command -v go > /dev/null; then if command -v go >/dev/null; then
export GOPATH="$XDG_DATA_HOME"/go export GOPATH="$XDG_DATA_HOME"/go
export PATH="$GOPATH/bin:$PATH" export PATH="$GOPATH/bin:$PATH"
fi fi
# Julia # Julia
if command -v julia > /dev/null; then if command -v julia >/dev/null; then
export JULIA_DEPOT_PATH="$XDG_DATA_HOME/julia:$JULIA_DEPOT_PATH" export JULIA_DEPOT_PATH="$XDG_DATA_HOME/julia:$JULIA_DEPOT_PATH"
fi fi
# Node.js # Node.js
if command -v node > /dev/null; then if command -v node >/dev/null; then
export NODE_REPL_HISTORY="$XDG_STATE_HOME"/node/repl_history export NODE_REPL_HISTORY="$XDG_STATE_HOME"/node/repl_history
export TS_NODE_REPL_HISTORY="$XDG_STATE_HOME"/node/ts_node_repl_history export TS_NODE_REPL_HISTORY="$XDG_STATE_HOME"/node/ts_node_repl_history
export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME"/npm/npmrc export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME"/npm/npmrc
export NPM_CONFIG_INIT_MODULE="$XDG_CONFIG_HOME"/npm/config/npm-init.js export NPM_CONFIG_INIT_MODULE="$XDG_CONFIG_HOME"/npm/config/npm-init.js
export NPM_CONFIG_CACHE="$XDG_CACHE_HOME"/npm export NPM_CONFIG_CACHE="$XDG_CACHE_HOME"/npm
export NPM_CONFIG_TMP="$XDG_RUNTIME_DIR"/npm export NPM_CONFIG_TMP="$XDG_RUNTIME_DIR"/npm
fi fi
# Parallel # Parallel
if command -v parallel > /dev/null; then if command -v parallel >/dev/null; then
export PARALLEL_HOME="$XDG_CONFIG_HOME"/parallel export PARALLEL_HOME="$XDG_CONFIG_HOME"/parallel
fi fi
# Python # Python
# Works only with Python 3.13.0a3 and later # Works only with Python 3.13.0a3 and later
if command -v python3 > /dev/null; then if command -v python3 >/dev/null; then
export PYTHON_HISTORY="$XDG_DATA_HOME"/python/history export PYTHON_HISTORY="$XDG_DATA_HOME"/python/history
fi fi
# GNU Screen # GNU Screen
if command -v screen > /dev/null; then if command -v screen >/dev/null; then
export SCREENRC="$XDG_CONFIG_HOME"/screen/screenrc export SCREENRC="$XDG_CONFIG_HOME"/screen/screenrc
export SCREENDIR="${XDG_RUNTIME_DIR}/screen" export SCREENDIR="${XDG_RUNTIME_DIR}/screen"
fi fi
# Ruby Gem # Ruby Gem
# Ruby Gem # Ruby Gem
if command -v gem > /dev/null; then if command -v gem >/dev/null; then
setopt nullglob setopt nullglob
for dir in "$HOME/.local/share/gem/ruby/"*/bin; do for dir in "$HOME/.local/share/gem/ruby/"*/bin; do
if [ -d "$dir" ]; then if [ -d "$dir" ]; then
export PATH="$dir:$PATH" export PATH="$dir:$PATH"
fi fi
done done
unsetopt nullglob unsetopt nullglob
fi fi
# Spacemacs # Spacemacs
if command -v emacs > /dev/null; then if command -v emacs >/dev/null; then
export SPACEMACSDIR="$XDG_CONFIG_HOME"/spacemacs export SPACEMACSDIR="$XDG_CONFIG_HOME"/spacemacs
fi fi
# tldr # tldr
# Works only with C client (did not verify) # Works only with C client (did not verify)
if command -v tldr > /dev/null; then if command -v tldr >/dev/null; then
export TLDR_CACHE_DIR="$XDG_CACHE_HOME"/tldr export TLDR_CACHE_DIR="$XDG_CACHE_HOME"/tldr
fi fi
# W3M # W3M
if command -v w3m > /dev/null; then if command -v w3m >/dev/null; then
export W3M_DIR="$XDG_DATA_HOME"/w3m export W3M_DIR="$XDG_DATA_HOME"/w3m
fi fi
# Wakatime # Wakatime
if command -v wakatime > /dev/null; then if command -v wakatime >/dev/null; then
export WAKATIME_HOME="$XDG_CONFIG_HOME/wakatime" export WAKATIME_HOME="$XDG_CONFIG_HOME/wakatime"
fi fi
# Wget # Wget
if command -v wget > /dev/null; then if command -v wget >/dev/null; then
alias wget='wget --hsts-file="$XDG_CACHE_HOME/wget-hsts"' alias wget='wget --hsts-file="$XDG_CACHE_HOME/wget-hsts"'
fi fi
# z # z
if command -v z > /dev/null; then if command -v z >/dev/null; then
export _Z_DATA="$XDG_DATA_HOME/z" export _Z_DATA="$XDG_DATA_HOME/z"
fi fi
# zsh .zcompdump # zsh .zcompdump
# compinit -d "$XDG_CACHE_HOME"/zsh/zcompdump-"$ZSH_VERSION" # compinit -d "$XDG_CACHE_HOME"/zsh/zcompdump-"$ZSH_VERSION"
# Vcpkg # Vcpkg
if command -v vcpkg > /dev/null; then if command -v vcpkg >/dev/null; then
export VCPKG_ROOT="$XDG_DATA_HOME"/vcpkg export VCPKG_ROOT="$XDG_DATA_HOME"/vcpkg
fi fi

View file

@ -24,9 +24,9 @@ case "$(uname)" in
# macOS-specific configuration # macOS-specific configuration
source "$DOTFILES/platforms/mac/zshrc" source "$DOTFILES/platforms/mac/zshrc"
;; ;;
# CYGWIN*|MINGW*|MSYS*) # CYGWIN*|MINGW*|MSYS*)
# source "$DOTFILES/platform/wsl.zsh" # source "$DOTFILES/platform/wsl.zsh"
# ;; # ;;
esac esac
for file in $DOTFILES/tools/zsh/mod/*.zsh; do for file in $DOTFILES/tools/zsh/mod/*.zsh; do