Description

Ansible role to apply microcontroller developer configuration.

This is capable of:

  • Upgrade the system.
  • Add apt repository sources.
  • Update the apt cache.
  • Uninstall apt packages.
  • Install apt packages.
  • Install yarn packages.
  • Install pip packages.
  • Apply system-wide configuration using git.
  • Stop services and disable them.
  • Enable services and restart them.
  • Create users.
  • Add users to groups.
  • Apply user-wide configuration using git.
  • Run custom user tasks.

By default this role applies the following configuration:

  • Installs the base software:
  • apt-transport-https
  • bzip2
  • ca-certificates
  • curl
  • sudo
  • unrar-free
  • unzip
  • vim
  • wget
  • xz-utils
  • Installs the base developer software:
  • bats
  • bchunks
  • build-essential
  • emacs
  • flac
  • git
  • libtext-csv-perl
  • make
  • meld
  • retext
  • ssh-askpass
  • texlive-bibtex-extra
  • texlive-latex-base
  • texlive-latex-extra
  • tree
  • Installs the microcontroller developer software:
  • Via apt:
  • clang
  • fritzing
  • fritzing-data
  • fritzing-parts
  • python3
  • python3-pip
  • Via pip:
  • platformio
  • Configures the base software:
  • vim
  • Creates a .vimrc configuration file on each user home directory.
  • Enable syntax highlight.
  • Set two spaces instead of tabs.
  • Configures the base developer software:
  • emacs
  • Creates a .emacs.d configuration folder on each user home directory.
  • Enable line numbers.
  • Set themes folder.
  • Set wintermute theme.
  • Use spaces instead of tabs.
  • Configures the microcontroller developer software:
  • emacs
  • C-c i b: Build the project without auto-uploading.
  • C-c i c: Clean compiled objects.
  • C-c i u: Build and upload.
  • groups - Adds users to the groups:
    • dialout.
  • udev - Adds the rules file /etc/udev/rules.d/99-platformio-udev.rules.
  • Creates the following home directory layout:
home/
├── .emacs.d
│   ├── config
│   │   ├── base.el
│   │   ├── micro.el
|   │   └── org.el
│   ├── init.el
│   └── themes
│       └── wintermute-theme.el
└── .vimrc
  • Modifies the following files:
home/
├── .bashrc
└── .profile