From fec9c3775915b051d40cafc415eeba4734d0be67 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Thu, 1 Jul 2021 05:58:08 -0500 Subject: [PATCH] Prevent EVERYTHING from installing on workstations. Change GNOME favorites. --- hosts | 9 +- tasks/workstation/linux/software/flatpaks.yml | 154 ++++++++++++++---- tasks/workstation/settings/gnome.yml | 6 +- 3 files changed, 132 insertions(+), 37 deletions(-) diff --git a/hosts b/hosts index 529cb70..6f6633b 100644 --- a/hosts +++ b/hosts @@ -2,7 +2,14 @@ localhost [workstation] -dell-laptop +;;;;;;; Available options - all require lowercase values ;;;;;; +; coding : Define for installation of code editors (VSCode, PyCharm, Android Studio) +; +; editing : Define for installation of Audio/Video editors (Shotcut, Audacity, OBS Stdio, GIMP) +; +; gaming : Define for installation of gaming software (Steam, Lutris) +; +dell-laptop coding=true editing=true usb-workstation lbry-server-1 lbry-server-2 diff --git a/tasks/workstation/linux/software/flatpaks.yml b/tasks/workstation/linux/software/flatpaks.yml index 9125141..efdc51e 100644 --- a/tasks/workstation/linux/software/flatpaks.yml +++ b/tasks/workstation/linux/software/flatpaks.yml @@ -1,7 +1,7 @@ --- # Use flatpaks because they're consistent! :) -# Flatpak Pre-reqs +## Flatpak Pre-reqs ## - name: Workstation | Linux | Flatpak Distro | Flatpak | Install package: name: flatpak @@ -15,8 +15,10 @@ flatpakrepo_url: https://dl.flathub.org/repo/flathub.flatpakrepo -# Flatpak Installs -- name: Workstation | Linux | Flatpak Distro | Flatpak | Application Installs +## Flatpak Installs ## + +# Generic # +- name: Workstation | Linux | Flatpak Distro | Flatpak | Generic Installs flatpak: name: "{{ item }}" remote: flathub @@ -25,15 +27,82 @@ - org.mozilla.Thunderbird - com.discordapp.Discord - io.lbry.lbry-app - - com.visualstudio.code-oss - - com.google.AndroidStudio - - org.shotcut.Shotcut - - com.obsproject.Studio - - com.valvesoftware.Steam - - org.gimp.GIMP - - com.jetbrains.PyCharm-Community ignore_errors: yes +# Coding # +- name: Workstation | Linux | Flatpak Distro | Flatpak | Coding Installs + flatpak: + name: "{{ item }}" + remote: flathub + state: present + loop: + - com.visualstudio.code-oss + - com.google.AndroidStudio + - com.jetbrains.PyCharm-Community + ignore_errors: yes + when: coding is defined + +- name: Workstation | Linux | Flatpak Distro | Flatpak | Coding Uninstalls + flatpak: + name: "{{ item }}" + remote: flathub + state: absent + loop: + - com.visualstudio.code-oss + - com.google.AndroidStudio + - com.jetbrains.PyCharm-Community + ignore_errors: yes + when: coding is not defined + +# Editor # +- name: Workstation | Linux | Flatpak Distro | Flatpak | Audio/Video Editor Installs + flatpak: + name: "{{ item }}" + remote: flathub + state: present + loop: + - org.shotcut.Shotcut + - com.obsproject.Studio + - org.gimp.GIMP + - org.audacityteam.Audacity + ignore_errors: yes + when: editing is defined + +- name: Workstation | Linux | Flatpak Distro | Flatpak | Audio/Video Editor Uninnstalls + flatpak: + name: "{{ item }}" + remote: flathub + state: absent + loop: + - org.shotcut.Shotcut + - com.obsproject.Studio + - org.gimp.GIMP + - org.audacityteam.Audacity + ignore_errors: yes + when: editing is not defined + +# Games # +- name: Workstation | Linux | Flatpak Distro | Flatpak | Gaming Installs + flatpak: + name: "{{ item }}" + remote: flathub + state: present + loop: + - com.valvesoftware.Steam + ignore_errors: yes + when: gaming is defined + +- name: Workstation | Linux | Flatpak Distro | Flatpak | Gaming Uninstalls + flatpak: + name: "{{ item }}" + remote: flathub + state: absent + loop: + - com.valvesoftware.Steam + ignore_errors: yes + when: gaming is not defined + +# Removals # - name: Workstation | Linux | Flatpak Distro | Flatpak | Application Uninstalls flatpak: name: "{{ item }}" @@ -47,6 +116,8 @@ ignore_errors: yes +## Other Stuff ## + # Software not yet available or working properly in Flatpak form. - name: Workstation | Linux | Flatpak Distro | Package Manager | Install From Repo package: @@ -56,7 +127,45 @@ - "{{ appimagelauncher }}" state: present -- name: Workstation | Linux | Flatpak Distro | Package Manager | Remove Applciations +- name: Workstation | Linux | Flatpak Distro | Package Manager | Remove Firefox Normal + package: + name: + - "{{ firefox }}" + state: absent + when: firefox != firefox_esr + +# Lutris # +- name: Workstation | Linux | Flatpak Distro | Package Manager | Add Lutris PPA (Ubuntu) + apt_repository: + repo: ppa:lutris-team/lutris + update_cache: yes + state: present + when: ansible_distribution == "Ubuntu" and gaming is defined + +- name: Workstation | Linux | Flatpak Distro | Package Manager | Add Lutris (besides ARM) + package: + name: + - lutris + state: present + when: ansible_architecture != "aarch64" and gaming is defined + +- name: Workstation | Linux | Flatpak Distro | Package Manager | Remove Lutris (besides ARM) + package: + name: + - lutris + state: absent + ignore_errors: yes + when: ansible_architecture != "aarch64" and gaming is not defined + +- name: Workstation | Linux | Flatpak Distro | Package Manager | Remove Lutris PPA (Ubuntu) + apt_repository: + repo: ppa:lutris-team/lutris + update_cache: yes + state: absent + when: ansible_distribution == "Ubuntu" and gaming is not defined + +# Remove Repo Software # +- name: Workstation | Linux | Flatpak Distro | Package Manager | Remove Applications package: name: - "{{ thunderbird }}" @@ -64,25 +173,4 @@ - steam - vscode - code - state: absent - -- name: Workstation | Linux | Flatpak Distro | Package Manager | Add Lutris PPA (Ubuntu) - apt_repository: - repo: ppa:lutris-team/lutris - update_cache: yes - state: present - when: ansible_distribution == "Ubuntu" - -- name: Workstation | Linux | Flatpak Distro | Package Manager | Add Lutris (besides ARM) - package: - name: - - lutris - state: present - when: ansible_architecture != "aarch64" - -- name: Workstation | Linux | Flatpak Distro | Package Manager | Remove Firefox Normal - package: - name: - - "{{ firefox }}" - state: absent - when: firefox != firefox_esr \ No newline at end of file + state: absent \ No newline at end of file diff --git a/tasks/workstation/settings/gnome.yml b/tasks/workstation/settings/gnome.yml index 1615613..4514698 100644 --- a/tasks/workstation/settings/gnome.yml +++ b/tasks/workstation/settings/gnome.yml @@ -42,9 +42,9 @@ dconf: key: /org/gnome/shell/favorite-apps value: "['org.gnome.Terminal.desktop', 'gnome-system-monitor.desktop', 'org.gnome.Nautilus.desktop', - '{{ browser }}', 'org.mozilla.Thunderbird.desktop', - 'com.discordapp.Discord.desktop', 'io.lbry.lbry-app.desktop', 'com.visualstudio.code-oss.desktop', 'com.google.AndroidStudio.desktop', - 'org.shotcut.Shotcut.desktop', 'com.obsproject.Studio.desktop', 'com.valvesoftware.Steam.desktop', 'net.lutris.Lutris.desktop']" + '{{ browser }}', 'org.mozilla.Thunderbird.desktop', 'com.discordapp.Discord.desktop', + 'rhythmbox.desktop', 'io.lbry.lbry-app.desktop', 'com.visualstudio.code-oss.desktop', + 'org.shotcut.Shotcut.desktop', 'com.valvesoftware.Steam.desktop', 'net.lutris.Lutris.desktop']" state: present become_user: ling when: ansible_system == "Linux"