Welcome to my dotfiles repository! This setup is built for a zsh shell environment, with carefully tuned configurations for tmux and Neovim to enhance productivity and developer happiness.
This setup is built for myself and is just a source of inspiration. I'm ok with you copying everything, but I'll probably not be giving support to all platforms and shells.
Here's a sneak peek of what your terminal could look like after applying these dotfiles:
Terminal (zsh + tmux + Neovim):
Follow these steps to reproduce this setup on your own machine.
Make sure you have the following installed:
- zsh: Install using your package manager (e.g.,
brew install zsh
orsudo apt install zsh
). - tmux: A terminal multiplexer (e.g.,
brew install tmux
orsudo apt install tmux
). - Neovim: A modern Vim-based editor (e.g.,
brew install neovim
orsudo apt install neovim
). - GNU Stow: For managing and symlinking dotfiles (e.g.,
brew install stow
orsudo apt install stow
).
git clone https://github.com/arthur404dev/dotfiles.git ~/dotfiles
cd ~/dotfiles
If you have existing configurations for zsh, tmux, or Neovim, back them up first:
mv ~/.zshrc ~/.zshrc.backup
mv ~/.tmux.conf ~/.tmux.conf.backup
mv ~/.config/nvim ~/.config/nvim.backup
This repository uses GNU Stow to manage and symlink dotfiles. Stow makes it easy to keep your dotfiles modular and organized.
To apply the dotfiles:
stow .
- GNU Stow creates symbolic links from
~/dotfiles/<module>
to your home directory. - For example:
~/dotfiles/zsh/.zshrc
→~/.zshrc
~/dotfiles/tmux/.tmux.conf
→~/.tmux.conf
~/dotfiles/nvim/init.vim
→~/.config/nvim/init.vim
If you'd like to apply specific configurations only:
stow <module>
# Example: stow zsh
Some configurations may rely on additional tools. Install them using your preferred package manager:
brew install fzf ripgrep bat exa
chsh -s $(which zsh)
Log out and back in to apply the changes.
Feel free to modify the configurations to suit your needs! Each module is neatly separated into directories (zsh
, tmux
, nvim
), so you can tweak them individually.
- Start Small: Focus on one tool at a time (e.g., zsh first, then Neovim).
- Experiment Safely: Use version control (like Git) to track changes to your dotfiles.
- Learn and Adapt: Look into the comments in each config file for explanations and tips.
Once you've configured your environment, feel free to share your own screenshots! Raise an issue or start a discussion in this repo to show off your tweaks.
PRs are welcome! If you spot improvements, open an issue or submit a pull request.
This repository is licensed under the MIT License. Feel free to use, modify, and share.