A carefully curated collection of configuration files for a modern, productive development environment
This dotfiles repository transforms your terminal into a powerful, beautiful, and efficient development environment. All configurations are managed through GNU Stow for easy symlink management.
| Tool | Purpose | Benefits |
|---|---|---|
| π Neovim | Modern text editor | Lightning-fast editing with LSP support |
| β Starship | Cross-shell prompt | Beautiful, informative prompt with git integration |
| π FZF | Fuzzy finder | Blazing fast file/command searching |
| π Zoxide | Smart cd command | Jump to directories with intelligent frequency ranking |
| π¨ Eza | Modern ls replacement | Colorful, tree-view file listings |
| π¦ Bat | Cat with wings | Syntax highlighting and git integration |
| π Fastfetch | System info | Beautiful system information display with custom images |
| π Lolcat | Rainbow text | Add some fun to your terminal output |
- Python: Managed with
pyenvandpyenv-virtualenv - Node.js: Managed with
nvm - Rust: Full toolchain with
rustup - Java: Managed with
SDKMAN!(macOS) - AI Tools:
aider-chat,claude-cli, andollamaintegration
- Tokyo Night theme across all applications
- Consistent color scheme for terminal, editor, and tools
- Custom Starship prompt with gradient colors
- Beautiful ASCII art and system info on startup
- macOS: Xcode Command Line Tools
- Ubuntu: Build essentials and curl
git clone https://github.com/yourusername/dotfiles.git ~/dotfiles
cd ~/dotfiles
./setup.shThe setup script will:
- π¦ Install all dependencies based on your OS
- π Create symlinks using GNU Stow
- βοΈ Configure shell and tools
- π Set up your development environment
If you prefer to install step by step:
# Install GNU Stow
# macOS
brew bundle
# Dump new file
brew bundle dump
# Install standalone package
brew install stow
# Ubuntu
sudo apt install stow
# Clone and setup
git clone https://github.com/yourusername/dotfiles.git ~/dotfiles
cd ~/dotfiles
stow .dotfiles/
βββ bin/ # π§ Custom binaries and scripts
β βββ fastfetch # Custom compiled fastfetch with image support
β βββ fastfetch-zellij # Wrapper script for zellij compatibility
βββ .config/
β βββ nvim/ # π Neovim configuration
β βββ kitty/ # π± Terminal emulator
β βββ starship.toml # β Shell prompt
β βββ bat/ # π¦ Syntax highlighter
β βββ eza/ # π File listing
β βββ fastfetch/ # π System info with custom image
β βββ lazygit/ # πΏ Git TUI
β βββ yazi/ # π File manager
β βββ zellij/ # π² Terminal multiplexer
βββ .zshrc # π Shell configuration
βββ .gitconfig # π Git settings
βββ setup.sh # π οΈ Installation script
The .zshrc includes many useful aliases:
# System updates
update # Update package manager (brew/apt)
# File operations
ll # Detailed file listing with eza
la # All files including hidden
tree # Directory tree view
# Fastfetch shortcuts
ff # Quick fastfetch with custom config and image
fastfetch # Function that handles zellij compatibility
# Git shortcuts
gs # git status
ga # git add
gc # git commit
gp # git pushKey environment variables are configured:
EDITOR="nvim"- Default editorAIDER_EDITOR="nvim"- AI coding assistant editorMANPAGER="nvim +Man!"- Use Neovim for man pages
This dotfiles includes a custom-compiled fastfetch binary with ImageMagick7 and chafa support for displaying custom images as ASCII art in your terminal.
- Custom Image Display: Shows your custom image (
~/.config/nvim/assets/rosie.png) instead of the default OS logo - Zellij Compatibility: Special function to work around terminal multiplexer limitations
- ASCII Art Conversion: Uses chafa to convert images to beautiful terminal-compatible ASCII art
# Quick fastfetch with your custom config
ff
# Standard fastfetch (with zellij compatibility built-in)
fastfetch --config "$HOME/dotfiles/.config/fastfetch/config.jsonc"
# Use wrapper script directly
~/dotfiles/bin/fastfetch-zellij --config "$HOME/dotfiles/.config/fastfetch/config.jsonc"Fastfetch normally disables image logos when running in terminal multiplexers like zellij. This setup includes:
- Shell Function: Automatically handles zellij environment variables
- Wrapper Script:
bin/fastfetch-zellijfor direct usage - Custom Binary: Compiled with full image support
Your fastfetch config (~/.config/fastfetch/config.jsonc) includes:
- Custom image path and chafa rendering
- Tokyo Night color scheme integration
- Optimized layout for your terminal setup
cd /path/to/fastfetch/source
mkdir build && cd build
cmake .. -DENABLE_IMAGEMAGICK7=ON -DENABLE_CHAFA=ON
make -j$(nproc)
cp fastfetch ~/dotfiles/bin/# Remove existing symlinks
stow -D .
# Clean up conflicting files
rm ~/.zshrc ~/.gitconfig
# Recreate symlinks
stow .# Make zsh default shell
chsh -s $(which zsh)
# Reload shell configuration
source ~/.zshrc# Re-run setup script
./setup.sh
# Or install specific tools manually
brew install nvim starship zoxide fzf eza bat # macOS
sudo apt install neovim zsh git curl # Ubuntu# Clear Neovim cache
rm -rf ~/.local/share/nvim
rm -rf ~/.cache/nvim
# Reinstall plugins
nvim +Lazy# Reinstall FZF
~/.fzf/install --all
# Or via package manager
brew reinstall fzf # macOS# Check if running in zellij (should show custom image)
ff
# Test outside terminal multiplexer
unset ZELLIJ ZELLIJ_PANE_ID ZELLIJ_SESSION_NAME && fastfetch --config "$HOME/dotfiles/.config/fastfetch/config.jsonc"
# Verify image file exists
ls -la ~/.config/nvim/assets/rosie.png
# Check fastfetch features
~/dotfiles/bin/fastfetch --list-features
# Should show: imagemagick7, chafa- Check the troubleshooting section
- Review tool-specific documentation in
.config/ - Open an issue with your system info and error message
- Smart Navigation: Jump to any directory with
z <partial-name> - Fuzzy Everything: Find files, commands, and history with
Ctrl+R,Ctrl+T - Git Integration: Visual git status in prompt, easy git commands
- AI Assistance: Integrated AI tools for coding help
- Consistent Theming: Tokyo Night everywhere
- Rich File Listings: Icons, colors, and git status in file lists
- Beautiful Prompt: Multi-line prompt with git, time, and system info
- Syntax Highlighting: Code highlighting in terminal and editor
- Fast Startup: Optimized shell configuration
- Lazy Loading: Plugins and tools load only when needed
- Smart Caching: Reduced redundant operations
Feel free to fork this repository and customize it for your needs! If you have improvements or fixes, pull requests are welcome.
This project is licensed under the MIT License - see the LICENSE file for details.
Happy Coding! π
Made with β€οΈ and lots of β


