Skip to content

mohseenrm/dotfiles

Repository files navigation

🏠 Dotfiles Collection

A carefully curated collection of configuration files for a modern, productive development environment

macOS Ubuntu License

✨ What's Inside

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.

nvim term project

🛠️ Core Tools & Features

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
🌈 Lolcat Rainbow text Add some fun to your terminal output

🎯 Development Environment

  • Python: Managed with pyenv and pyenv-virtualenv
  • Node.js: Managed with nvm
  • Rust: Full toolchain with rustup
  • Java: Managed with SDKMAN! (macOS)
  • AI Tools: aider-chat, claude-cli, and ollama integration

🎨 Theme & Aesthetics

  • 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

🚀 Quick Setup

Prerequisites

  • macOS: Xcode Command Line Tools
  • Ubuntu: Build essentials and curl

One-Command Installation

git clone https://github.com/yourusername/dotfiles.git ~/dotfiles
cd ~/dotfiles
./setup.sh

The setup script will:

  1. 📦 Install all dependencies based on your OS
  2. 🔗 Create symlinks using GNU Stow
  3. ⚙️ Configure shell and tools
  4. 🎉 Set up your development environment

Manual Installation

If you prefer to install step by step:

# Install GNU Stow
# macOS
brew install stow

# Ubuntu
sudo apt install stow

# Clone and setup
git clone https://github.com/yourusername/dotfiles.git ~/dotfiles
cd ~/dotfiles
stow .

📁 Structure

dotfiles/
├── .config/
│   ├── nvim/           # 🚀 Neovim configuration
│   ├── kitty/          # 🐱 Terminal emulator
│   ├── starship.toml   # ⭐ Shell prompt
│   ├── bat/            # 🦇 Syntax highlighter
│   ├── eza/            # 📁 File listing
│   ├── fastfetch/      # 🏃 System info
│   ├── lazygit/        # 🌿 Git TUI
│   ├── yazi/           # 📂 File manager
│   └── zellij/         # 🔲 Terminal multiplexer
├── .zshrc              # 🐚 Shell configuration
├── .gitconfig          # 📝 Git settings
└── setup.sh            # 🛠️ Installation script

🔧 Customization

Shell Aliases & Functions

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

# Git shortcuts
gs              # git status
ga              # git add
gc              # git commit
gp              # git push

Environment Variables

Key environment variables are configured:

  • EDITOR="nvim" - Default editor
  • AIDER_EDITOR="nvim" - AI coding assistant editor
  • MANPAGER="nvim +Man!" - Use Neovim for man pages

🐛 Troubleshooting

Common Issues

🔗 Symlink Conflicts

# Remove existing symlinks
stow -D .

# Clean up conflicting files
rm ~/.zshrc ~/.gitconfig

# Recreate symlinks
stow .

🐚 Shell Not Changing

# Make zsh default shell
chsh -s $(which zsh)

# Reload shell configuration
source ~/.zshrc

📦 Missing Dependencies

# 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

🚀 Neovim Issues

# Clear Neovim cache
rm -rf ~/.local/share/nvim
rm -rf ~/.cache/nvim

# Reinstall plugins
nvim +Lazy

🔍 FZF Not Working

# Reinstall FZF
~/.fzf/install --all

# Or via package manager
brew reinstall fzf  # macOS

🆘 Getting Help

  1. Check the troubleshooting section
  2. Review tool-specific documentation in .config/
  3. Open an issue with your system info and error message

🎯 Key Features

🚀 Productivity Boosters

  • 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

🎨 Visual Enhancements

  • 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

⚡ Performance

  • Fast Startup: Optimized shell configuration
  • Lazy Loading: Plugins and tools load only when needed
  • Smart Caching: Reduced redundant operations

🤝 Contributing

Feel free to fork this repository and customize it for your needs! If you have improvements or fixes, pull requests are welcome.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


Happy Coding! 🎉

Made with ❤️ and lots of ☕

About

Repo for dev setup on machines

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published