dotfiles icon indicating copy to clipboard operation
dotfiles copied to clipboard

@anmoljagetia's Dotfiles! Saves me several seconds!

#+begin_src

               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'

#+end_src

  • Dotfiles

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.

  • Installation

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.

#+begin_src bash

git clone [email protected]:anmoljagetia/dotfiles.git ~/dotfiles cd ~/dotfiles ./install.sh

#+end_src

  • The Directory Structure

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 | |--------------+---------------------------------------------------------------------------------------------|

** Terminal

This directory contains the custom colorschemes that I use with iterm and terminal applications. These colors are optimised for dark backgrounds and my colorschemes.

** bash

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.

** bin/external_bin

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.

** emacs

This directory contains my =.spacemacs= and my =.spacemacs.d= directories. These personal configs will be moved to a personal layer in the future.

** functions

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.

** git

This is where my =git_config= sits. It's extremely minimal and there is also a global =gitignore_global= that I use.

** hammerspoon

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.

** node

Configurations for nodejs installation.

** sublime

Configuration for Sublime Text. These are old and unmaintained since I don't use Sublime Text anymore.

** tmux

** vim

** zsh