Dotfiles for Vim/Neovim, i3-gaps, NeoMutt, etc. pp. Bash functions and aliases, scripts, keybindings, …
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
.
I don't recommend blindly installing these 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. T 625A hat being said…
The installation is based on GNU Make 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 need to be removed or moved manually first. For example:
mv ~/.vim ~/.vim.backup make vim
You probably always want to specify targets when running
make
rather than installing all configuration. The currently implemented targets are:vim
,nvim
,git
,bash
,screen
,mutt
,conky
,xterm
, andgpg
.
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.