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 install.sh script)
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
| 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) |