I started off with a modified version of my own dotfiles, based on Holman's, but have slowly been updating it to be more akin to what Pengwynn and Yonk have built/modified.
Check theirs out, or many others at octodots.
If you're new to dotfiles, this probably isn't the best starter repository for you. While these started as a clone of Holman's, many utilities are unique to my workflow. I recommend other dotfile frameworks out there.
If you want to kick the tires, then simply:
git clone https://github.com/megalithic/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
setup/bootstrap
The install script will symlink the appropriate files in .dotfiles
to your
home directory. Everything is configured and tweaked within ~/.dotfiles
,
though. All files and folders ending in .symlink
get, you guessed it,
symlinked. For example: ~/.dotfiles/vim/vimrc.symlink
gets symlinked to
~/.vimrc
.
This also sets up things like homebrew if you're on a mac, and even allows for a private repository setup.
I highly recommend you dig into the scripts and configs to see what all is going on before you willy-nilly install a stranger's shell scripts. :)
A few of the flavors I roll with:
- Homebrew
- Hammerspoon
- 24-bit color patched version of tmux
- Teamocil for automagic tmux layouts
- Several shell scripts for getting the info I want on my tmux statusbar (take
a gander at
~/.dotfiles/bin
fortmux-
prefixed scripts). - Font: Source Code Pro (patched with powerline, octicon, fontawesome glyphs)
- iTerm2 colorscheme: base16-ocean dark
- Neovim colorscheme: base16-ocean dark
- Zsh prompt: a base of pure, with some modified VCS functionality (for super in-depth vcs status output).
- Weechat
The file 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/*.symlink: Any files ending in
*.symlink
get 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 runscript/bootstrap
. - topic/*.completion.sh: Any files ending in
completion.sh
get loaded last so that they get loaded after we set up zsh autocomplete functions.
Use ~/.localrc
as your location for sensitive information. Optionally, you
can let setup/bootstrap
handle the cloning of your private repo to
~/.dotfiles/private, which will execute an install script, assuming it's
located at ~/.dotfiles/private/install.sh
.
- nerd fonts!!!!
- patched fonts more (with tools)
- xterm color chart
- [https://github.com/herrbischoff/awesome-command-line-apps][]
- [https://github.com/herrbischoff/awesome-osx-command-line][]
My original dotfiles and this revamped version began as a fork of (and is heavily inspired by) Zach Holman's dotfiles, whose topic-based symlinking approach makes this so easy.
I also have stolen freely from:
- Wynn Netherland
- Adam Yonk
- Zach Holman
- Mathias Bynens
- Yan Pritzker
- Josh Clayton
- Adam Jahnke
- Tom Ryder
- Steve Losh
If you've got a great set of dots (or want to get started), check out dotfiles.github.com. Ping @octodots with great dot sets you've found or tips and tricks for your favorite tools. If you have any questions about my specific setup here, feel free to hit me up at @megalithic.