/ubuntu-installer

Easily configure your Ubuntu Desktop installation with Ansible

Primary LanguageShell

ubuntu-installer

Easily install and configure your Ubuntu Desktop installation.

Compatibility Grid

Release Status Branch to use
22.04 Unstable main
22.04 Stable 22.04
20.04 Unmaintained 20.04
18.04 Unmaintained 18.04
16.04 Unmaintained 16.04

Requirements

In order to run the the following installation process and script you need to have :

  • access to a shell
  • unzip
  • wget
  • Ansible 2.8+ (we handled the installation via the run.sh script)

Installation

wget -O installer.zip https://github.com/jygastaud/ubuntu-installer/archive/<branch>.zip
unzip installer
cd ubuntu-installer-<branch>
cp default.config.yml config.yml

and edit the config.yml file (you can keep only the line you change in that file).

Then

If you have Ansible already installed

./run.sh

If you want to install Ansible first

./run.sh --ansible

Specific component installation

You can use Ansible tag to run only some part of that playbook.

Examples:

  • Install only packages
ansible-playbook playbook.yml -i hosts --user=$(whoami) -e "my_user=$(whoami)" --ask-become-pass --tag packages
  • Install only git
ansible-playbook playbook.yml -i hosts --user=$(whoami) -e "my_user=$(whoami)" --ask-become-pass --tag git
  • Install all dev-tools
ansible-playbook playbook.yml -i hosts --user=$(whoami) -e "my_user=$(whoami)" --ask-become-pass --tag dev-tools

Notes: Tags are not be available for every tools.

Tools managed and installed by default

Tools marked with ✔ are installed by default. You can override the config.yml file to match your needs.

Others options available

config file also allows you to define :

  • your oh_my_zsh configurations (theme, plugins)
  • your shell aliases
  • your git config

Plan

  • Add the following tools
  • process
    • activate/configure vscode plugins
    • activate/configure phpstorm plugins
    • find a way to add tags for every tools, so we can install them individually
  • Others? Create an issue!