mirror of
				https://github.com/ItsDrike/dotfiles.git
				synced 2025-10-30 23:56:35 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			75 lines
		
	
	
	
		
			3.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
	
		
			3.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/usr/bin/zsh
 | |
| 
 | |
| # ZSH Options
 | |
| setopt auto_cd              # cd by typing directory name if it's not a command
 | |
| setopt auto_list            # automatically list choices on ambiguous completion
 | |
| setopt auto_menu            # automatically use menu completion
 | |
| setopt always_to_end        # move cursor to end if word had one match
 | |
| setopt interactivecomments  # allow comments in interactive mode
 | |
| setopt magicequalsubst      # enable filename expansion for arguments of form `x=expression`
 | |
| setopt notify               # report the status of background jobs immediately
 | |
| setopt numericglobsort      # sort filenames numerically when it makes sense
 | |
| setopt auto_pushd           # Make cd act as pushd
 | |
| #setopt correct_all         # autocorrect commands
 | |
| 
 | |
| # oh-my-zsh configuration (DISABLED by default, if you want oh-my-zsh, uncomment these)
 | |
| #export ZSH="/usr/share/oh-my-zsh"
 | |
| #ZSH_THEME="af-magic"
 | |
| #UPDATE_ZSH_DAYS=8
 | |
| #ENABLE_CORRECTION="false"
 | |
| #source $ZSH/oh-my-zsh.sh # Run oh-my-zsh
 | |
| 
 | |
| # ZSH files setup (don't clutter home)
 | |
| export ZSH_CACHE="$HOME/.cache/zsh"
 | |
| export HISTFILE="$ZSH_CACHE/history"
 | |
| export ZSH_COMPDUMP="$ZSH_CACHE/zcompdump-$ZSH_VERSION"
 | |
| mkdir -p "$ZSH_CACHE"
 | |
| 
 | |
| # Auto-remove home clutter
 | |
| [ -f ~/.zsh-update ] && mv ~/.zsh-update $ZSH_CACHE/.zsh-update
 | |
| [ -f ~/.sudo_as_admin_sucessful ] && rm ~/.sudo_as_admin_successful
 | |
| [ -f ~/.bash_history ] && rm ~/.bash_history
 | |
| 
 | |
| # History configuration
 | |
| export HISTSIZE=10000
 | |
| export SAVEHIST=10000
 | |
| setopt appendhistory            # save history entries as soon as they are entered
 | |
| setopt hist_ignore_space        # ignore commands that start with space
 | |
| setopt hist_verify              # show commands with history expansion to user before running it
 | |
| setopt extended_history         # record command start time
 | |
| #setopt hist_ignore_dups        # ignore duplicated commands history list
 | |
| #setopt hist_expire_dups_first  # delete duplicates first when HISTFILE size exceeds HISTFILE
 | |
| #setopt share_history           # share command history data between terminals
 | |
| 
 | |
| # Completion features (tab)
 | |
| autoload -Uz compinit
 | |
| zmodload -i zsh/complist                # load completion list
 | |
| compinit -d $ZSH_COMPDUMP               # Specify compdump file
 | |
| comp_options+=(globdots)                # Enable completion on hidden files.
 | |
| zstyle ':completion:*' menu select      # select completions with arrow keys
 | |
| zstyle ':completion:*' group-name ''    # group results by category
 | |
| zstyle ':completion:::::' completer _expand _complete _ignored _approximate #enable approximate matches for completion
 | |
| 
 | |
| # Color support
 | |
| #autoload -U colors && colors
 | |
| 
 | |
| # Setup aliases
 | |
| [ -f ~/.config/shell/aliases ] && source ~/.config/shell/aliases
 | |
| # Load handlers
 | |
| [ -f ~/.config/shell/handlers ] && source ~/.config/shell/handlers
 | |
| # Load key bindings
 | |
| [ -f ~/.config/shell/keybinds ] && source ~/.config/shell/keybinds
 | |
| # Load prompt
 | |
| [ -f ~/.config/shell/prompt ] && source ~/.config/shell/prompt
 | |
| 
 | |
| # Define TMOUT timeout for TTY and root
 | |
| # [ -z "$DISPLAY" ] && export TMOUT=800
 | |
| # [ $UID -eq 0 ] && export TMOUT=600
 | |
| 
 | |
| # Load extensions (should be last)
 | |
| source /usr/share/zsh/site-functions/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
 | |
| source /usr/share/zsh/site-functions/zsh-autosuggestions/zsh-autosuggestions.zsh
 | |
| source /usr/local/src/z.lua/z.lua.plugin.zsh
 | |
| if command -v pyenv >/dev/null 2>&1; then
 | |
|     eval "$(pyenv init -)"
 | |
| fi
 |