This is a living document that describes how to set up my personal development environment. This is tailored to my personal preferences and needs.
Install Xcode Command Line Tools:
xcode-select --install
Install Homebrew as mentioned on the official website:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Setup SSH keys for GitHub:
# Generate a new SSH key
ssh-keygen -f ~/.ssh/github -t ed25519 -C "<email>"
# Start the ssh-agent in the background
eval "$(ssh-agent -s)"
# Add your SSH private key to the ssh-agent
ssh-add --apple-use-keychain ~/.ssh/github
# Copy the SSH public key to the clipboard
pbcopy < ~/.ssh/github.pub
# Add the SSH public key to your GitHub account
open "https://github.com/settings/ssh"
# Verify that the SSH key is added successfully
ssh -T git@github.com
Clone the dotfiles
repository under the ~/dotfiles
directory:
git clone git@github.com:dhruvmanila/dotfiles.git
Install the preferred packages mentioned in the Brewfile
:
brew tap homebrew/bundle
# prints output from commands as they are run ┐
# │
HOMEBREW_NO_AUTO_UPDATE=1 brew bundle install -v --no-lock --file ~/dotfiles/src/package/Brewfile
# │
# don't output a `Brewfile.lock.json` file ┘
brew cleanup
Note
Usually, you wouldn't want to install all the packages mentioned in the Brewfile
.
Prefer to install only the packages that you need.
Symlink the custom scripts to the ~/.local/bin
directory:
ln -vsf ~/dotfiles/bin/* ~/.local/bin
Create the symlinks between the files in the dotfiles
repository and the home directory:
# It'll prompt you before creating each symlink
~/dotfiles/bin/link
Note
You can force it to create the symlinks without prompting by passing the --force
flag
but that's not recommended.
Setup the Python development environment using the pyenv
script. Refer to pyenv --help
for more information.
Install the global packages for multiple programming languages:
- For Python, use
pipx
with therequirements.txt
file. - For Node.js, use
npm
with thenode_modules.txt
file. - For Rust, use
cargo
with thecargo_packages.txt
file.
Build the latest stable Neovim version:
Note
Make sure the build prerequisites are installed before building Neovim from source.
mkdir ~/git && cd ~/git
git clone git@github.com:neovim/neovim.git && cd ~/git/neovim
# Install the latest stable version
git checkout stable
# Build Neovim
make CMAKE_BUILD_TYPE="Release" CMAKE_EXTRA_FLAGS="-DCMAKE_INSTALL_PREFIX=${HOME}/neovim" install
Build nnn
terminal file manager with nerd-font icons:
mkdir ~/git && cd ~/git
git clone git@github.com:jarun/nnn.git && cd ~/git/nnn
# Refer to https://github.com/jarun/nnn to get the latest stable version
git checkout <latest>
# Install with nerd-font icons
PREFIX=~/.local make O_NERD=1 install
Setup MacOS dock
applications and update the preferences.