Ansible scripts to setup Ubuntu desktop/server
Clone or download

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.


  • Git
  • Ansible 2+ (automatically installed from Ansible offical PPA with the provided script)


First, you need to install Git and Ansible :

sudo apt-get install git
git clone
cd ansible-ubuntu

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
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 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
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)