Shell Configuration
The dotfiles provide comprehensive shell configuration for both Bash and Zsh.
Configuration Files
Core Files
.bashrc
/.zshrc
: Main shell configuration.bash_profile
: Bash login shell configuration.path.sh
: PATH environment variable management.exports.sh
: Environment variables.aliases.sh
: Command aliases.functions.sh
: Shell functions.extra.sh
: Personal configuration (not tracked)
File Loading Order
Bash
.bash_profile
(login shells).bashrc
(non-login shells)- Common files (path, exports, aliases, functions, extra)
Zsh
.zshrc
- Common files (path, exports, aliases, functions, extra)
Common Aliases
Navigation
alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias ~="cd ~"
alias -- -="cd -"
Enhanced Commands
alias ll="eza -la --git"
alias la="eza -la"
alias l="eza -l"
alias tree="eza --tree"
Git Shortcuts
alias g="git"
alias gs="git status"
alias ga="git add"
alias gc="git commit"
alias gp="git push"
alias gl="git log --oneline"
Environment Variables
Development Tools
export EDITOR="vim"
export VISUAL="$EDITOR"
export PAGER="less"
Language Settings
export LC_ALL="en_US.UTF-8"
export LANG="en_US.UTF-8"
History Configuration
export HISTSIZE=10000
export HISTFILESIZE=20000
export HISTCONTROL=ignoreboth:erasedups
Modern CLI Tools
The configuration assumes these modern CLI tools are installed:
- ripgrep (rg): Fast text search
- fd: Fast file finder
- bat: Better cat with syntax highlighting
- eza: Modern ls replacement
- jq/yq: JSON/YAML processing
- fzf: Fuzzy finder
- delta: Better git diff
Tips
Reload Configuration
# Reload shell configuration
source ~/.bashrc # or ~/.zshrc
Check Active Aliases
# List all aliases
alias
# Check specific alias
alias ll
Debug Shell Startup
# Start shell with debug output
bash -x
zsh -x