/dotfiles-1

:desktop_computer: The very heart of an efficient work environment

Primary LanguageShell

zsh

Proper dotfiles are the very heart of an efficient working environment.

This repository ships a set of configuration files for modern command line tools, such as tmux, vim, and zsh. Additionally, it provides a portable script for managing dotfiles and quickly getting up and runninng on a new machine.

Usage

Synopsis

These are the quick start instructions to get up and running:

git clone git@github.com:mavam/dotfiles.git ~/.dotfiles
cd .dotfiles
./bootstrap dotfiles

Make zsh your login shell, install Vim plugins and vim-anywhere, and setup tmux plugins:

./bootstrap zsh vim tmux

On a Mac, you may also consider improving the system experience and installing Homebrew:

./bootstrap system homebrew

I use iTerm2 as terminal emulator. Add the light and dark gruvbox by loading my settings via Settings -> General -> Browse. This requires the Meslo from Nerd Fonts to be installed, which is readily available via Homebrew.

Local Setup

Begin with cloning this repository somewhere:

git clone git@github.com:mavam/dotfiles.git ~/.dotfiles
cd .dotfiles

Dotfile Management

The POSIX shell script dots installs (= symlinks) and removes subsets of dotfiles according to your needs. For example, install all dotfiles as follows:

./dots install -a

Alternatively, install only dotfiles for vim and zsh:

./dots install vim zsh

Similarly, remove all installed dotfiles:

./dots uninstall -a

The installer script does not override existing dotfiles unless the command line includes the -f switch. When in doubt what the installation of a subset of the dotfiles would look like, it is possible to look at the diff first:

./dots diff -a

System Bootstrapping

In addition to managing dotfiles, the script bootstrap facilitates getting up and running on a new machine. Passing -h shows the available aspects available for configuration:

  1. system: adjust system defaults for productivity
  2. homebrew:setup Homebrew and install bundled packages
  3. dotfiles: setup dotfiles via ./dots install -a
  4. postfix: setup postfix as GMail relay
  5. tmux: install tmux plugins
  6. vim: install vim plugins
  7. zsh: setup zsh as login shell

Invoking

./bootstrap

without any arguments sets up all aspects in the above order. On macOS, (1) includes:

  1. Adjust various default settings, e.g.:
    • Improve security and privacy settings
    • Disable boot sound
    • Reduce UI effects for improved speed
    • Make the keyboard faster
  2. Perform a software update
  3. Install XCode

Extras

Browser

My browser is Safari, which I beef up with the following enhancements:

Browse through this curated list of extensions for further inspiration.