Felix Nehrke 34226a6d6d Add ability to create ssh-keys and provide it to github and gitea
Here we start to have some delicate secrets in the code. Therefore I
need a vault for ansible. This vault contains the tokens to upload
ssh-keys to github and my lovely gitea server.

Note, that this change also adds a `requirements.yml`, this is necessary
because I use the paramater "api_url" of the github_key resource which
was only added in v11, but the debian ansible was shippped with an older
collection.
2025-09-12 21:37:47 +02:00

My dev-machine setup

This ansible-playbook will setup my development machines and prepare them for work.

Prepararation

The setup is a bit different for linux and macos, since I can use the local package-manager on linux. Though on macos I need to install brew first! In both cases we need to install ansible and git though.

Prepararation on Debian and Ubuntu
sudo apt install ansible git
Prepararation on Macos
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install ansible git

password.txt

To execute the playbook we need a password for the vault. This password has to be stored in a password.txt containing exactly one line with only the password as content.

Use a secure password and keep it in a password-manager.

Setup

Make sure to configure the local environment: This is done by copying global_vars/localhost/local.config.yml.tpl to global_vars/localhost/local.config.yml and adjust it to the local conditions.

cp global_vars/localhost/local.config.yml.tpl global_vars/localhost/local.config.yml
vi $_
We do not have installed anything yet, so we can only use the available tools of the environment.

After the configuration the setup is very simple:

git clone git@gitea.nehrke.info:nemoinho/dev-machine.git ~/Development/nemoinho/dev-machine
cd $_
# make sure that we're on the latest requirements
ansible-galaxy install -r requirements.yml --upgrade
ansible-playbook main.yml
Description
Setup my dev-machines in minutes instead of hours or days.
Readme 89 KiB
Languages
Jinja 57.7%
Shell 24.2%
Smarty 18.1%