d88P 888 888 .d888 d8b 888 d88P 888 888 d88P" Y8P 888 d888b d88 d88P 888 888 888 888 d888888888P d88P .d88888 .d88b. 888888 888888 888 888 .d88b. .d8888b 88P Y888P d88P d88" 888 d88""88b 888 888 888 888 d8P Y8b 88K d88P 888 888 888 888 888 888 888 888 88888888 "Y8888b. d88P d8b Y88b 888 Y88..88P Y88b. 888 888 888 Y8b. X88 d88P Y8P "Y88888 "Y88P" "Y888 888 888 888 "Y8888 88888P'
I really like to configure my system in every possible way so that it can be used for a more personalized experience. This repository holds how I do it. The goal here is to update my machine with better™ system defaults, preferences, software configuration and even auto-install some handy development tools and apps.
The easiest way to install these dotfiles is to clone the repository and then run the installer script. This will install the necessary packages, clone other dependent repositories and try and configure the system in as automated fashion as possible.
git clone git@github.com:anmoljagetia/dotfiles.git ~/dotfiles
cd ~/dotfiles
./install.sh
The dotfiles are organized in the following way
directory | purpose |
---|---|
Terminal | Settings for the colors and settings for the macos terminal and iterm |
bash | My bash shell configurations |
bin | Stores all the handy nifty binaries that I use. This directory is also added to system path |
external_bin | Stores all the external binaries that need to be added to PATH |
emacs | My emacs settings |
functions | These functions are lazy loaded using z shell |
git | My git settings |
hammerspoon | Hammerspoon settings for macos automation |
install.sh | The installer script |
node | Node packages and defaults |
sublime | Settings for ST3. Slightly outdated since I don’t use sublime extensively anymore |
tmux | My tmux configuration |
vim | My vim configuration |
zsh | My z-shell configuration |
This directory contains the custom colorschemes that I use with iterm and terminal applications. These colors are optimised for dark backgrounds and my colorschemes.
There are two major files here. bash_profile
and bashrc
. Since I don’t use bash extensively, my bashrc is pretty basic however I use bash_profile
to load all the folders that I need to add to system PATH and configure other environments.
This directory is added to path and containes lot of nice small utilities that I use frequently. The external_bin
directory is used to store binaries that are downloaded of the internet. This is done to avoid adding them to version control and have a central place where they can be accessed and re-downloaded on any new computer. There is also a documentation available in the external_bin
repo.
This directory contains my .spacemacs
and my .spacemacs.d
directories. These personal configs will be moved to a personal layer in the future.
This is where all functions are stored. These are lazy loaded at run-time so the prompt doesn’t get slow. There are a lots of them and they provide for accessing utilities that are installed on the system in a more efficient manner.
This is where my git_config
sits. It’s extremely minimal and there is also a global gitignore_global
that I use.
This is one of the most important folders in my dotfiles. Hammerspoon has transformed the way I use my mac. I have so many additonal shortcuts and customizations setup using Hammerspoon that I will have to maintain a seperate Wiki for the same.
Configurations for nodejs installation.
Configuration for Sublime Text. These are old and unmaintained since I don’t use Sublime Text anymore.