This repository contains my dotfiles for bootstrapping a new Mac for development. It includes setup for version management using nvm
for Node.js and pyenv
for Python. Feel free to explore, learn and copy parts for your own dotfiles. Enjoy!
Command Line Tools are prerequisites for Git and Homebrew. Run the following command to install them:
xcode-select --install
You can clone this repository into a new hidden directory using SSH or HTTPS. Make sure you recursivly install the sub modules to avoid only installing the root repository.
-
SSH:
git clone --recurse-submodules git@github.com:LorenaGarcia-Foncillas/.dotfiles.git ~/.dotfiles
-
HTTPS:
git clone --recurse-submodules https://github.com/LorenaGarcia-Foncillas/.dotfiles.git ~/.dotfiles
Create symlinks in your Home directory to point to the actual files in this repo.
ln -s ~/.dotfiles/.zshrc ~/.zshrc
ln -s ~/.dotfiles/.gitconfig ~/.gitconfig
Run the following commands to install Homebrew and the software listed in the Brewfile
.
# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install packages from Brewfile
brew bundle --file ~/.dotfiles/Brewfile
- Follow GitHub's guide for generating a new GPG key.
- Save the signing key in a new file at the root of this repository called
.signingkey.gitconfig
. An example configuration file called.example.signingkey.gitconfig
is provided for your reference. - Add the GPG key to GitHub's recognized GPG keys.
- You may need to add the path to pinentry-mac to the ".gpugp/gpg-agent.conf", e.g. pinentry-program /usr/local/bin/pinentry-mac
When looking to install any new applications, seach online for the brew name of the application. Then add this to the brew file. We have a command to update all github submodules, brew libraries and brew applications, and remove anything that was once installed with brew and now not currently present in the brew file. this is by running
bash update.sh
- macOS Defaults - Website
- Dotbot for Automating Symlinks - GitHub Repo
nvm
for Node.js Version Management - GitHub Repopyenv
for Python Version Management - GitHub Repo- Bootable USB installer for macOS - Apple Support Guide
- More Dotfiles Inspiration - Website