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.
- 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.
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
Run ./update.sh
from time to time
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
- byobu
- thefuck
- fasd
- jq
- pass
- watch