/dotfiles

Configuration repository containing most customized home folder dotfiles.

Primary LanguageShell

Header

Screenshot

I was tired of having a bunch of configurations across all my machines, especially when trying to keep all the plugins and extras up to date. So I got fed up and threw them on GitHub. It's not perfect (yet!), but it's a great starting point for any Linux config.

These configurations are based from an Arch Linux system running i3wm and compton + xterm/zsh, however most of the files should be usable without dependencies on the others.

Releases 2.0+ provide automated install support using my fork of dotbot. See Install for instructions.

Contents

i3 Configuration

  • $mod set to Win key
  • Sauce Code for Powerline font - size 10 regular
  • 1px borders
  • Improved window movement between outputs ($mod+arrows)
  • Named/numbered workspaces, each with switch and move bindings
  • Top hidden bar
  • Custom dmenu1/2 compatability
  • Optionally autostarts (if installed):

Tmux Configuration

  • Ctrl+a prefix
  • Enhanced clipboard support
  • Mouse support
  • Simplified split window bindings
  • Vim main keybindings

Vim Configuration

  • 4 spaced tabs
  • Autocompletion always on
  • Case insensitive search
  • Cursor crosshair
  • Dark background
  • Global config base
  • Global highlighting of search matches
  • Dracula theme
  • Marks in gutter
  • Mouse support
  • NERDTree Configuration
  • Numbered lines
  • Rainbow Parentheses Configuration
  • TAB toggles Taglist
  • Tons of plugins through Pathogen
  • Trailing whitespace highlighting

X11 Configuration

  • Autostarts ssh-agent
  • Caps Lock remapped to Escape
  • DPI set to 96
  • Default WM is i3
  • Font antialiasing and rgb hinting
  • Loads default screenlayout
  • NVIDIA scrolling tweaks when nvidia-settings is installed
  • Xbindkeys for volume and brightness controls

Xterm Configuration

  • 256 color mode enabled
  • 4096 lines saved
  • Autostarts tmux with dux script
  • Custom colorscheme
  • Iconsolata for Powerline font - size 16 regular
  • UTF8 enabled

Zsh Configuration

  • $EDITOR is vim
  • Aliases file
  • Custom $PATH
  • Custom prompt with git support
  • Scripts folder (~/.zsh.d)
  • ssh-agent auto start
  • Syntax highlighting
  • Work-in-progress

Optional Dependencies

Vim:

Zsh:

Submodules

General:

Zsh:

Vim:

Install

Clone the repo and its submodules, then install links. The install will not override any configs by default.

git clone https://github.com/csivanich/dotfiles.git && \
cd dotfiles && \
git submodule update --init --recursive && \
./install.sh

If errors occur due to existing files, move them and try again:

mv <config file> <config file>.bak

The install can be retried with ./install.sh

Update

Included is an ./update.sh script which fetches and rebases upstream changes, updates submodules and installs the new configs.

cd /path/to/dotfiles
./update.sh

Or if you don't trust my scripts (why should you?), you can update manually:

git fetch -vp --tags # Update refs
git rebase origin/master # Bring in new changes
git submodule update --init --recursive # Update submodules
python2 libs/github/dotbot/bin/dotbot -d ./ -c install.conf.json # Install/clean links