Hyperling 1f5fdb7eb5
General Release (#17)
* Add a few aliases for initializing projects.

* Begin creating executables in bin for flatpaks. Create an array to reduce future changes.

* Add quotes.

* Create files as user and set executable permissions.

* Split exec dir from array section.

* Increase interval for Telegraf but keep the flush at 30s.

* Add alias goodbye/bye, modify alias names for initializing program and video projects.

* Add newline.

* Add content to file to remove warning.

* Use arrays for Flatpak sections. Create executable files for them.

* Move sudoer files into shared folder.

* First stab at automating a GitLab install.

* First stab at automating DWM install.

* Fix 'usr' typo.

* Lowercase dwm.

* Fix config play. Install font-awesome.

* Add placeholder.

* Add dmenu and st.

* Fix typo. Hopefully also fixes ~/bin executables.

* Add Signal. Remove Discord.

* Remove extra line.

* Add newline.

* Move dbus-launch to correct app.

* Fix clock minutes.

* Add server for GitLab.

* Change check, package was not registering anything.

* Change success to failed.

* Change to http. Will use reverse proxy.

* Remove useless sudo. Go ahead and allow postfix to be installed.

* Fix debug option "var".

* Only give the out lines. Remove exit, doesn't stop the job.

* Add a few games and test them on dell-laptop.

* Ignore Lutris errors, Rolling Rhino doesn't like the PPA. ;)

* Add goodbye for updating then quitting.

* Add airbook to gaming.

* Add dnf.

* Fix missing underscores.

* Install cronie on Fedora.

* Beginning to add Fedora.

* Add Fedora values.

* Make font-awesome optional since it may need installed manually on some systems.

* Fix typo in ignore_errors.

* Allow DWM to fail, won't work for all workstations. Fedora doesn't have X11 headers.

* Most dists are using python3-psutil for the psutil package name. Make it the default.

* Fix firefox_esr variable.

* More Fedora support.

* Move installation of cron to more applicable task list.

* Fic nfs-utils typo.

* The font is honestly pretty important. ;)

* Add Librewolf for testing vs Brave.

* For some reason the other link didn't work for Fedora, add the one from flatpak's instructions.

* Fedora status update.

* Add games to Inspiron.

* LibreWolf is amazing. Use it as default if available.

* Use English rather than code for `and` and `or`.

* Always have LibreWolf pinned if it's available. Brave should still be the main browser for URL-clicking compatibility.

* Fix comma.

* Add entry for testing Fedora Gitlab server.

* Attempt to automate more of the Gitlab setup, especially the part of being behind a reverse proxy. Also add Fedora family support.

* Specify the package managers for Gitlab.

* Add missing bracket.

* Add another missing bracket.

* Fix gitlab's when clause.

* Another fix for the gitlab when.

* Change original gitlab install to be Community Edition.

* Fix mgr typo. Create config file if it doesn't exist.

* Remove duplicate `when` on Lutris uninstall.

* Gitlab script gets a packagecloud.io error for Fedora. Looks like only CentOS and its derivatives are supported.

* Update status of Fedora.
2021-11-07 12:40:31 -06:00

330 lines
10 KiB
YAML

---
# Use flatpaks because they're consistent! :)
## Flatpak Pre-reqs ##
- name: Workstation | Linux | Flatpak Distro | Flatpak | Install
package:
name: flatpak
update_cache: yes
- name: Workstation | Linux | Flatpak Distro | Flatpak | Add Flathub for System
flatpak_remote:
name: flathub
state: present
method: system
flatpakrepo_url: https://dl.flathub.org/repo/flathub.flatpakrepo
- name: Workstation | Linux | Flatpak Distro | Flatpak | Add Flathub for System (#2)
flatpak_remote:
name: flathub2
state: present
method: system
flatpakrepo_url: https://flathub.org/repo/flathub.flatpakrepo
## Flatpak Installs ##
- name: Workstation | Linux | Flatpak Distro | Flatpak | Variables
set_fact:
flatpak_exec_dir: "{{ user_ling.home }}/bin"
flatpak_exec: "flatpak run"
- name: Workstation | Linux | Flatpak Distro | Flatpak | Arrays
set_fact:
flatpaks_generic:
- { app: "org.libreoffice.LibreOffice", name: "office", extra: "" }
- { app: "org.telegram.desktop", name: "telegram", extra: "" }
- { app: "io.lbry.lbry-app", name: "lbry", extra: "dbus-launch" }
- { app: "org.signal.Signal", name: "signal", extra: "" }
- { app: "io.gitlab.librewolf-community", name: "librewolf", extra: "" }
flatpaks_coding:
- { app: "com.vscodium.codium", name: "codium", extra: "" }
- { app: "com.google.AndroidStudio", name: "android-studio", extra: "" }
- { app: "com.jetbrains.PyCharm-Community", name: "pycharm", extra: "" }
- { app: "io.dbeaver.DBeaverCommunity", name: "dbeaver", extra: "" }
flatpaks_editing:
- { app: "org.shotcut.Shotcut", name: "shotcut", extra: "" }
- { app: "com.obsproject.Studio", name: "obs", extra: "" }
- { app: "org.gimp.GIMP", name: "gimp", extra: "" }
flatpaks_gaming:
- { app: "com.valvesoftware.Steam", name: "steam", extra: "" }
- { app: "com.play0ad.zeroad", name: "zeroad", extra: "" }
- { app: "net.supertuxkart.SuperTuxKart", name: "tuxkart", extra: "" }
flatpaks_remove:
- { app: "org.mozilla.firefox", name: "firefox", extra: "" }
- { app: "com.visualstudio.code", name: "vscode", extra: "" } # Why does this throw an error? It's the correct ID.
- { app: "com.visualstudio.code-oss", name: "code-oss", extra: "" }
- { app: "org.midori_browser.Midori", name: "midori", extra: "" }
- { app: "com.github.Eloston.UngoogledChromium", name: "unchrome", extra: "" }
- { app: "org.gnome.Evolution", name: "evolution", extra: "" } # Doesn't pick up GNOME theme since contained.
- { app: "org.mozilla.Thunderbird", name: "thunderbird", extra: "" } # Doesn't integrate with Nextcloud as well as Evolution.
- { app: "org.audacityteam.Audacity", name: "audacity", extra: "" } # Say "no thanks" to spyware.
- { app: "com.discordapp.Discord", name: "discord", extra: "" } # Stopped working, just spins and says Starting.
# Generic #
- name: Workstation | Linux | Flatpak Distro | Flatpak | Generic | Installs
flatpak:
name: "{{ item.app }}"
remote: flathub
state: present
loop: "{{ flatpaks_generic }}"
ignore_errors: yes
- name: Workstation | Linux | Flatpak Distro | Flatpak | Generic | Executables
blockinfile:
path: "{{ flatpak_exec_dir }}/{{ item.name }}"
block: |
{{ item.extra }} {{ flatpak_exec }} {{ item.app }}
marker: '{mark}'
marker_begin: "#!{{ bash_exec.stdout }}"
marker_end: "exit 0"
state: present
create: yes
loop: "{{ flatpaks_generic }}"
become_user: ling
- name: Workstation | Linux | Flatpak Distro | Flatpak | Generic | Executable Permissions
file:
path: "{{ flatpak_exec_dir }}/{{ item.name }}"
state: file
mode: '0755'
loop: "{{ flatpaks_generic }}"
# Coding #
- name: Workstation | Linux | Flatpak Distro | Flatpak | Coding | Installs
flatpak:
name: "{{ item.app }}"
remote: flathub
state: present
loop: "{{ flatpaks_coding }}"
ignore_errors: yes
when: coding is defined
- name: Workstation | Linux | Flatpak Distro | Flatpak | Coding | Executables
blockinfile:
path: "{{ flatpak_exec_dir }}/{{ item.name }}"
block: |
{{ item.extra }} {{ flatpak_exec }} {{ item.app }}
marker: '{mark}'
marker_begin: "#!{{ bash_exec.stdout }}"
marker_end: "exit 0"
state: present
create: yes
loop: "{{ flatpaks_coding }}"
become_user: ling
when: coding is defined
- name: Workstation | Linux | Flatpak Distro | Flatpak | Coding | Executable Permissions
file:
path: "{{ flatpak_exec_dir }}/{{ item.name }}"
state: file
mode: '0755'
loop: "{{ flatpaks_coding }}"
when: coding is defined
- name: Workstation | Linux | Flatpak Distro | Flatpak | Coding | Uninstall
flatpak:
name: "{{ item.app }}"
remote: flathub
state: absent
loop: "{{ flatpaks_coding }}"
ignore_errors: yes
when: coding is not defined
- name: Workstation | Linux | Flatpak Distro | Flatpak | Coding | Remove Executables
file:
path: "{{ flatpak_exec_dir }}/{{ item.name }}"
state: absent
loop: "{{ flatpaks_coding }}"
ignore_errors: yes
when: coding is not defined
# Media Editors #
- name: Workstation | Linux | Flatpak Distro | Flatpak | Audio/Video Editors | Installs
flatpak:
name: "{{ item.app }}"
remote: flathub
state: present
loop: "{{ flatpaks_editing }}"
ignore_errors: yes
when: editing is defined
- name: Workstation | Linux | Flatpak Distro | Flatpak | Audio/Video Editors | Executables
blockinfile:
path: "{{ flatpak_exec_dir }}/{{ item.name }}"
block: |
{{ item.extra }} {{ flatpak_exec }} {{ item.app }}
marker: '{mark}'
marker_begin: "#!{{ bash_exec.stdout }}"
marker_end: "exit 0"
state: present
create: yes
loop: "{{ flatpaks_editing }}"
become_user: ling
when: editing is defined
- name: Workstation | Linux | Flatpak Distro | Flatpak | Audio/Video Editors | Executable Permissions
file:
path: "{{ flatpak_exec_dir }}/{{ item.name }}"
state: file
mode: '0755'
loop: "{{ flatpaks_editing }}"
when: editing is defined
- name: Workstation | Linux | Flatpak Distro | Flatpak | Audio/Video Editor Uninstalls
flatpak:
name: "{{ item.app }}"
remote: flathub
state: absent
loop: "{{ flatpaks_editing }}"
ignore_errors: yes
when: editing is not defined
- name: Workstation | Linux | Flatpak Distro | Flatpak | Audio/Video Editors | Remove Executables
file:
path: "{{ flatpak_exec_dir }}/{{ item.name }}"
state: absent
loop: "{{ flatpaks_editing }}"
ignore_errors: yes
when: editing is not defined
# Gaming #
- name: Workstation | Linux | Flatpak Distro | Flatpak | Gaming | Installs
flatpak:
name: "{{ item.app }}"
remote: flathub
state: present
loop: "{{ flatpaks_gaming }}"
ignore_errors: yes
when: gaming is defined
- name: Workstation | Linux | Flatpak Distro | Flatpak | Gaming | Executables
blockinfile:
path: "{{ flatpak_exec_dir }}/{{ item.name }}"
block: |
{{ item.extra }} {{ flatpak_exec }} {{ item.app }}
marker: '{mark}'
marker_begin: "#!{{ bash_exec.stdout }}"
marker_end: "exit 0"
state: present
create: yes
loop: "{{ flatpaks_gaming }}"
become_user: ling
when: gaming is defined
- name: Workstation | Linux | Flatpak Distro | Flatpak | Gaming | Executable Permissions
file:
path: "{{ flatpak_exec_dir }}/{{ item.name }}"
state: file
mode: '0755'
loop: "{{ flatpaks_gaming }}"
when: gaming is defined
- name: Workstation | Linux | Flatpak Distro | Flatpak | Gaming | Uninstalls
flatpak:
name: "{{ item.app }}"
remote: flathub
state: absent
loop: "{{ flatpaks_gaming }}"
ignore_errors: yes
when: gaming is not defined
- name: Workstation | Linux | Flatpak Distro | Flatpak | Gaming | Remove Executables
file:
path: "{{ flatpak_exec_dir }}/{{ item.name }}"
state: absent
loop: "{{ flatpaks_gaming }}"
ignore_errors: yes
when: gaming is not defined
# Removals #
- name: Workstation | Linux | Flatpak Distro | Flatpak | Uninstalls | Uninstall
flatpak:
name: "{{ item.app }}"
remote: flathub
state: absent
loop: "{{ flatpaks_remove }}"
ignore_errors: yes
- name: Workstation | Linux | Flatpak Distro | Flatpak | Uninstalls | Remove Executables
file:
path: "{{ flatpak_exec_dir }}/{{ item.name }}"
state: absent
loop: "{{ flatpaks_remove }}"
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:
name:
- "{{ firefox_esr }}"
- vlc
- "{{ appimagelauncher }}"
- "{{ evolution }}"
- "{{ evolution }}*"
state: present
- 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
ignore_errors: yes
- name: Workstation | Linux | Flatpak Distro | Package Manager | Add Lutris (besides ARM)
package:
name:
- lutris
state: present
when: ansible_architecture != "aarch64" and gaming is defined
ignore_errors: yes
- name: Workstation | Linux | Flatpak Distro | Package Manager | Remove Lutris (besides ARM)
package:
name:
- lutris
state: absent
when: ansible_architecture != "aarch64" and gaming is not defined
ignore_errors: yes
- 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
ignore_errors: yes
# Remove Repo Software #
- name: Workstation | Linux | Flatpak Distro | Package Manager | Remove Applications
package:
name:
- "{{ thunderbird }}"
- steam
- vscode
- code
- '*libreoffice*'
- gimp
state: absent