Skip to content

Instantly share code, notes, and snippets.

@andif888
Created April 13, 2019 04:17
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andif888/4750db9f57510015b5a7c5287b3df6f0 to your computer and use it in GitHub Desktop.
Save andif888/4750db9f57510015b5a7c5287b3df6f0 to your computer and use it in GitHub Desktop.
Ansible Playbook for Ubuntu Desktop minimal
---
- hosts: localhost
tasks:
- name: Add Apt-Keys
apt_key:
url: '{{item.name}}'
state: present
with_items:
- { name: 'https://packages.microsoft.com/keys/microsoft.asc' }
- { name: 'https://www.virtualbox.org/download/oracle_vbox_2016.asc' }
- { name: 'https://download.opensuse.org/repositories/isv:ownCloud:desktop/{{ ansible_distribution }}_{{ ansible_distribution_version }}/Release.key' }
- { name: 'https://download.docker.com/linux/{{ ansible_distribution | lower }}/gpg' }
- name: Add Repos
apt_repository:
repo: '{{item.name}}'
filename: '{{item.filename}}'
state: present
with_items:
- { name: 'ppa:remmina-ppa-team/remmina-next', filename: 'remmina' }
- { name: 'ppa:pmjdebruijn/darktable-release', filename: 'darktable' }
- { name: 'deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main', filename: 'vscode' }
- { name: 'deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ {{ansible_distribution_release}} main', filename: 'azurecli'}
- { name: 'deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian {{ansible_distribution_release}} contrib', filename: 'virtualbox' }
- { name: 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/{{ ansible_distribution }}_{{ ansible_distribution_version }}/ /', filename: 'owncloud' }
- { name: 'deb [arch=amd64] https://download.docker.com/linux/{{ ansible_distribution | lower }} {{ ansible_distribution_release }} stable', filename: 'docker'}
- name: Install common packages
package:
name: '{{item.name}}'
state: present
with_items:
- { name: 'apt-transport-https' }
- { name: 'software-properties-common' }
- { name: 'bc' }
- { name: 'build-essential' }
- { name: 'ca-certificates' }
- { name: 'curl' }
- { name: 'dirmngr' }
- { name: 'exfat-fuse' }
- { name: 'exfat-utils' }
- { name: 'gconf2' }
- { name: 'gnupg2' }
- { name: 'libavcodec-extra' }
- { name: 'lsb-release' }
- { name: 'libffi-dev'}
- { name: 'libssl-dev'}
- { name: 'libkrb5-dev'}
- { name: 'krb5-user'}
- { name: 'python3-pip' }
- { name: 'python3-dev' }
- { name: 'python3-setuptools'}
- { name: 'python3-wheel' }
- name: Install packages
package:
name: '{{item.name}}'
state: present
with_items:
- { name: 'git' }
- { name: 'azure-cli'}
- { name: 'audacity' }
- { name: 'gnupg2' }
- { name: 'borgbackup' }
- { name: 'darktable' }
- { name: 'thunderbird' }
- { name: 'chromium-browser' }
- { name: 'code' }
- { name: 'docker-ce' }
- { name: 'flameshot' }
- { name: 'geeqie'}
- { name: 'gimp' }
- { name: 'gnome-tweak-tool' }
- { name: 'gparted' }
- { name: 'default-jdk' }
- { name: 'openjdk-8-jdk' }
- { name: 'iotop' }
- { name: 'atop' }
- { name: 'keepassxc' }
- { name: 'libreoffice' }
- { name: 'libwebkitgtk-1.0-0' }
- { name: 'mpv' }
- { name: 'mysql-workbench' }
- { name: 'net-tools' }
- { name: 'openshot-qt' }
- { name: 'owncloud-client' }
- { name: 'pidgin' }
- { name: 'pidgin-sipe' }
- { name: 'recordmydesktop' }
- { name: 'gtk-recordmydesktop' }
- { name: 'remmina' }
- { name: 'remmina-plugin-rdp' }
- { name: 'remmina-plugin-secret' }
- { name: 'rhythmbox' }
- { name: 'vlc' }
- { name: 'virtualbox-6.0' }
- name: Install vagrant deb from url
apt:
deb: https://releases.hashicorp.com/vagrant/2.2.4/vagrant_2.2.4_x86_64.deb
- name: Install atom from url
apt:
deb: https://github.com/atom/atom/releases/download/v1.34.0/atom-amd64.deb
- name: Install teamviewer from url
apt:
deb: https://download.teamviewer.com/download/linux/teamviewer_amd64.deb
- name: Download and install packer
unarchive:
src: https://releases.hashicorp.com/packer/1.3.5/packer_1.3.5_linux_amd64.zip
dest: /usr/local/bin
creates: /usr/local/bin/packer
remote_src: yes
- name: Download packer vsphere iso builder
get_url:
url: https://github.com/jetbrains-infra/packer-builder-vsphere/releases/download/v2.3/packer-builder-vsphere-iso.linux
dest: /usr/local/bin/packer-builder-vsphere-iso
mode: 0755
- name: Download packer vsphere clone builder
get_url:
url: https://github.com/jetbrains-infra/packer-builder-vsphere/releases/download/v2.3/packer-builder-vsphere-clone.linux
dest: /usr/local/bin/packer-builder-vsphere-clone
mode: 0755
- name: Download and install terraform
unarchive:
src: https://releases.hashicorp.com/terraform/0.11.11/terraform_0.11.11_linux_amd64.zip
dest: /usr/local/bin
creates: /usr/local/bin/terraform
remote_src: yes
- name: Download and install drone-cli
unarchive:
src: https://github.com/drone/drone-cli/releases/download/v0.8.6/drone_linux_amd64.tar.gz
dest: /usr/local/bin
creates: /usr/local/bin/drone
remote_src: yes
- name: Download postman
unarchive:
src: https://dl.pstmn.io/download/latest/linux64
dest: /opt
creates: /opt/Postman
remote_src: yes
- name: Create postman symlink
file:
src: /opt/Postman/Postman
dest: /usr/bin/postman
state: link
- name: Download Pentaho pdi-ce
unarchive:
src: https://datapacket.dl.sourceforge.net/project/pentaho/Pentaho%208.2/client-tools/pdi-ce-8.2.0.0-342.zip
dest: /opt
creates: /opt/data-integration
remote_src: yes
- name: Ensure docker-engine is enabled and started
service:
name: docker
enabled: yes
state: started
- name: Download docker-compose
get_url:
url: "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-Linux-x86_64"
dest: "/usr/local/bin/docker-compose"
owner: root
group: root
mode: 0755
- name: Install pip docker and docker-compose
pip:
name: '{{item.name}}'
state: latest
with_items:
- { name: 'pip'}
- { name: 'passlib' }
- { name: 'docker' }
- { name: 'docker-compose' }
- { name: 'ansible' }
- { name: 'cryptography' }
- { name: 'pywinrm' }
- { name: 'kerberos' }
- { name: 'requests_kerberos' }
handlers:
- name: restart docker
service:
name: docker
state: restarted
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment