My collection of dotfiles
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ack
ctags
emacs
fzf
git
gnome
haskell
i3
mail
npm
rofi/.config/rofi
shell
ssh/.ssh
tmux
vim
x
zsh
.gitignore
.gitmodules
Makefile
README.org
install

README.org

Dotfiles

These are my dotfiles. There are many like them, but these ones are mine. I take my dotfiles very seriously, as any professional programmer should.

For the time being, I’m using git to track my configurations across multiple hosts using branches. These branches has a set of host-specific patches which are continuously rebased on top of the master branch. This provides a sensible backup across hosts, while having tailored configuration for each host.

Most configurations are applied by symlinking dotfiles into $HOME using GNU stow.

Installation

stow --target=$HOME <dir>

I’m mostly using a tiny bash wrapper around stow:

$ ./install <emacs|git|zsh|...>

see:

$ ./install -h

Submodules

I’m using git submodules to track some external dependencies like Doom Emacs, Prezto, fzf (NB: some are personal forks of awesome upstream software, so please check out the origin).

Issues

DNS resolve

Ref this answer, multi-case DNS may cause issues: nslookup finds ip, but ping doesnt

In nsswitch.conf, change the following:

- hosts:          files mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] dns
+ hosts:          files dns

or remove completely:

$ sudo apt remove libnss-mdns

ZSH 5.2 has a broken function in `VCS_INFO_nvcsformats`

## vim:ft=zsh
## Written by Frank Terbeck <ft@bewatermyfriend.org>
## Distributed under the same BSD-ish license as zsh itself.

setopt localoptions noksharrays NO_shwordsplit
local c v rr
local -a msgs ### <-- NB: Comment out this line

if [[ $1 == '-preinit-' ]] ; then
    c='default'
    v='-preinit-'
    rr='-all-'
fi
zstyle -a ":vcs_info:${v:-$vcs}:${c:-$usercontext}:${rrn:-$rr}" nvcsformats msgs
(( ${#msgs} > maxexports )) && msgs[${maxexports},-1]=()
return 0
```

Comment out the line as mentioned in the script above to get paths in the prompt working.