My dotfiles...
Find a file
2020-12-22 14:44:09 +01:00
roles ansible: add packages role 2020-12-22 13:48:59 +01:00
.gitattributes ansible: refactor tasks into a common role 2020-12-18 14:53:00 +01:00
.gitignore Put all dotfiles into one "stow package" 2019-02-18 23:19:28 +01:00
.key Add git-crypt key 2019-06-20 00:47:49 +02:00
ansible.cfg ansible: simplify playbook execution and update README 2020-12-22 14:44:09 +01:00
inventory ansible: silence python interpreter warning on macOS 2020-12-22 14:29:49 +01:00
local.yml ansible: silence python interpreter warning on macOS 2020-12-22 14:29:49 +01:00
README.md ansible: simplify playbook execution and update README 2020-12-22 14:44:09 +01:00

Prerequisites

Only ansible is required for installing the dotfiles.

NOTE: git-crypt and gpg are needed to decrypt sensitive information in the repository, but these are installed by the ansible playbook.

Install ansible on Linux

sudo apt install -y python3
pyhton3 -m pip install ansible

Install ansible on macOS

brew install ansible

Installation

Steps:

  1. Create an SSH key with (e.g. with ssh-keygen -t ed25519 -C "$(whoami)@$(hostname)") and register it.
  2. Add a preliminary ~/.ssh/config to reach git.schauenburg.me at the correct port.
  3. Clone the repo.
  4. Play the local.yml ansible playbook.
  5. Decrypt key & initialize git-crypt to access sensitive data.

Gimme the code:

ssh-keygen -t ed25519 -C "$(whoami)@$(hostname)"
echo -e "Host git.schauenburg.me\nUser git\nPort 587" >>~/.ssh/config
git clone git@git.schauenburg.me:fernando/dotfiles.git $HOME/.dotfiles
cd $HOME/.dotfiles
ansible-playbook local.yml
gpg -d --output - <(base64 -d .key) | git crypt unlock -