Added chaotic AUR install script and terminal customization script
This commit is contained in:
@@ -0,0 +1,139 @@
|
||||
export ZSH_CONFIG=$HOME/.config/zsh
|
||||
export OHMYZSH=$ZSH_CONFIG/oh-my-zsh
|
||||
export OHMYZSH_CUSTOM=$OHMYZSH/custom
|
||||
|
||||
export ZSHRC_URL="https://jeremy-web.space/scripts/zshrc"
|
||||
export ZSHRC_BOOTSTRAP_URL="https://jeremy-web.space/scripts/zshrc-bootstrap.zsh"
|
||||
export ZSHRC_BOOTSTRAP_VERSION="2"
|
||||
export ZSHRC_BOOTSTRAP="$ZSH_CONFIG/.bootstrapped"
|
||||
|
||||
[[ -d "$HOME/Scripts" ]] && path+=("$HOME/Scripts")
|
||||
[[ -d "$HOME/.local/bin" ]] && path+=("$HOME/.local/bin")
|
||||
[[ -d "$HOME/AppImages" ]] && path+=("$HOME/AppImages")
|
||||
|
||||
update_zshrc(){
|
||||
local tmp=/tmp/.zshrc.$$
|
||||
curl -sSL --connect-timeout 5 "$ZSHRC_URL" -o "$tmp" 2>/dev/null || return
|
||||
if ! cmp -s "$tmp" "$HOME/.zshrc" 2>/dev/null; then
|
||||
echo "Updating zshrc..."
|
||||
mv "$tmp" "$HOME/.zshrc" && echo "Updated. Reloading..." && exec zsh
|
||||
fi
|
||||
rm -f "$tmp"
|
||||
}
|
||||
|
||||
fix_btopbg(){
|
||||
sed -i 's/theme_background = true/theme_background = false/' ~/.config/btop/btop.conf
|
||||
}
|
||||
|
||||
# Bootstrap: download and run once per bootstrap version
|
||||
if [[ ! -f "$ZSHRC_BOOTSTRAP" || "$(cat "$ZSHRC_BOOTSTRAP" 2>/dev/null)" != "$ZSHRC_BOOTSTRAP_VERSION" || "$BOOTSTRAP" == "true" ]]; then
|
||||
tmp=/tmp/.zshrc_bootstrap.$$
|
||||
curl -sSL --connect-timeout 5 -o "$tmp" "$ZSHRC_BOOTSTRAP_URL" 2>/dev/null
|
||||
if [[ -f "$tmp" ]]; then
|
||||
zsh "$tmp" 2>/dev/null
|
||||
echo "$ZSHRC_BOOTSTRAP_VERSION" > "$ZSHRC_BOOTSTRAP"
|
||||
rm -f "$tmp"
|
||||
fi
|
||||
fi
|
||||
|
||||
TMUXCONF="$HOME/.config/tmux"
|
||||
BYOBUCONF="$HOME/.config/byobu"
|
||||
TMUXREMOTE="https://jeremy-web.space/scripts/tmux.conf"
|
||||
if [ ! -f "$TMUXCONF" ]; then
|
||||
# Create a secure temporary file
|
||||
TEMP_TMUXCONF=$(mktemp)
|
||||
|
||||
# Download to temp file.
|
||||
# The '&&' ensures the 'mv' only runs if curl succeeds (exit code 0).
|
||||
if curl -sSL --connect-timeout 5 -o "$TEMP_TMUXCONF" "$TMUXREMOTE"; then
|
||||
mkdir -p "$TMUXCONF" "$BYOBUCONF"
|
||||
cp "$TEMP_TMUXCONF" "$TMUXCONF/tmux.conf"
|
||||
mv "$TEMP_TMUXCONF" "$BYOBUCONF/.tmux.conf"
|
||||
else
|
||||
# Optional: Clean up temp file if download failed
|
||||
rm -f "$TEMP_TMUXCONF"
|
||||
echo "Error: Failed to download tmux config from $TMUXREMOTE" >&2
|
||||
fi
|
||||
fi
|
||||
|
||||
export HISTFILE="$ZSH_CONFIG/history"
|
||||
export ZSH_COMPDUMP="$ZSH_CONFIG/zcompdump-${HOST}-${ZSH_VERSION}"
|
||||
export HISTSIZE=10000
|
||||
export SAVEHIST=10000
|
||||
|
||||
setopt SHARE_HISTORY
|
||||
setopt HIST_IGNORE_DUPS
|
||||
setopt HIST_IGNORE_ALL_DUPS
|
||||
setopt HIST_REDUCE_BLANKS
|
||||
setopt HIST_FCNTL_LOCK
|
||||
setopt AUTO_CD
|
||||
setopt AUTO_LIST
|
||||
setopt INTERACTIVE_COMMENTS
|
||||
|
||||
ZSH_THEME=""
|
||||
ENABLE_CORRECTION="false"
|
||||
HIST_STAMPS="mm/dd/yyyy"
|
||||
|
||||
plugins=(
|
||||
git
|
||||
sudo
|
||||
extract
|
||||
eza
|
||||
history
|
||||
kitty
|
||||
docker
|
||||
docker-compose
|
||||
archlinux
|
||||
encode64
|
||||
universalarchive
|
||||
zsh-autosuggestions
|
||||
fast-syntax-highlighting
|
||||
fzf
|
||||
fzf-tab
|
||||
systemd
|
||||
vscode
|
||||
rsync
|
||||
starship
|
||||
)
|
||||
|
||||
zstyle ':omz:update' 'mode' auto
|
||||
zstyle ':omz:plugins:eza' 'dirs-first' yes
|
||||
zstyle ':omz:plugins:eza' 'git-status' yes
|
||||
zstyle ':omz:plugins:eza' 'header' yes
|
||||
zstyle ':omz:plugins:eza' 'show-group' yes
|
||||
zstyle ':omz:plugins:eza' 'icons' yes
|
||||
zstyle ':omz:plugins:eza' 'color-scale' all
|
||||
zstyle ':omz:plugins:eza' 'color-scale-mode' fixed
|
||||
zstyle ':omz:plugins:eza' 'size-prefix' si
|
||||
zstyle ':omz:plugins:eza' 'hyperlink' yes
|
||||
|
||||
zstyle ':completion:*' menu select
|
||||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
|
||||
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
|
||||
zstyle ':completion:*' special-dirs true
|
||||
|
||||
source $OHMYZSH/oh-my-zsh.sh
|
||||
|
||||
alias c='clear'
|
||||
alias q="exit"
|
||||
alias nbstat=$'netbird status --json | jq -r \'.peers.details[]? | [(.hostname // .fqdn), .netbirdIp, .status] | @tsv\' | column -t -s $\'\\t\''
|
||||
alias open-ports="ss -tulpn | grep LISTEN"
|
||||
alias yeet='yay -Rcs'
|
||||
|
||||
# Auto-update: check every shell start, silently fail if server unreachable
|
||||
if [[ -o interactive ]]; then
|
||||
tmp=/tmp/.zshrc.$$
|
||||
curl -sSL --connect-timeout 3 "$ZSHRC_URL" -o "$tmp" 2>/dev/null
|
||||
if [[ -f "$tmp" ]] && ! cmp -s "$tmp" "$HOME/.zshrc" 2>/dev/null; then
|
||||
echo "Updating zshrc..."
|
||||
mv "$tmp" "$HOME/.zshrc" && exec zsh
|
||||
fi
|
||||
rm -f "$tmp"
|
||||
fi
|
||||
|
||||
[[ -f $HOME/.zshrc.local ]] || touch $HOME/.zshrc.local
|
||||
source $HOME/.zshrc.local
|
||||
|
||||
if [[ $FFENABLED != "false" && ( -o interactive || $(tty) == *"pts"* ) ]] && command -v fastfetch >/dev/null; then
|
||||
fastfetch --config examples/13
|
||||
fi
|
||||
Reference in New Issue
Block a user