dotfiles

tl;dr
Enjoy my dotfiles and learn how to maintain a repo of your dotfiles without symlinking or other complicated, easy-to-forget processes.

What are dotfiles?

About my dotfiles

My UN*X dotfiles (configuration files).

These will work on most *NIX environments; they' started back on 1980s UNIX distributions and have followed me to macOS. Some of these files are in use on the Windows Subsystem for Linux, so there's that.

Each the files in this repo has been added because I want to:

  • have easy access for deployment on new UN*X machines I wind up working on, including my go-to platform, macOS [Darwin].
  • share with others those things over the years I've found useful, productive, and fun.

I've commented as heavily as possible, used some interesting bash techniques to get things done, and generally tried to stay out of the way of my future self whilst making it possible to go back and tweak and add features without cursing my past stelf too much :-)

Comments and corrections are always welcome.

Michael

cd $HOME
alias df='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
df config --local status.showUntrackedFiles no
echo "alias df='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'" >> $HOME/.ba*le
echo ".cfg" >> .gitignore
git clone --bare mickeys:mickeys/dotfiles.git $HOME/.dotfiles



df push --set-upstream origin master



df add .bash_profile ; df commit -m 'initial commit' ; df push

OLDER, OBSOLETE EXPLANATION -- TO-DO: MERGE W ABOVE

Feel free to peruse these, and even to use them as a start for your own use. I have stood on the shoulders of giants, although all mistakes are my own (and,, besides, it's turtles all the way down, so now it's your turn to bulid for those who follow).

Symlink each of these into your home directory by

for d in ~/dotfiles/.[a-z]* ; do ln -sv $d ~ ; done

the tools

For a thoughtful, hard-core look at dotfile management, visit http://dotfiles.github.io.

À Propos nothing at all, a note about the tools I've used to generate these README files on github:

  • on-line: dillinger.io is a WYSIWYG side-by-side Markdown editor
  • off-line: on my Mac I use MacDown for the same functionality. I especially like ability to toggle CSS formatting files to use Markdown for other documentation purposes.


the files

filename purpose
.bash-ck CK-centric bash run-commands file for dealing with local (laptop) and remote (vagrant) instances.
.bash_profile Primary workhorse for customizing your bash experience. My .bashrc_profile includes a test yoke, which you can switch on to validate the internal functions I've written. I'm a quality assurance software engineer, and I'm really proud of giving this file the full software reliability treatment.
.gitconfig git configuration
.gitignore Local additions for things git should ignore, extending .gitignore_global.
.gitignore_global A master .gitignore based upon the collected wisdom we call https://www.gitignore.io.
.grc/ Radovan Garabík's Generic Colouriser is an almost-trivial way to colorise text output from any program. Makes everything easier.
.inputrc Changes input processing for all programs that use readline (like bash, python, etc) and turbo-charges what you can do with fingers still on the keyboard
.macos Mathias Bynens' jaw-dropping magnum opus of default write commands that tweak every aspect of macOS (found in his own dotfiles repo).
.set_colors.sh Provide color shortcuts for shell prompts, etc.
.set_prompt.sh Create an easy-to-love command shell prompt.
.vimrc Configure the vim text editor to be borderline awesome.
bin My home-grown binaries (programs)
README.md This very file.

It's possible that the real world has gotten ahead of my documentation; you may see files checked in that aren't mentioned here. Sorry.

Citations

[1] The best way to store your dotfiles: A bare Git repository
[2] I use: git init --bare $HOME/.myconf alias config='/usr/bin/git --git-d... | Hacker News