Welcome to my personal dotfiles repository! This collection of configuration files and scripts is designed to quickly set up a consistent and productive MacOS development environment. Whether you're setting up a new machine or just looking to improve your current setup, these dotfiles have got you covered.
This repository contains configurations for:
- Zsh (shell)
- Git
- Vim and Neovim
- tmux
- Visual Studio Code
- Alacritty (terminal emulator)
- Various development tools (pyenv, nvm, jenv, etc.)
- A curated list of Homebrew packages and casks
- One-Command Setup: Get your entire development environment configured with a single script.
- Modular Configuration: Easily customize or extend the setup to suit your needs.
- Git Profile Management: Separate configurations for personal and work Git profiles.
- Visual Studio Code Integration: Synced settings and extensions for VS Code.
- MacOS Preferences: Sensible defaults for MacOS to enhance productivity.
-
Clone this repository:
git clone https://github.com/Jalmeida1994/dotfiles.git ~/dotfiles
-
Navigate to the dotfiles directory:
cd ~/dotfiles
-
Run the setup script:
./setup.sh
-
(Optional) Set up SSH and GPG keys: If you choose 'yes' when prompted during setup, the script will guide you through creating SSH and GPG keys for secure Git operations.
-
Restart your terminal or run
source ~/.zshrc
to apply the changes.
The setup.sh
script performs the following actions:
- Symlinks configuration files to your home directory.
- Installs Homebrew if not already present.
- Installs a curated list of Homebrew packages and casks.
- Sets Zsh as the default shell.
- Configures fzf for fuzzy finding.
- Applies custom MacOS preferences.
- Sets up a global gitignore file.
- Installs Visual Studio Code extensions.
- Installs Neovim plugins.
- Optionally sets up SSH and GPG keys for Git.
Feel free to fork this repository and modify any configurations to suit your needs. Here are some common customization points:
- Homebrew Packages: Edit the
Brewfile
to add or remove packages. - Zsh Configuration: Modify
.zshrc
to change shell behavior, aliases, or add new functions. - Git Configuration: Adjust
.gitconfig
,.gitconfig-personal
, and.gitconfig-work
for your Git preferences. - VS Code Settings: Update
vscode/settings.json
andvscode/extensions.txt
for your ideal VS Code setup. - Vim/Neovim: Customize
.vimrc
or.config/nvim/init.lua
for your editor preferences.
To keep your dotfiles up to date:
- Make changes to the relevant files in your
~/dotfiles
directory. - Commit and push your changes to your GitHub repository.
- On other machines, pull the latest changes and re-run
./setup.sh
.
If you choose to set up SSH and GPG keys during the installation:
- The script will generate new SSH keys for personal and work use.
- It will also create GPG keys for signing your Git commits.
- Follow the prompts to enter your information.
- After setup, add the displayed public keys to your GitHub account(s).
- If you encounter any issues during setup, check the console output for error messages.
- Ensure you have sufficient permissions to install software on your machine.
- For problems with specific tools, consult their respective documentation.
If you have suggestions for improving these dotfiles, please open an issue or submit a pull request. Contributions are always welcome!
This project is open source and available under the MIT License.
Happy coding! 🚀