This repository contains my personal dotfiles, meticulously crafted to set up a consistent, productive, and aesthetically pleasing development environment across Linux systems. The goal is to automate the setup of my shell, tools, and configurations with a single, idempotent command.
This setup is built around a modern Zsh shell experience, enhanced by a curated set of command-line tools and a focus on efficient workflows.
- Modern Shell: Zsh, powered by Oh My Zsh, with a blazing-fast Starship prompt.
- Optimized Workflow: Integrates tools for fuzzy finding (
fzf), smart directory navigation (zoxide), and powerful text searching (ripgrep,fd). - Enhanced Editing: Neovim, configured with LazyVim, providing a feature-rich and highly customizable editing experience.
- Terminal Powerhouse: Tmux for robust terminal multiplexing and session management.
- Containerization Ready: Docker for seamless application containerization.
- Python Development:
uvfor extremely fast Python package management. - Organized Configuration: All configurations are neatly organized within a
config/directory and symlinked to their respective locations.
For a detailed log of the refactoring process and the current state of the dotfiles, please refer to GEMINI.md.
The setup process is fully automated by the install.sh script for Linux and install_macos.sh for macOS.
You need git and curl to be installed on your system before you begin.
-
Clone the repository:
git clone https://github.com/imtorrr/dotfiles.git ~/.dotfiles -
Run the installation script:
cd ~/.dotfiles ./install.sh
The script will:
- Detect your Linux distribution (Debian-based systems like Ubuntu are supported).
- Install all necessary system dependencies and tools.
- Set up Oh My Zsh and its plugins.
- Install and configure Neovim, Starship, Tmux, Docker, and other utilities.
- Create symbolic links for all configuration files.
-
Clone the repository:
git clone https://github.com/imtorrr/dotfiles.git ~/.dotfiles -
Run the installation script:
cd ~/.dotfiles ./install_macos.sh
The script will:
- Install Homebrew (if not already installed).
- Install all necessary system dependencies and tools via Homebrew.
- Set up Oh My Zsh and its plugins.
- Install and configure Neovim, Starship, Tmux, and other utilities.
- Create symbolic links for all configuration files.
After the script finishes:
- Change your default shell to Zsh (if it isn't already):
chsh -s $(which zsh) - Log out and log back in (or restart your terminal): This is crucial for all changes, especially user group additions (like
docker) and shell configurations, to take full effect. - Open Neovim: The first launch of Neovim with LazyVim will trigger plugin installations.
Enjoy your new, streamlined, and powerful development environment! ✨