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

283 lines
9.5 KiB
YAML

---
# GNOME settings, extensions, and setup.
# Check for special software that may need added to favorites.
- name: Workstation | Account Management | GNOME | Facts | Defaults
set_fact:
browser: "com.github.Eloston.UngoogledChromium.desktop"
- name: Workstation | Account Management | GNOME | Checks | Brave | Locate
shell: which brave-browser
register: brave
ignore_errors: yes
- name: Workstation | Account Management | GNOME | Checks | Brave | Set As Browser
set_fact:
browser: "brave-browser.desktop"
when: not brave.failed
#- name: Workstation | Account Management | GNOME | Checks | LibreWolf | Locate
# shell: which librewolf
# register: librewolf
# ignore_errors: yes
#
#- name: Workstation | Account Management | GNOME | Checks | LibreWolf | Set As Browser
# set_fact:
# browser: "io.gitlab.librewolf-community.desktop"
# when: not librewolf.failed or (flatpak_distro is defined and flatpak_distro)
# Make sure Gnome-Tweaks is installed
- name: Workstation | Account Management | GNOME | Install Dependencies
package:
name:
- "{{ gnome_tweaks }}"
- "{{ dconf_editor }}"
- "{{ psutil }}"
state: present
## Dash to Dock Extension ##
# Note: Validate DtD by checking /org/gnome/shell/enabled-extensions for dash-to-dock@micxgx.gmail.com
- name: Workstation | Account Management | GNOME | Dash To Dock | Check
shell: "cd ~/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/"
become_user: ling
register: dash_to_dock_exists
ignore_errors: yes
# Install #
# https://micheleg.github.io/dash-to-dock/download.html
- name: Workstation | Account Management | GNOME | Dash To Dock | Install | Clone Repo
git:
repo: https://github.com/micheleg/dash-to-dock.git
dest: "~/TRASH/dash-to-dock/"
clone: yes
force: no
version: master
become_user: ling
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Install | Dependencies
package:
name:
- "{{ make }}"
- "{{ msgfmt }}"
- "{{ sassc }}"
state: present
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Install | Make
shell: "cd ~/TRASH/dash-to-dock/; {{ make }}; {{ make }} install"
become_user: ling
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Read Enabled Extension Array
dconf:
key: /org/gnome/shell/enabled-extensions
state: read
become_user: ling
register: gnome_enabled_extensions
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | dconf Return Object
debug:
var: gnome_enabled_extensions
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
# https://ansible-docs.readthedocs.io/zh/stable-2.0/rst/playbooks_filters.html#filters-for-formatting-data
- name: Workstation | Account Management | GNOME | Dash To Dock | Variables 1
set_fact:
gnome_enabled_extensions: "{{ gnome_enabled_extensions.value | replace('@as ', '') }}"
dash_to_dock_ext_comma: ""
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | After replace()
debug:
var: gnome_enabled_extensions
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Variables 2
set_fact:
dash_to_dock_ext_comma: ", "
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed and gnome_enabled_extensions not in ("[]", [], "None")
- name: Workstation | Account Management | GNOME | Dash To Dock | Variables 3
set_fact:
dash_to_dock_ext_name: "{{ dash_to_dock_ext_comma }}'dash-to-dock@micxgx.gmail.com']"
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Variables 4
set_fact:
gnome_enabled_extensions: "[]"
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed and gnome_enabled_extensions == "None"
- name: Workstation | Account Management | GNOME | Dash To Dock | Print Value To Append With
debug:
var: dash_to_dock_ext_name
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Print Value To Append To
debug:
var: gnome_enabled_extensions
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Print Combined Value
debug:
msg: "{{ gnome_enabled_extensions | replace(']', dash_to_dock_ext_name) }}"
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
- name: Workstation | Account Management | GNOME | Dash To Dock | Enable
dconf:
key: /org/gnome/shell/enabled-extensions
value: "{{ gnome_enabled_extensions | replace(']', dash_to_dock_ext_name) }}"
state: present
become_user: ling
when: ansible_distribution not in ("Ubuntu") and dash_to_dock_exists.failed
# Settings #
- name: Workstation | Account Management | GNOME | Dash To Dock | Dock Position
dconf:
key: /org/gnome/shell/extensions/dash-to-dock/dock-position
value: "'LEFT'"
state: present
become_user: ling
- name: Workstation | Account Management | GNOME | Dash To Dock | Dock Fixed
dconf:
key: /org/gnome/shell/extensions/dash-to-dock/dock-fixed
value: "true"
state: present
become_user: ling
- name: Workstation | Account Management | GNOME | Dash To Dock | Icon Size
dconf:
key: /org/gnome/shell/extensions/dash-to-dock/dash-max-icon-size
value: "32"
state: present
become_user: ling
- name: Workstation | Account Management | GNOME | Favorites (Linux)
dconf:
key: /org/gnome/shell/favorite-apps
value: "['org.gnome.Terminal.desktop', 'gnome-system-monitor.desktop', 'org.gnome.Nautilus.desktop',
'io.gitlab.librewolf-community.desktop', '{{ browser }}', 'org.gnome.Evolution.desktop',
'com.vscodium.codium.desktop', 'org.shotcut.Shotcut.desktop',
'org.telegram.desktop.desktop', 'com.discordapp.Discord.desktop',
'io.lbry.lbry-app.desktop',
'com.valvesoftware.Steam.desktop']"
state: present
become_user: ling
when: ansible_system == "Linux"
- name: Workstation | Account Management | GNOME | Favorites (FreeBSD)
dconf:
key: /org/gnome/shell/favorite-apps
value: "['org.gnome.Terminal.desktop', 'org.gnome.Nautilus.desktop',
'firefox.desktop', 'org.gnome.Evolution.desktop', 'org.mozilla.Thunderbird.desktop',
'code-oss.desktop', 'org.telegram.desktop.desktop']"
state: present
become_user: ling
when: ansible_system == "FreeBSD"
## Top Bar Settings ##
# (Battery Percentage, Clock Weekday+Seconds, Calendar Week Numbers)
- name: Workstation | Account Management | GNOME | Interface - Show Date
dconf:
key: /org/gnome/desktop/interface/clock-show-date
value: "true"
state: present
become_user: ling
- name: Workstation | Account Management | GNOME | Interface - 24h Format
dconf:
key: /org/gnome/desktop/interface/clock-format
value: "'24h'"
state: present
become_user: ling
- name: Workstation | Account Management | GNOME | Interface - Show Seconds
dconf:
key: /org/gnome/desktop/interface/clock-show-seconds
value: "true"
state: present
become_user: ling
- name: Workstation | Account Management | GNOME | Interface - Show Weekday
dconf:
key: /org/gnome/desktop/interface/clock-show-weekday
value: "true"
state: present
become_user: ling
- name: Workstation | Account Management | GNOME | Interface - 24h Format
dconf:
key: /org/gnome/desktop/interface/show-battery-percentage
value: "true"
state: present
become_user: ling
- name: Workstation | Account Management | GNOME | Interface - Show Week Date
dconf:
key: /org/gnome/desktop/calendar/show-weekdate
value: "true"
state: present
become_user: ling
# Never Prompt for Removal Media
# Dark theme?
#Pop-dark on Pop
#Adwaita-dark on everything else
# Window Titlebars (Titlebar Buttons Minimize)
- name: Workstation | Account Management | GNOME | Window Buttons
dconf:
key: /org/gnome/desktop/wm/preferences/button-layout
value: "'appmenu:minimize,close'"
state: present
become_user: ling
# Security
- name: Workstation | Account Management | GNOME | Privacy - Camera
dconf:
key: /org/gnome/desktop/privacy/disable-camera
value: "true"
state: present
become_user: ling
- name: Workstation | Account Management | GNOME | Privacy - Microphone
dconf:
key: /org/gnome/desktop/privacy/disable-microphone
value: "true"
state: present
become_user: ling
# Schemas to try after looking at gsettings list-schemas | sort
# org.gnome.ControlCenter -- not very interesting
# org.gnome.desktop.default-applications -- nothing?? Where do we set Brave and Evolution?
# org.gnome.desktop.interface -- Good stuff in here.
# org.gnome.desktop.peripherals -- Nothing :(
# org.gnome.desktop.privacy -- Good stuff here too!! Cool!
# org.gnome.desktop.session
# org.gnome.desktop.wm.keybindings
# org.gnome.desktop.wm.preferences
# org.gnome.power-manager
# org.gnome.SessionManager
# org.gnome.shell
# org.gnome.shell.extensions.pop-shell
# org.gnome.shell.keybindings