🛠 .dotfiles

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!


🚀 Getting Started

Step 1: Install Apple's Command Line Tools

Command Line Tools are prerequisites for Git and Homebrew. Run the following command to install them:

xcode-select --install

Step 2: Clone This Repository

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

Step 3: Create Symbolic Links

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

Step 4: Install Homebrew and Software Packages

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

Step 5: Create and Register GPG Keys

  1. Follow GitHub's guide for generating a new GPG key.
  2. 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.
  3. Add the GPG key to GitHub's recognized GPG keys.
  4. 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

User Guide.

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

📚 Additional Resources