My personal Fish shell setup with intelligent two-line prompt and productivity enhancements.
Topics: fish-shell dotfiles terminal prompt productivity shell-config unix linux zsh-alternative command-line git-integration customization rice minimalist developer-tools
- Two-line prompt design prevents long paths from pushing cursor off-screen
- Git integration with branch names and status indicators
- Command execution timing for commands over 2 seconds
- Virtual environment detection and display
- Exit status indicators for failed commands
- Unicode styling with clean box-drawing characters
- Custom syntax highlighting and color scheme
- Smart autocompletion with case-insensitive matching
- Enhanced keybindings for productivity
- Smart cd function that lists directory contents
- Archive extraction for multiple formats
- Process search and file finder utilities
curl -fsSL https://raw.githubusercontent.com/Hadi493/fish-config/main/install.sh | bashgit clone https://github.com/Hadi493/fish-config.git
cd fish-config
./install.sh- Fish shell 3.0+
- Git
- Nerd Font (recommended: Iosevka)
- tree - Enhanced directory listing
- bat - Better cat with syntax highlighting
- curl - Weather function
MIT License - see LICENSE file for details.
Copyright (c) 2025 Hadi493
- Any Linux distro (I personally use CachyOS)
- Fish shell
- Fastfetch
Backup and remove old-config
mkdir -p ~/fish.bak
cp ~/.config/fish/* -r ~/fish.bak
rm -rf ~/.config/fishClone
git clone https://github.com/Hadi493/cg-fish.git ~/.config/fish/source
source ~/.config/fish/config.fishll, la, cls, git_graph, g_graph, gb_graph.
sys-upgrade, full-sys-upgrade
Please make sure to review the config.fish file and update the aliases according to your Linux distribution. Note: Default aliases are pre-configured for Arch-based systems.
nvim
nvim ~/.config/fish/config.fishFor Debian
alias sys-upgrade="sudo apt update && sudo apt upgrade -y"
alias apt="sudo apt"For Fedora
alias sys-upgrade="sudo dnf upgrade -y"
alias dnf="sudo dnf"