/dotfiles

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

Primary LanguageShellMIT LicenseMIT

I do dotfiles!

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

https://jogendra.github.io/i-do-dotfiles

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.

Components

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/install.sh: Any file named install.sh 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.

Install

Run:

git clone https://github.com/jogendra/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
installers/bootstrap

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.

gitlazy

gotop

License

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