Skip to content

Latest commit

 

History

History
109 lines (97 loc) · 10.2 KB

README.md

File metadata and controls

109 lines (97 loc) · 10.2 KB

Ansible Ubuntu setup

Ansible roles to setup Ubuntu desktop. This playbook is focused on quickly deploying a "ready to use" Ubuntu Desktop.

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/sys0dm1n/ansible-ubuntu-desktop.git
$ cd ansible-ubuntu-desktop
$ bash ./install.sh

Then you need to copy the group_vars/all.yml to group_vars/local.yml and customize which roles suit your needs. All roles except locales,common, and desktop are disabled by default.

Run ansible-playbook ansible-desktop.yml --ask-become-pass and enter your sudo password to run the playbook

Optionaly you can run just some of the tags like: ansible-playbook ansible-desktop.yml --ask-become-pass --tags=common,locales

Tags are named the same as role dirs. If a role is in a sub dir then the tag for that specific role is sepparated with a colon like: aws:cli. But you can also use aws and that should install all the roles under the aws dir.

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
snapd Install snapd
tlp Install tlp
ufw Install ufw
Desktop tools
angryipscanner Install AngryIPScanner from angryip/ipscan Github Repository
atom Install Atom from WebUpd8 PPA and Sync Settings plugin
barrier Install barrier. Use single keyboard and mouse with multiple computers.
bitwarden Install bitwarden password manager desktop client.
chromium Install Chromium. May also install plugins and set policies
desktop Install a lot of usefull packages (meld, tilda, vlc, xclip)
discord Install Discord chat app.
filezilla Install Filezilla (no particular settings, basic installation)
firefox Install Firefox (no particular settings, basic installation)
gimp Install Gimp and some minor settings
gitg Install Gitg a graphical user interface for git.
gnome-encfs-manager Install gnome-encfs-manager an easy to use manager and mounter for encfs stashes.
gparted Install Gparted a free partition editor for graphically managing your disk partitions.
guake Install guake a customizable dropdown terminal.
indicator-sysmonitor Install indicator-sysmonitor from FOSSFreedom PPA
handbrake Install handbrake a video converting tool from nearly any format to a selection of modern, widely supported codecs.
kazan Install kazan screencast and screencast tool
ledger-live-desktop Install ledger-live-desktop Ledgers Cryptocurrency Hardware Wallet Desktop application.
libreoffice Install LibreOffice using LibreOffice 5.1 PPA
losslesscut Install losslesscut the Swiss Army Knife of Lossless Video/Audio Editing.
nautilus-plugins Install Nautilus plugins
nextcloud Install nextcloud Desktop Sync application.
noisetorch Install noisetorch Real-time microphone noise suppression on Linux.
Pop!_OS Shell Install Pop!_OS Shell Gnome Shell Extension from Pop!_OS/Shell Github Repository
remmina Install Remmina
signal Install Signal chat application.
skype Install Skype
slack Install Slack set of proprietary team collaboration tools and services.
solaar Install Solaar a manager for many Logitech keyboards, mice, and trackpads.
sublime3 Install Sublime Text 3 from WebUpd8 PPA and the Package Control plugin
sunflower Install SunFlowerfom online dev
syncthing Install Syncthing-GTK a GUI and notification area icon for Syncthing.
teamviewer Install TeamViewer from online deb file
thunderbird Install Thunderbird (no particular settings, basic installation)
timeshift Install TimeShift
winbox Install Winbox, a small utility that allows administration of MikroTik RouterOS.
Development tools
assh Install assh A transparent ssh wrapper that adds yaml configuration and more to SSH
awscli Install aws the Amazon command line interface
awsebcli Install eb the Amazon Elastic Beanstalk command line interface
awsecscli Install ecs the Amazon Elastic Container Service
dbeaver Install DBeaver universal database tool from snap
docker Install Docker and Docker compose from Docker deb repository
dots Install dots a dotfile Management Tool
java/openjdk Install Default Java JDK
java/openjre Install Default Java JRE
golang Install go language
lens Install Lens The Kubernetes IDE
python Install python language
ruby Install ruby language
kubectl Install kubectl
mysql-workbench Install MySQL WorkBench from online deb file
minikube Install minikube
snapd Install snapd a service that manages installed snaps (app packages for Linux)
ssh Install OpenSSH Server
terraform_landscape Install landscape a output reformatting tool for terraform plan thats easier to read
tfenv Install tfenv terraform version manager inspired by rbenv
tgenv Install tgenv terragrunt version manager inspired by tfenv
tmux Install tmux tmux is a terminal multiplexer. It lets you switch easily between several programs in one terminal, detach them (they keep running in the background) and reattach them to a different terminal. And do a lot more.
vagrant Install Vagrant from online deb file
virtualbox Install VirtualBox from VirtualBox APT repositories
zsh Install zsh shell and oh-my-zsh framework for managing your Zsh configuration

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests and examples for any new or changed functionality.

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request