This repository contains my dotfiles for Pradumnasaraf's macOS setup.
- Install Apple's Command Line Tools, which are prerequisites for Git and Homebrew.
xcode-select --install
- Clone repo into new hidden directory.
git clone https://github.com/Pradumnasaraf/.dotfiles.git ~/.dotfiles
- Create symlinks in the Home directory to the real files in the repo.
ln -s ~/.dotfiles/.gitconfig ~/.gitconfig
ln -s ~/.dotfiles/.zprofile ~/.zprofile
ln -s ~/.dotfiles/.zshrc ~/.zshrc
- Install Homebrew, followed by the software listed in the Brewfile.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
- Add Homebrew's installed location to your
$PATH
in~/.zprofile
:
eval "$(/opt/homebrew/bin/brew shellenv)"
- Install all the software in the Brewfile located in the root of this repo.
brew bundle --file ~/.dotfiles/Brewfile
- Install Oh My Zsh.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
- Install zsh-autosuggestions extension.
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
- Start MongoDB and set it to launch at startup. Docs for reference
brew services start mongodb-community
To check if MongoDB is running, run the following command:
brew services list
or
mongosh
brew bundle dump --describe --file ~/.dotfiles/Brewfile
If the Brewfile already exists, the above command will overwrite it. If you want to append to the existing Brewfile, use the following command:
brew bundle dump --describe --file ~/.dotfiles/Brewfile --force
Follow the steps mentioned in the link below to setup a GPG key for signing commits. https://docs.github.com/en/authentication/managing-commit-signature-verification/generating-a-new-gpg-key
After setting up to sign commits, run the following commands to configure git to sign all commits by default.
git config --global user.signingkey <GPG Key ID>
git config --global commit.gpgsign true
If you discover any security related issues, please check the security policy for more information.