Comprehensive shell environment setup for CachyOS/Arch Linux featuring: - Modern CLI tools: eza, bat, fd, ripgrep, fzf, zoxide, dust, duf, procs, btop, sd, delta - Development tools: neovim (NvChad), lazygit, starship, yazi, zellij, navi - Shell: zsh with oh-my-zsh, syntax highlighting, autosuggestions - Terminal: Ghostty configuration - Dracula theme: Consistent theming across all tools - Fonts: JetBrains Mono Nerd Font (all variants) - Configs: starship, zellij, yazi, fastfetch, ghostty - Dotfiles: .zshrc, .bashrc, zsh completions Automated installation script handles all dependencies and configuration.
8.4 KiB
CachyOS Shell Environment Setup
A comprehensive shell environment setup script for CachyOS (or any Arch-based distro) featuring modern CLI tools, Dracula theming, and a beautiful terminal experience.
Features
Modern CLI Tools
- eza - Modern replacement for
lswith git integration and icons - bat - Better
catwith syntax highlighting (Dracula theme) - fd - Faster and more user-friendly alternative to
find - ripgrep (rg) - Ultra-fast text search tool
- fzf - Command-line fuzzy finder (Dracula theme)
- zoxide - Smarter
cdcommand with frecency - dust - Intuitive
dureplacement - duf - User-friendly
dfalternative - procs - Modern
psreplacement - btop - Beautiful system monitor
- sd - Intuitive
sedalternative - delta - Syntax-highlighting git diff viewer
- atuin - Magical shell history with search and sync
- tealdeer - Fast tldr client for quick command examples
- hyperfine - Command-line benchmarking tool
- tokei - Code statistics tool
Development Tools
- neovim - Modern vim-based text editor
- NvChad - Blazing fast Neovim config
- lazygit - Simple terminal UI for git
- starship - Fast, customizable prompt (Dracula theme)
- yazi - Blazing fast terminal file manager
- zellij - Terminal workspace with layouts (Dracula theme)
- navi - Interactive cheatsheet tool
Shell Environment
- zsh - Powerful shell with Oh-My-Zsh
- oh-my-zsh - Framework for managing zsh configuration
- zsh-syntax-highlighting - Fish-like syntax highlighting
- zsh-autosuggestions - Fish-like autosuggestions
- Ghostty - Fast, native terminal emulator (Dracula theme)
Theming
All tools are configured with Dracula theme for a consistent, beautiful dark theme experience.
Directory Structure
cachyos-setup/
├── install.sh # Main installation script
├── README.md # This file
├── dotfiles/ # Shell configuration files
│ ├── .zshrc # Main zsh configuration
│ ├── .zshenv # Zsh environment variables
│ ├── .bashrc # Bash configuration (fallback)
│ ├── .bash_logout # Bash logout script
│ ├── .profile # Profile configuration
│ └── .zsh/ # Zsh completions
├── config/ # Application configurations
│ ├── starship.toml # Starship prompt config
│ ├── zellij/ # Zellij workspace config
│ ├── yazi/ # Yazi file manager config
│ ├── fastfetch/ # Fastfetch system info config
│ └── htop/ # Htop config
└── fonts/ # JetBrains Mono Nerd Font
Installation
Prerequisites
- A fresh CachyOS installation (or Arch-based distro)
- Internet connection
- sudo privileges
Quick Install
- Copy this entire
cachyos-setupdirectory to your new machine - Open a terminal and navigate to the directory:
cd cachyos-setup - Run the installation script:
./install.sh - Follow the prompts and let the script do its magic!
What the Script Does
The installation script will:
- ✅ Detect your package manager (pacman or apt)
- ✅ Update system packages
- ✅ Install core system packages
- ✅ Install Rust and Cargo
- ✅ Install all Cargo-based tools
- ✅ Set up Oh-My-Zsh with plugins
- ✅ Install JetBrains Mono Nerd Font
- ✅ Set up Neovim with NvChad
- ✅ Install Ghostty terminal
- ✅ Install lazygit and btop
- ✅ Copy all dotfiles and configs (with backup)
- ✅ Configure Ghostty with Dracula theme
- ✅ Set up bat, delta, and atuin
- ✅ Change default shell to zsh
Note: The script will automatically backup your existing configurations to ~/.config_backup_<timestamp>/
Post-Installation
After the installation completes:
- Logout and login (or reboot) to apply the shell changes
- Open Ghostty terminal to experience your new setup
- Run
nvimfor the first time to complete NvChad plugin installation - Enjoy your new environment!
Key Features & Usage
Enhanced Shell Commands
The new .zshrc includes many convenient aliases:
File Operations
ls # eza with icons and colors
ll # eza long format
la # eza show all files
lt # eza tree view
cat # bat with syntax highlighting
Navigation
cd <dir> # Uses zoxide (learns your habits)
.. # Go up one directory
... # Go up two directories
mkcd # Create directory and cd into it
System Monitoring
top # Opens btop
du # Uses dust
df # Uses duf
ps # Uses procs
Git
lg # Opens lazygit
gs # git status
ga # git add
gc # git commit
gd # git diff (with delta)
Utilities
help # Uses tldr for quick examples
zconfig # Edit .zshrc
nconfig # Edit nvim config
sconfig # Edit starship config
zj # Start zellij with dracula theme
Atuin Shell History
Press Ctrl+R to search through your shell history with atuin's powerful interface.
FZF Fuzzy Finding
Ctrl+T- Search for filesCtrl+R- Search command history (atuin)Alt+C- Change directory with fuzzy search
Starship Prompt
The starship prompt shows:
- Current directory
- Git branch and status
- Programming language versions (Python, Node, Rust, Go, etc.)
- Docker context
- Custom git remote icons (GitHub, GitLab, etc.)
Zellij Terminal Workspace
Start zellij with Dracula theme:
zj
Key bindings:
Ctrl+O- Open zellij commandsCtrl+T- New tabCtrl+P- New paneCtrl+N- Switch panes
Customization
Change Themes
All configurations support Dracula theme by default, but you can customize:
- Starship: Edit
~/.config/starship.toml - Ghostty: Edit
~/.config/ghostty/config - Zellij: Edit
~/.config/zellij/config.kdl - Bat: Change
BAT_THEMEin.zshrc - FZF: Modify
FZF_DEFAULT_OPTSin.zshrc
Add More Tools
To add more Rust-based tools:
cargo install <tool-name>
Troubleshooting
Fonts not showing correctly
fc-cache -f ~/.local/share/fonts
Zsh not default shell
chsh -s $(which zsh)
Cargo tools not in PATH
Add to .zshrc:
export PATH="$HOME/.cargo/bin:$PATH"
NvChad plugins not loading
nvim
# Wait for installation to complete
# Press Enter when prompted
Included Configurations
.zshrc Features
- Oh-My-Zsh with plugins
- Starship prompt
- Zoxide integration
- Dracula theme for fzf, bat
- Atuin history search
- Modern CLI tool aliases
- Helpful functions (extract, mkcd)
- Git aliases
- Custom completions support
Starship Configuration
- Minimalist design
- Git integration with custom icons
- Language detection (Python, Node, Rust, Go, etc.)
- Custom git remote symbols
- Dracula color scheme
Ghostty Configuration
- Dracula color scheme
- JetBrains Mono Nerd Font
- Custom padding
- Shell integration
- No close confirmation
Package List
System Packages (pacman)
zsh git curl wget base-devel fzf ripgrep bat fd xclip htop
ruby rubygems python python-pip fontconfig unzip neovim go
Cargo Tools
starship zoxide yazi-fm yazi-cli zellij navi eza bat fd-find
dust duf procs bottom sd tealdeer git-delta atuin hyperfine tokei
Additional Tools
- lazygit
- btop
- ghostty (via AUR)
Backup Information
The install script automatically backs up:
- All existing dotfiles in your home directory
- All existing configs in
~/.config/
Backups are stored in: ~/.config_backup_<timestamp>/
Manual Installation Steps
If you prefer to install components individually:
-
Install Rust:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -
Install Oh-My-Zsh:
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" -
Install a tool via cargo:
cargo install <tool-name> -
Copy configs:
cp dotfiles/.zshrc ~/ cp -r config/* ~/.config/
Credits
- Dracula Theme: https://draculatheme.com/
- NvChad: https://nvchad.com/
- Starship: https://starship.rs/
- Oh-My-Zsh: https://ohmyz.sh/
License
Free to use and modify for personal use.
Enjoy your beautiful new shell environment! 🚀