Skip to content

meribold/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Screenshot showing an xterm running Bash

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.

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

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.