Guess I'm joining the club as well ¯\_(ツ)_/¯
This project follows the approach of using a bare git repo
to manage all config files. No symlinks or copying of files required. Another benefit of a bare repo is that it does not create a .git
folder and therefore does not interfere with any other git projects in the home directory. More info can be found in this Atlassian blog post.
A Git alias (config
) is used to manage all configuration files from the
$HOME
directory. By default all files which were not explicitly added are not
shown in the config status
.
Ansible is used to install the required software in a modular way.
git clone --bare git@github.com:Sirius-A/dotfiles.git ~/.cfg
# Alternative If no ssh key is present yet
git clone --bare https://github.com/Sirius-A/dotfiles.git ~/.cfg
# Initial config alias setup
alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
config config --local status.showUntrackedFiles no
# Setup the configuration files from this repo
config checkout
# Install all the required software for your use case (remove unneeded tags)
cd dotfiles-ansible
ansible-playbook -i hosts dotfiles.yml --ask-become-pass --tags=shell,vim,desktop
# Ansible will setup zsh as the default shell. Do a re-log to make sure the correct configs are sourced
# Install tmux plugins
tmux
<prefix> + I # (Captial I)
Updates are done through the config
alias. (Just like any git project)
config add -p
config commit -m "update"
config push
- VSCode settings and extensions are managed in a separate gist using the Settings Sync Extension.
- Theme for WSLtty / Mintty: https://github.com/arcticicestudio/nord-mintty