Home

Awesome

Dotfiles

My shell configuration files.

Why is this a git repo?

To keep track of these files. My dotfiles are based very heavily on Cowboy's dotfiles.

That command is dotfiles, and this is my "dotfiles" Git repo.

What, exactly, does the "dotfiles" command do?

It's really not very complicated. When dotfiles is run, it does a few things:

  1. Git is installed if necessary, via APT or Homebrew (which is installed if necessary).
  2. This repo is cloned into the ~/.dotfiles directory (or updated if it already exists).
  3. Files in init are executed (in alphanumeric order, hence the "50_" names).
  4. Files in copy are copied into ~/.
  5. Files in link are linked into ~/.

Note:

Installation

OS X Notes

Ubuntu Notes

Actual Installation

bash -c "$(curl -fsSL https://raw.githubusercontent.com/evanchiu/dotfiles/master/bin/dotfiles)" && source ~/.zshrc

The ~/ "copy" step

Any file in the copy subdirectory will be copied into ~/. Any file that needs to be modified with personal information (like .gitconfig which contains an email address and private key) should be copied into ~/. Because the file you'll be editing is no longer in ~/.dotfiles, it's less likely to be accidentally committed into your public dotfiles repo.

The ~/ "link" step

Any file in the link subdirectory gets symbolically linked with ln -s into ~/. Edit these, and you change the file in the repo. Don't link files containing sensitive data, or you might accidentally commit that data!

Scripts

In addition to the aforementioned dotfiles script, there are a few other scripts. This includes ack, which is a git submodule.

Inspiration

https://github.com/cowboy/dotfiles

License

Copyright (c) 2018 Evan Chiu

Licensed under the MIT license