My dotfiles...
Find a file
Fernando Schauenburg 6c7b29705e [bash] improve PATH manipulation
The previous implementation failed to prevent duplicates if the entry
being added was the only entry already present in the path. The reason
is that it always required a : to be present in order to remove the new
entry before adding it.

The new implementation is clearer and solves that. However, if the new
entry is already present it will be kept where it was, not moved to the
front of the list. This is fine at the moment.
2020-12-03 18:34:23 +01:00
roles [bash] improve PATH manipulation 2020-12-03 18:34:23 +01:00
.gitattributes Add ssh role 2019-11-15 22:00:56 +00: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
dotfiles.yml Rename host group to dotfiles 2020-03-04 19:42:04 +01:00
hosts.ini Rename host group to dotfiles 2020-03-04 19:42:04 +01:00
README.md Add preliminary SSH config 2020-08-18 14:19:41 +00:00

Prerequisites

  • ansible: for installing the dofiles.
  • git-crypt: for handling sensitive data in the repo (installed via ansible cookbook).
  • gpg: for decrypting the key used by git-crypt (installed via ansible cookbook).

Installation

Steps:

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

Cookbook:

sudo apt-get install ansible
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 -i hosts.ini dotfiles.yml
gpg -d --output - <(base64 -d .key) | git crypt unlock -