Ansible Ubuntu setup
Ansible roles to setup Ubuntu desktop and Ubuntu server (14.04 and 16.04). This playbook is focused on quickly deploying a "ready to use" dev machine.
Requirements
- Git
- Ansible 2+ (automatically installed from Ansible offical PPA with the provided install.sh script)
Installation
First, you need to install Git and Ansible :
sudo apt-get install git
git clone https://github.com/Benoth/ansible-ubuntu.git
cd ansible-ubuntu
./install.sh
Then you need to customize the playbook ansible-desktop.yml
(or create a new one) to suit your needs. Every roles are disabled by default.
Run ansible-playbook ansible-desktop.yml --ask-become-pass
and enter your sudo password to run the playbook
Roles included
Role | Description |
---|---|
General | |
common | Install a lot of usefull packages (curl, htop, less, zip ... see corresponding task file) |
locales | Configure system locales and timezone |
java-openjdk | Install Default Java JDK |
ripgrep | Install ripgrep (grep++) |
sift | Install Sift tool, a fast and powerful alternative to grep |
zsh | Install ZSH and create a zshrc file for the current user / root |
Desktop tools | |
adapta-theme | Install Adapta Theme from source and apply some gsettings |
albert | Install Albert omnilauncher from Alin Andrei WebUpd8 PPA |
altyo | Install AltYo Gtk3 drop-down terminal emulator from Denis Konstantinov AltYo PPA |
arc-theme | Install Arc Theme from source and apply some gsettings |
atom | Install Atom from WebUpd8 PPA and Sync Settings plugin |
chromium | Install Chromium. May also install plugins and set policies |
claws-mail | Install Claws Mail from Claws Mail PPA (14.04) |
compton | Install Compton lightweight compositor |
copyq | Install CopyQ clipboard manager |
dbeaver | Install DBeaver from online deb file |
desktop | Install a lot of usefull packages (meld, tilda, vlc, xclip) |
desktop-autostart | Update autostart handling (unhide all apps, create, remove...) |
desktop-cleanup | Remove Unity sh... integrations and install Nautilus plugins |
desktop-preferences-unity | This one is very personal. Imports all my Unity preferences |
filezilla | Install Filezilla (no particular settings, basic installation) |
firefox | Install Firefox (no particular settings, basic installation) |
flatabulous | Install Flatabulous Theme from source and apply some gsettings |
geary | Install Geary email client (from Yorba PPA on 14.04) |
gimp | Install Gimp and some minor settings |
grub-customizer | Install Grub Customizer using Daniel Richter PPA |
indicator-sysmonitor | Install indicator-sysmonitor from FOSSFreedom PPA |
ksuperkey | Install ksuperkey using Eugene Mikhantiev PPA |
libreoffice | Install LibreOffice using LibreOffice 5.1 PPA |
maim | Install maim (make image) (screenshots tool) from WebUpd8 Alin Andrei PPA |
mysql-workbench | Install MySQL WorkBench from online deb file |
nautilus-plugins | Install Nautilus plugins |
nemo | Install Nemo from WebUpd8 PPA |
notepadqq | Install Notepadqq from Notepadqq Team PPA |
notify-osd | Install ehanced Notidy-OSD from Leolik PPA |
qutebrowser | Install qutebrowser from online deb file |
rofi | Compile rofi from source |
remarkable | Install Remarkable from online deb file |
remmina | Install Remmina |
shutter | Install Shutter screenshot tool |
skype | Install Skype |
slop | Install slop (select operation) (selection tool) from WebUpd8 Alin Andrei PPA |
smartgit | Install SmartGit from Eugene San PPA |
sublime3 | Install Sublime Text 3 from WebUpd8 PPA and the Package Control plugin |
sunflower | Install SunFlowerfom online dev |
teamviewer | Install TeamViewer from online deb file |
thunderbird | Install Thunderbird (no particular settings, basic installation) |
ultra-flat-icons | Install Ultra flat icons from Noobslab PPA |
urxvt-perls | Install rxvt perl extensions from Git |
vagrant | Install Vagrant from online deb file |
virtualbox | Install VirtualBox from VirtualBox APT repositories |
vokoscreen | Install Vokoscreen screencast tool |
wine | Install Wine from Ubuntu Wine Team PPA and create HeidiSQL shortcut |
workrave | Install Workrave a tool assists in the recovery and prevention of Repetitive Strain Injury (RSI) |
xfce-dockbarx | Install DockbarX and the XFCE plugin from Dockbar main PPA |
xmind | Install XMind from online deb file |
 min | Install Min browser from online deb file |
bspwm | |
bspwm | Compile bspwm binary tree tiling window manager from source. |
bspwm-environment | Install various packages to create a desktop environment |
bspwm-panel | Compile lemonbar, xdo, xtitle, etc from source to handle a panel |
sxhkd | Compile sxhkd keyboard events daemon from source. |
Dev tools | |
blackfire | Install Blackfire from Blackfire deb repository |
bower | Install Bower as a global package using NPM |
browsersync | Install Browsersync as a global package using NPM |
composer | Install Composer, PHP Dependency Manager |
gulp | Install Gulp as a global package using NPM |
mailcatcher | Install Mailcatcher as a service |
mailhog | Install MailHog (Catches SMTP emails, like MailCatcher) as a service |
php-phar-tools | Install common PHP tools (PHPUnit, Codeception, PHP-CS-Fixer, ...) |
webpack | Install webpack as a global package using NPM |
Services & server tools | |
apache2 | Install Apache 2 HTTP Server with some admin tools and remove defaults hosts |
apache2-php | Basic Apache 2 PHP Virtualhosts creation (you may need to run the "php" role first, depending on your configuration) |
beanstalkd | Install beanstalkd with default configuration |
docker | Install Docker and Docker compose from Docker deb repository |
elasticsearch | Install Elasticsearch from Elastic deb repository |
exim | Install Exim and disable local delivery |
fail2ban | Install Fail2ban with default config |
hhvm | Install HHVM from HHVM deb repository |
memcached | Install Memcached with default config |
mysql56 | Install MySQL 5.6 (using 14.04 repositories on 16.04) |
mysql57 | Install MySQL 5.7 Only available on Ubuntu 16.04+ |
nginx | Install nginx and remove defaults hosts |
nginx-php-fpm | Basic nginx PHP-FPM Virtualhosts creation (you may need to run the "php" role first, depending on your configuration) |
nodejs | Install NodeJS from Node deb repository |
phantomjs | Install PhantomJS |
php | Co-Install PHP 5.6 and 7.0 from Ondřej Surý PPA, with the "standard" set of extensions and settings |
php-pecl | Install PHP PECL extensions |
python | Install Python |
redis | Install Redis |
ruby | Install Ruby from Brightbox PPA |
ssh | Install OpenSSH Server |
Others | |
dotfiles | Clone my personal dotfiles Git repository and their dependencies |
projects-installer | Clone my repository projects-installer, used to deploy my personal and clients projects (Ansible based) |