/dotfiles

My dotfiles

Primary LanguageEmacs Lisp

dotfiles

inspired by https://github.com/mathiasbynens/dotfiles

A simple setup to automate and document the setup of my development machine as much as reasonable.

Full automation doesn’t make a lot of sense as it is a lot of work, needs to be adjusted every now and then, and won’t be used much more often than every few years. The invested time just doesn’t justify.

But at least this framework gives some tools to recreate a development setup on a new machine with not too much effort.

Currently this repo is optimized for macs. But it is also possible to adjust it for usage with different Linux distributions. Even a parallel setup and synchronization between a Linux and a MacOS system proved maintainable in the past.

Concepts

  • The dotfiles are stored in git. They can be checked out to any folder on the target workstation.
  • Via symlinks the dotfiles are “activated”.
  • Management of symlinks is handled via GNU Stow.
  • Complex configuration setups from 3rd parties are managed via git submodules.

Installation

Setup package manager and install

On MacOS we use homebrew and install:

  • awk
  • aws-console
  • aws-google-auth
  • aws-iam-authenticator
  • awscli
  • bash
  • bash-completion
  • bash-language-server
  • cmake
  • coreutils
  • emacs-plus@29
  • gettext
  • git
  • git-lfs
  • gnu-getopt
  • gnupg
  • graphviz
  • helm
  • kubectx
  • kubernetes-cli
  • make
  • markdown
  • node
  • nvm
  • pandoc
  • plantuml
  • rbenv
  • scalastyle
  • sops
  • stow
  • terraform-ls
  • the_silver_searcher
  • wget
  • yaml-language-server

If possible a brew list on the old machine should be used to get a list of all installed packages

Usage

Run ./update.sh from time to time

Essential Tools

Manages placement of symlinks in the user’s home directory.

Basic usage (assuming cwd is the dotfiles root):

stow --target=$HOME -nv byobu

This simulates the installation of the byobu settings.

To finally install the package

stow --dir=stow --target=$HOME byobu

AWS

Contains credentials, needs gpg

Optional But Helpful And Fun Tools

  • byobu
  • thefuck
  • fasd
  • jq
  • pass
  • watch

stow

https://www.gnu.org/software/stow/

brew

sdkman

https://sdkman.io/

Tools

ssh

aws

kubectl + kubectx + kubens

Not Yet Documented

gnupg

password-store