Dotfiles for Vim and Neovim, i3, Fontconfig, etc. pp. Bash functions and aliases, scripts, keybindings, more scripts, …. Est. 2013.
I primarily use these dotfiles on Arch Linux, but most of what's in here also works on Ubuntu and other Linux distributions. Some of it even works on Windows or macOS.
- There's a short guide on Fontconfig and a short guide on X resources in here.
- I have a couple of relevant videos on YouTube:
- Installation uses GNU Make. The configuration for individual programs can be installed without any extraneous changes being made.
There are three main directories: home
, root
, and misc
.
- The
home
directory contains files that should be linked to from$HOME
and mirrors its directory structure. - The
root
directory contains files that should be linked to from outside$HOME
. Paths reflect where symlinks should be created relative to the filesystem root directory. - The
misc
directory contains 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
.
Don't proceed unless you are me.
Clone this repository to ~/dotfiles
:
git clone https://github.com/meribold/dotfiles.git ~/dotfiles
Initialize and clone submodules:
git submodule update --init --jobs 32
Install the configuration for programs you're interested in by giving Make their names. The makefile generally doesn't replace conflicting files; move or remove them manually. For example:
mv ~/.vim ~/.vim.backup
make vim
The currently implemented targets are: vim
, nvim
, git
, bash
, screen
, xterm
,
gpg
, crontab
, fortunes
, irssi
, and readline
.
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.