Skip to content
Dotfiles for Vim, Neovim, i3-gaps, Mutt, NeoMutt, Bash, … 🐧
Vim script Shell Perl CSS Makefile HTML Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Dotfiles for Vim/Neovim, i3-gaps, NeoMutt, etc. pp. Bash functions and aliases, scripts, keybindings, …

Screenshot showing an xterm running Bash

Project Structure

The repository is split into three main directories: home/, root/, and misc/.

  • home contains files that should be linked to from $HOME and mirrors that directory structure.
  • root contains files that should be linked to from outside $HOME. Paths reflect where symlinks should be created relative to the filesystem root directory.
  • misc contains configuration files that don't require linking.

For example, home/vim/vimrc would be the target of a link at ~/.vim/vimrc and root/usr/local/share/cows/dynamic-duo.cow should be linked to from /usr/local/share/cows/dynamic-duo.cow.


You probably shouldn't blindly use these (or anyone's) dotfiles: my setup is personal, opinionated, and sometimes my own information is hard-coded. Some configuration is not portable and specific to Arch or my ThinkPad. That being said...

The installation is based on GNU Make (you most likely have it) and you can specifically try out the configuration for individual programs without creating any other links.

  • Clone this repository to ~/dotfiles.

  • Cherry-pick the configuration for programs you're interested in by giving Make their names. The makefile doesn't replace most conflicting files, they should be removed or moved manually first.

    mv ~/.vim ~/.vim.backup
    make vim

    Don't install all configuration, some of it is not portable, always specify targets when running make.

    The currently implemented targets are: vim, nvim, git, bash, screen, mutt, conky, xterm, and gpg.

Make may consider targets to be up to date because of existing files that conflict with the links it should create. The -B flag (e.g. make -B vim) forces remaking of all considered targets. This only results in the removal of conflicting symlinks, but not regular files.

Use the -n flag (e.g. make -n vim) to preview the commands Make would execute.

You can’t perform that action at this time.