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.
This commit is contained in:
2021-11-07 12:40:31 -06:00
committed by GitHub
parent d3357cb2d9
commit 1f5fdb7eb5
21 changed files with 607 additions and 89 deletions

View File

@ -0,0 +1,73 @@
---
# Nice, simple, and easy to use tiling window manager.
# https://dwm.suckless.org/
# https://sites.google.com/site/lazyboxx/-articles/dwm-a-newbie-s-guide#TOC-Status-Bar
## Pre-reqs ##
- name: Workstation | Linux | Software | DWM | Pre-Reqs
package:
name:
- git
- "{{ make }}"
- "{{ dmenu }}"
- "{{ font_awesome }}"
update_cache: yes
## Download ##
- name: Workstation | Linux | Software | DWM | Git Clone
git:
repo: https://git.suckless.org/dwm
dest: "{{ dwm_install_dir }}"
clone: yes
force: yes
- name: Workstation | Linux | Software | DWM | Git Clone (st)
git:
repo: https://git.suckless.org/st
dest: "{{ st_install_dir }}"
clone: yes
force: yes
## Configuration ##
- name: Workstation | Linux | Software | DWM | Config File
copy:
src: dwm/config.h
dest: "{{ dwm_install_dir }}"
owner: root
group: "{{ root_group }}"
mode: 0755
## Install ##
- name: Workstation | Linux | Software | DWM | Install
shell: "cd {{ dwm_install_dir }}; {{ make }} clean install"
- name: Workstation | Linux | Software | DWM | Install (st)
shell: "cd {{ st_install_dir }}; {{ make }} clean install"
## X Init Sript ##
- name: Workstation | Linux | Software | DWM | Shell Script
copy:
src: dwm/dwm.sh
dest: "{{ global_bin }}"
owner: root
group: "{{ root_group }}"
mode: 0755
## Desktop File ##
- name: Workstation | Linux | Software | DWM | Desktop File
copy:
src: dwm/dwm.desktop
dest: "{{ x_desktops }}"
owner: root
group: "{{ root_group }}"
mode: 0644

View File

@ -2,6 +2,7 @@
# Use flatpaks because they're consistent! :)
## Flatpak Pre-reqs ##
- name: Workstation | Linux | Flatpak Distro | Flatpak | Install
package:
name: flatpak
@ -14,23 +15,56 @@
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"
# Generic #
- name: Workstation | Linux | Flatpak Distro | Flatpak | Generic Array
- name: Workstation | Linux | Flatpak Distro | Flatpak | Arrays
set_fact:
flatpaks_generic:
- { app: "org.libreoffice.LibreOffice", name: "office" }
- { app: "com.discordapp.Discord", name: "discord" }
- { app: "org.telegram.desktop", name: "telegram" }
- { app: "io.lbry.lbry-app", name: "lbry" }
- { 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.
- name: Workstation | Linux | Flatpak Distro | Flatpak | Generic Installs
# Generic #
- name: Workstation | Linux | Flatpak Distro | Flatpak | Generic | Installs
flatpak:
name: "{{ item.app }}"
remote: flathub
@ -38,11 +72,11 @@
loop: "{{ flatpaks_generic }}"
ignore_errors: yes
- name: Workstation | Linux | Flatpak Distro | Flatpak | Generic Executables
- name: Workstation | Linux | Flatpak Distro | Flatpak | Generic | Executables
blockinfile:
path: "{{ flatpak_exec_dir }}/{{ item.name }}"
block: |
flatpak run {{ item.app }}
{{ item.extra }} {{ flatpak_exec }} {{ item.app }}
marker: '{mark}'
marker_begin: "#!{{ bash_exec.stdout }}"
marker_end: "exit 0"
@ -51,7 +85,7 @@
loop: "{{ flatpaks_generic }}"
become_user: ling
- name: Workstation | Linux | Flatpak Distro | Flatpak | Generic Executable Permissions
- name: Workstation | Linux | Flatpak Distro | Flatpak | Generic | Executable Permissions
file:
path: "{{ flatpak_exec_dir }}/{{ item.name }}"
state: file
@ -59,99 +93,177 @@
loop: "{{ flatpaks_generic }}"
# Coding #
- name: Workstation | Linux | Flatpak Distro | Flatpak | Coding Installs
- name: Workstation | Linux | Flatpak Distro | Flatpak | Coding | Installs
flatpak:
name: "{{ item }}"
name: "{{ item.app }}"
remote: flathub
state: present
loop:
- com.vscodium.codium
- com.google.AndroidStudio
- com.jetbrains.PyCharm-Community
- io.dbeaver.DBeaverCommunity
loop: "{{ flatpaks_coding }}"
ignore_errors: yes
when: coding is defined
- name: Workstation | Linux | Flatpak Distro | Flatpak | Coding Uninstalls
- 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 }}"
name: "{{ item.app }}"
remote: flathub
state: absent
loop:
- com.vscodium.codium
- com.google.AndroidStudio
- com.jetbrains.PyCharm-Community
- io.dbeaver.DBeaverCommunity
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 Editor Installs
- name: Workstation | Linux | Flatpak Distro | Flatpak | Audio/Video Editors | Installs
flatpak:
name: "{{ item }}"
name: "{{ item.app }}"
remote: flathub
state: present
loop:
- org.shotcut.Shotcut
- com.obsproject.Studio
- org.gimp.GIMP
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 }}"
name: "{{ item.app }}"
remote: flathub
state: absent
loop:
- org.shotcut.Shotcut
- com.obsproject.Studio
- org.gimp.GIMP
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
- name: Workstation | Linux | Flatpak Distro | Flatpak | Gaming | Installs
flatpak:
name: "{{ item }}"
name: "{{ item.app }}"
remote: flathub
state: present
loop:
- com.valvesoftware.Steam
loop: "{{ flatpaks_gaming }}"
ignore_errors: yes
when: gaming is defined
- name: Workstation | Linux | Flatpak Distro | Flatpak | Gaming Uninstalls
- 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 }}"
name: "{{ item.app }}"
remote: flathub
state: absent
loop:
- com.valvesoftware.Steam
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 | Application Uninstalls
- name: Workstation | Linux | Flatpak Distro | Flatpak | Uninstalls | Uninstall
flatpak:
name: "{{ item }}"
name: "{{ item.app }}"
remote: flathub
state: absent
loop:
- org.mozilla.firefox
- com.visualstudio.code # Why does this throw an error? It's the correct ID.
- com.visualstudio.code-oss
- org.midori_browser.Midori
- com.github.Eloston.UngoogledChromium
- org.gnome.Evolution # Doesn't pick up GNOME theme since contained.
- org.mozilla.Thunderbird # Doesn't integrate with Nextcloud as well as Evolution.
- org.audacityteam.Audacity # Say "no thanks" to spyware.
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:
@ -170,12 +282,14 @@
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:
@ -183,14 +297,15 @@
- 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
ignore_errors: yes
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:
@ -198,8 +313,10 @@
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: