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
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/install.sh: Any file named
install.sh
is executed when you runinstallers/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 runinstallers/bootstrap
.
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.
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.