Dotfiles for Vim and Neovim, i3-gaps, NeoMutt, Fontconfig, etc. pp. Bash functions and aliases, scripts, keybindings, more scripts, …. Est. 2013.
- 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:
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
.
Be warned that my setup is personal, opinionated, and sometimes my own information is hard-coded. Some configuration is specific to Arch, my ThinkPad X13 Gen 2, or otherwise not portable. That being said, you can specifically install the configuration for individual programs without any extraneous changes being made. Installation uses GNU Make.
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
, mutt
,
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.