This repository provides a streamlined setup for managing dotfiles and configuring a new development environment on macOS and Linux, utilizing GNU Stow for dotfile management.
- Install Xcode Command Line Tools:
xcode-select --install
Note: Homebrew Cask is included with Homebrew and will be used to install macOS applications automatically. This eliminates the need for manual "drag and drop" installation of GUI applications.
- Install build essentials, git, and ZSH:
sudo apt-get update
sudo apt-get install -y build-essential git zsh
- Set ZSH as default shell (restart required):
chsh -s $(which zsh)
Note: You'll need to log out and back in for the shell change to take effect.
- Clone the repository:
git clone https://github.com/lelopez-io/.dotfiles.git ~/.dotfiles
cd ~/.dotfiles
- Run the setup script:
./setup/scripts/install.sh
After running the install script, you should:
- Restart your terminal
- Run
tmux
and pressprefix + I
to install tmux plugins - Open neovim to install plugins automatically
This will:
- Configure your preferences (applications, git settings)
- Git name and email
- Global gitignore file
- Default branch name (main)
- Install core tools via Homebrew
- Setup language environments (Node.js, Python, Ruby)
- Link dotfiles using GNU Stow
If you prefer to manage dotfiles manually without the automatic setup:
# Install Stow package
brew install stow
# Create symlinks (this won't overwrite any existing files)
stow . --adopt
# Review changes in Git and commit any you want to adopt
# Discard all "adopted" changes if you only want to use what is present in this repo
The following tools can be installed after the initial setup, depending on your development needs:
- Flutter SDK
- Android Studio
- Xcode (MacOS only)
Linking entire directories, such as nvim
, is recommended to avoid rerunning Stow when subdirectories or files are added.
# Delete the existing directory if everything already matches
rm -Rf ~/.config/nvim
# Re-run Stow to create a link to the `nvim` directory in this repo
stow . --adopt
The setup is configurable through an interactive prompt that allows you to:
- Select which applications to install
- Configure Git credentials
- Choose development tools
- Select productivity applications
To reconfigure at any time:
./setup/configure.sh
The setup also creates symlinks for:
.gitignore
→~/.gitignore
(used as global git excludes file).env.aider
→~/.env.aider
(for aider configuration access from any directory)