Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time

I do dotfiles!

Config files for zsh, bash, git, completions etc. to set up a system the way I like it. ~/.jogendra

Jogendra's Iterm2

NOTE: The dotfiles is configured for MacOS machine. Most of the things expected to work on all machines running unix based operating systems.


I went through many dotfiles before deciding structure of this dotfiles, I found holman way the best, Thanks to holman dotfiles. What he used is called Topical organization which is organizing the different parts of dotfiles in directories, each entitled to a specific subject. By topical organization, all AppleScripts go inside the AppleScript/ directory, git settings are in a git/ directory, and so on. Everything's built around topic areas. If you're adding a new area to your forked dotfiles — say, "vscode" — you can simply add a vscode directory and put files in there.

There's a few special files in the hierarchy:

  • bin/: Anything in bin/ will get added to your $PATH and be made available everywhere.
  • topic/*.zsh: Any files ending in .zsh get loaded into your environment.
  • topic/path.zsh: Any file named path.zsh is loaded first and is expected to setup $PATH or similar.
  • topic/completion.zsh: Any file named completion.zsh is loaded last and is expected to setup autocomplete.
  • topic/ Any file named is executed when you run installers/install. To avoid being loaded automatically, its extension is .sh, not .zsh.
  • topic/*.symlink: Any file ending in *.symlink gets symlinked into your $HOME. This is so you can keep all of those versioned in your dotfiles but still keep those autoloaded files in your home directory. These get symlinked in when you run installers/bootstrap.



git clone ~/.dotfiles
cd ~/.dotfiles

This will symlink the appropriate files in .dotfiles to your home directory. Everything is configured and tweaked within ~/.dotfiles.

The main file you'll want to change right off the bat is zsh/zshrc.symlink, which sets up a few paths that'll be different on your particular machine.

Pimp my Terminnal

I will soon be writing detailed blog post on how my iTerm is customized.




This repository is under MIT License. Check LICENSE file for more information.