/dotfiles

Terminal development environment

Primary LanguageShell

Dofiles

last-commit-badge

This is a repository to store all settings of my current development environment. Feel free to take inspiration.

🔨 Toolstack

This is my current toolstack with all configurations as of 11/2022:

  • alacritty as my primary terminal
  • fish as my primary shell
  • nvim as my primary text editor
  • vim for a minimal vim setup (used for Vim emulations and on VMs)
  • tmux for managing terminal sessions
  • brew for macOS package management
  • hammerspoon for macOS customisation
  • karabiner for custom key-bindings
  • commitizen for standardised git commit messages

🔋 Install

Follow these steps to install the full development environment.

Clone this repository

Fire up the natively installed Terminal on your new machine (Terminal.app on macOS) and write into the default shell (zsh on newer macOS version) config file (so ~/.zshrc) to set the alias for the bare repo:

alias config='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'

Then, clone this repository in your home directory (/Users/<your-username>) by running this command

git clone --bare https://github.com/mikasenghaas/dotfiles $HOME/.dotfiles

Checkout the contens of the bare repo by running config checkout. This might lead to an error, if the contents of the git repo are overwriting files that already exist on your system. Try this command to move all conflicting files into a backup folder:

mkdir -p .config-backup && \
config checkout 2>&1 | egrep "\s+\." | awk {'print $1'} | \
xargs -I{} mv {} .config-backup/{}

Rerun, config checkout to check that all files are correctly cloned from git. Finally, set the status.showUntrackedFiles flag to no by running this command to ignore untracked files from being shown in git status

git config --local status.showUntrackedFiles no

🥳 Done, all configs should be on your system in the correct location!

Install brew

Detailed infos here

Download the macOS pacakage manager homebrew using

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Then install all software with

brew bundle --file=~/.config/brew/Brewfile

Further Configurations

Visit all the README files from the above listed applications and follow any further installation instructions (if they exist).