# ─────────────────────────────────────────────────────────────────────────────── # ZSH CONFIGURATION: Visual Enhancements & Useful Plugins # ─────────────────────────────────────────────────────────────────────────────── # Path to your oh-my-zsh installation. export ZSH="$HOME/.oh-my-zsh" # ─────────────────────────────────────────────────────────────────────────────── # THEME CONFIGURATION # ─────────────────────────────────────────────────────────────────────────────── # Set theme to 'agnoster' for a minimalist, powerline-style prompt ZSH_THEME="agnoster" # ─────────────────────────────────────────────────────────────────────────────── # PLUGINS CONFIGURATION # ─────────────────────────────────────────────────────────────────────────────── # Enable core plugins plugins=( git # Git integration zsh-syntax-highlighting # Syntax highlighting zsh-autosuggestions # Command suggestions zsh-completions # Better completions for various commands autojump # Fast directory navigation ) # ─────────────────────────────────────────────────────────────────────────────── # ZSH OPTIONS & CUSTOMIZATIONS # ─────────────────────────────────────────────────────────────────────────────── # Enable auto-correction ENABLE_CORRECTION="true" # Case-insensitive completion CASE_SENSITIVE="false" # Auto-correct commands as you type setopt CORRECT # Do not beep on error setopt NO_BEEP # Enable auto-changing to a directory if only the directory name is typed setopt AUTO_CD # Enable sharing history across sessions setopt SHARE_HISTORY # Ignore duplicate entries in history setopt HIST_IGNORE_DUPS # Disable duplicate command history entries setopt HIST_FIND_NO_DUPS # Load oh-my-zsh source $ZSH/oh-my-zsh.sh # ─────────────────────────────────────────────────────────────────────────────── # ALIASES & SHORTCUTS # ─────────────────────────────────────────────────────────────────────────────── # Handy shortcuts for common commands alias ll='ls -lah --color=auto' alias grep='grep --color=auto' alias gs='git status' alias gp='git push' alias gc='git commit -m' alias c='clear' alias x='exit' alias zshconf='nvim ~/.zshrc' alias alacritty='nvim ~/.config/alacritty/alacritty.yml' alias alacrittylooks='~/.config/alacritty/alacritty.toml' alias vimconf='nvim ~/.vimrc' alias viminfo='nvim ~/.viminfo' alias mpvconf='nvim ~/.config/mpv/mpv.conf' alias mpvinput='nvim ~/.config/mpv/input.conf' alias nvimconf='nvim ~/.config/nvim/init.vim' alias neofetchconf='nvim ~/.config/neofetch/config.conf' alias webconf='nvim ~/.config/website/index.html' alias ytmp3='yt-dlp -x --audio-format mp3 ' alias ytf='yt-dlp -F ' alias ytvid='yt-dlp -f "bestvideo[height<=1080]+bestaudio/best[height<=1080]" -o "~/Videos/%(title)s.%(ext)s"' # ─────────────────────────────────────────────────────────────────────────────── # AUTOSUGGESTIONS SETTINGS # ─────────────────────────────────────────────────────────────────────────────── # Make suggestions more visible ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#d19a66" # ─────────────────────────────────────────────────────────────────────────────── # SYNTAX HIGHLIGHTING SETTINGS # ─────────────────────────────────────────────────────────────────────────────── # Highlighting options ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern cursor) # ─────────────────────────────────────────────────────────────────────────────── # HISTORY CONFIGURATION # ─────────────────────────────────────────────────────────────────────────────── # History file HISTFILE=~/.zsh_history # History size HISTSIZE=10000 SAVEHIST=10000 # ─────────────────────────────────────────────────────────────────────────────── # PROMPT CUSTOMIZATION # ─────────────────────────────────────────────────────────────────────────────── # Set prompt to include user, host, and current directory PROMPT='%F{cyan}%n%f@%F{yellow}%m %F{green}%~%f %# ' # ─────────────────────────────────────────────────────────────────────────────── # VISUAL ENHANCEMENTS # ─────────────────────────────────────────────────────────────────────────────── # Enable colors in terminal output autoload -U colors && colors # Add more eye candy to the terminal export CLICOLOR=1 export LSCOLORS=GxFxCxDxBxegedabagaced # ─────────────────────────────────────────────────────────────────────────────── # PATH CONFIGURATION # ─────────────────────────────────────────────────────────────────────────────── # Custom paths export PATH="$HOME/bin:/usr/local/bin:$PATH" # ─────────────────────────────────────────────────────────────────────────────── # autojump if [ -f /usr/share/autojump/autojump.zsh ]; then . /usr/share/autojump/autojump.zsh fi # ------------------------------------------------------------------------------- # FINAL SETUP # ─────────────────────────────────────────────────────────────────────────────── # Source additional scripts or configurations if [ -f ~/.zshrc_custom ]; then source ~/.zshrc_custom fi # Source the plugins source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh # Reload shell configuration source $ZSH/oh-my-zsh.sh