Skip to content

Dotfiles for Vim, Neovim, i3-gaps, NeoMutt, Bash, … 🐧

Notifications You must be signed in to change notification settings

meribold/dotfiles

Repository files navigation

Dotfiles for Vim and Neovim, i3-gaps, NeoMutt, Fontconfig, etc. pp. Bash functions and aliases, scripts, keybindings, more scripts, . Est. 2013.

Screenshot showing an xterm running Bash

Highlights

Structure

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.

Installation

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.