Configurationize all the things
Shell Vim script Python Emacs Lisp PowerShell Ruby Other
Latest commit 4d34265 Jan 29, 2017 @myfreeweb stuff
Permalink
Failed to load latest commit information.
bin stuff Jan 8, 2017
certs add riseup cert Nov 4, 2013
dev-base stuff Jan 29, 2017
emacs stuff Jan 22, 2015
firefox remove firefox custom theme, keep only some tweaks Apr 16, 2016
freebsd stuff Jan 2, 2017
haskell add devd, modd binaries; stack split-objs Dec 22, 2016
hexchat ohai Kramell Nov 14, 2016
lein remove most of the clojure stuff Nov 10, 2015
lua add mjolnir Sep 4, 2014
mail ssh tpm, desktop opensmtpd Dec 29, 2015
node things Oct 24, 2015
ocaml add ocaml Jul 12, 2014
osx stuff May 21, 2016
python stuff Oct 15, 2015
ranger more x stuff Jan 22, 2016
ruby stuff Oct 15, 2015
tmux tmux paste Oct 30, 2016
vim stuff Jan 29, 2017
windows windows monitor turn off hotkey Oct 30, 2016
x11 stuff Jan 2, 2017
zsh stuff Jan 8, 2017
.gitattributes Windows stuff Aug 21, 2016
.gitmodules deer, monitpush Dec 15, 2016
.mailmap tmux mouse, git mailmap Jan 31, 2015
README.md wayland stuff Dec 23, 2016
install.sh stuff Oct 26, 2015
quakelive.cfg psqlrc, runjava and stuff Jan 3, 2014
rinstall.sh things Nov 12, 2015

README.md


                 ▄▀▀                                     █                  ▄
 ▄▄▄▄▄  ▄   ▄  ▄▄█▄▄   ▄ ▄▄   ▄▄▄    ▄▄▄  ▄     ▄  ▄▄▄   █▄▄▄              █ 
 █ █ █  ▀▄ ▄▀    █     █▀  ▀ █▀  █  █▀  █ ▀▄ ▄ ▄▀ █▀  █  █▀ ▀█            █  
 █ █ █   █▄█     █     █     █▀▀▀▀  █▀▀▀▀  █▄█▄█  █▀▀▀▀  █   █           █   
 █ █ █   ▀█      █     █     ▀█▄▄▀  ▀█▄▄▀   █ █   ▀█▄▄▀  ██▄█▀          █    
         ▄▀                                                            ▀     
        ▀▀                                                                   

     █           ▄      ▄▀▀    ▀    ▀▀█                 
  ▄▄▄█   ▄▄▄   ▄▄█▄▄  ▄▄█▄▄  ▄▄▄      █     ▄▄▄    ▄▄▄  
 █▀ ▀█  █▀ ▀█    █      █      █      █    █▀  █  █   ▀ 
 █   █  █   █    █      █      █      █    █▀▀▀▀   ▀▀▀▄ 
 ▀█▄██  ▀█▄█▀    ▀▄▄    █    ▄▄█▄▄    ▀▄▄  ▀█▄▄▀  ▀▄▄▄▀ 


I definitely spend waaaaaay too much time configuring software I use.

dotfiles

Modular dotfiles!

  • A module is a directory with an apply.sh file that installs the dotfiles the module contains
  • install.sh installs multiple modules on the local machine
  • rinstall.sh installs multiple modules on a remote machine using SSH
  • osx/packages.sh and osx/apps.sh installs OS X Homebrew packages
  • freebsd/desktop.sh installs FreeBSD packages and system settings for a desktop

  • XDG-style ~/.config/application-name/config-file-name paths are preferred

  • Binaries are placed into ~/.local/bin (and go, pip, npm, cpan, cargo, etc. are configured to use that directory)
  • Repos are placed into ~/src using Go conventions (e.g. ~/src/github.com/myfreeweb/dotfiles). $GOPATH is ~ and ghq is used to clone non-Go repos there
  • Keyboard configuration is mostly based on A Modern Space Cadet

Installation

Common setup (FreeBSD)

# portsnap fetch extract
# pkg install git sudo
# visudo
$ git clone git@github.com:myfreeweb/dotfiles ~/src/github.com/myfreeweb/dotfiles
$ cd ~/src/github.com/myfreeweb/dotfiles
$ git submodule update --init --recursive
$ (cd freebsd && sudo ./desktop.sh)
$ ./install.sh dev-base bin tmux zsh vim x11 python ruby
$ chsh -s /usr/local/bin/zsh
$ zsh

Common setup (OS X)

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew install git
$ git clone git@github.com:myfreeweb/dotfiles ~/src/github.com/myfreeweb/dotfiles
$ cd ~/src/github.com/myfreeweb/dotfiles
$ git submodule update --init --recursive
$ ./osx/packages.sh
$ ./osx/apps.sh
$ PCKEYBOARD=1 ./install.sh dev-base bin tmux zsh vim osx python ruby
$ sudo sh -c 'echo "/usr/local/bin/zsh" >> /etc/shells'
$ chsh -s /usr/local/bin/zsh
$ zsh

Remote setup (example)

./rinstall.sh dovahkiin@winterhold.local dev-base tmux zsh vim

Module WTF

Common

Language-specific