Skip to content

nemoinho/dev-machine

Repository files navigation

My dev-machine setup

☝️
This is only a mirror from my personal git-server.
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

Setup

The setup is very simple, just follow these steps and you’re good to go:

git clone https://gitea.nehrke.info/nemoinho/dev-machine.git ~/Development/nemoinho/dev-machine # (1)
cd $_
cp local.config.yml.tpl local.config.yml # (2)
vi $_ # (3)
vi password.txt # (4)
ansible-galaxy install -r requirements.yml --upgrade # (5)
ansible-playbook main.yml # (6)
git remote set-url origin git@gitea.nehrke.info:nemoinho/dev-machine.git # (7)
  1. Clone this repo into a suitable local directory (we use http since ssh is not ready yet)

  2. Configure the local environment

  3. Note, that haven’t installed anything yet, so use the available tools!

  4. Provide the password for the ansible-vault, make sure the file only has the password inside, nothing else

  5. Install further ansible-requirements

  6. Run the playbook that setup my system

  7. Adjust the git-url of this repo to use ssh, which is way more convenient

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

Available tags

To restrict the scope of execution the playbook uses a couple of tags as described in the following table:

Tag Scope description

repos

Install 3rd party apt-repositories (only useful on linux)

packages

Install system-packages

dotfiles

Install my dotfiles and apply them

ssh

Ensure a default SSH-key and provide it to gitea and github

offlineimap

Setup systemd-service for offlineimap on debian. This needs to be explicitly defined, since Enpass has to be setup first!

dump

Print out debug information

Cheat-Sheet

About

Setup my dev-machines in minutes instead of hours or days.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published