Skip to content

Latest commit

 

History

History
93 lines (65 loc) · 3.57 KB

README.md

File metadata and controls

93 lines (65 loc) · 3.57 KB

My $HOME (there are many like them...)

I use Git to manage my home directory:

  • set up to ignore everything by default
  • and then whitelist what git should track
  • notably I do not use any sort of symlink indirection between a "dotfiles repository" and $HOME itself

Where I do find indirection useful is at review time:

  • $HOME's only remote is a local repository, such as $HOME/home-int
  • $HOME is on a context-specific non-master branch (e.g. patron, personal, server, etc)
  • $HOME/home-int then can mediate between various remotes, like:
    • Github for sharing the master branch
    • private git servers for personal and patron branches
  • $HOME is setup to automatic checkout when pushed into

All of this allows me to:

  • quickly commit any changes in $HOME before they become forgotten
  • reconciliation (merging, rebasing, etc) so that any conflicts or other artifacts do not break my actual $HOME
  • easily separate public vs private changes without much risk of leaking private details to Github

Git

Since much of my workflow as a programmer revolves around managing changes, my git config is one of the most vital parts of my setup; especially its [alias] section and custom [pretty] formats (for git-log)

(Neo)Vim

The only thing I use more than git is my $EDITOR: NeoVim a modernized fork of Vim

So that I can still use systems without neovim my, I have a a unified .vimrc and .config/nvim/init.vim

I try to keep my vim config cleanly organized using manual fold markers, and by separating out anything beyond simple settings changes into separate plugins

Its darkula color scheme is one that I assembled after reaching dissatisfaction with other available choices

Basic Shell Setup: .profile, .bashrc, and .zshrc

While I'm primarily a Zsh user, I do occasionally use bash

I keep a clear separation between between non-shell specific environment in .profile and any shell-specific things in that shell's config

The Zsh config lives in: .zshenv and .zshrc with modules broken out in .zsh/

The Bash config lives in .bash_profile and .bashrc

Both share a common .aliases file

Shell Orchestration: TMux (RIP Screen)

I use TMux for terminal multiplexing its config is kept in .tmux.conf; including a darkula colorscheme

All The Colors

The color scheme that I use, is one that I assembled called darkula; it's derived from Jet Brains Dracula, but further darkened a bit

Key to working 24-bit color, especially in like Mac OS X:

Then you can turn up the color in various places: