nikitabarskov / dotfiles

My dev machine configuration via ansible.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CI

Set-up development machine with Ansible

Intro

I am tired of setting up my dev laptop every time something happens or changing the job. I used Ansible to configure my routine tasks of setting up the environment:

  • Mac OS preferences.
  • Touch ID for sudo authentication.
  • zsh, alacritty and spaceship.
  • Install essential tools and packages, communication, development, and media apps.
  • Python via pyenv.
  • Configuration files as symlinks.

Git GPG

https://gist.github.com/troyfontaine/18c9146295168ee9ca2b30c00bd1b41e

Usage

You can use this repository as a bootstrap or template for your personal configuration.

  • Clone this repository to your local drive.
  • In configs/default.config.yaml set the folder where you cloned repository via variable dotfiles_repo_local.
  • Run ansible-galaxy install -r requirements.yml inside this directory to install required Ansible roles.
  • Run ansible-playbook main.yml -i inventory.yml --ask-become-pass inside this directory. Enter your account password when prompted.

Dependencies

Common

  • Python 3
  • Ansible (I am using 2.10)

MacOS Specific

Ensure system is updated softwareupdate --all --install --force and Apple's command line tools are installed xcode-select --install.

Inspired by

Potential improvements

  • Use ansible to configure Mac OS preferences.
  • Add configuration for my Linux setup.
  • Add configuration for my Windows entertainment setup.
  • CI via GitHub actions.

About

My dev machine configuration via ansible.

License:MIT License


Languages

Language:Shell 81.9%Language:Roff 14.3%Language:Makefile 2.8%Language:Jinja 1.1%