Fixes and Enhancements (#48)

* Fix metasplot install if /usr/local/bin is not active in path yet. Also use variables.

* Use plocate on openSUSE. Supposed to be faster. Cannot have both m and p installed at the same time and p comes with the base system.

* Include wheel group for user as well.

* Finalize GNOME settings, go with RC commands instead of dconf module.

* Add hostname to report files.

* Add TBD for shared home situation.

* Fix cron service for Fedora.

* Disable the power button.

* Fix Fedora ffmpeg issues. Move package modules from flatpak playbook. Uninstall firefox from package manager.

* Enhance update function to handle shared home between multiple distributions.

* Allow keeping local backups of files.

* Replace flatpak repair check with accept flag instead of battery so that any automated update runs do the cleanup.

* Begin hoarding settings files.

* Start building out a FireFox profile.

* Fix extra comment command in comment.

* Add an All option to completely compress the entire directory.

* Codium is still broken on all tested systems, hide from Favorites.

* Add scipt to handle audio files. Also can convert to 432Hz.

* Use cut instead of awk to get rid of first parameter. Fixes bugs when spaces are allowed in the filenames.

* Enhancements and bugfix for "$freq".

* Add playbook for desktop VPN clients. Start with Mullvad.

* Add website to the seeded projects.

* Add firmware updates to the update function.

* Allow `fwupdmgr` to fail and have `update` still continue.

* Shorten lines.

* Uninstall DeltaChat.

* Separate the firmware update into its own function.

* Add alias for cloning one folder to another without using rm/cp.

* Fix typo in rsync.

* Go ahead and add extra options.

* Make the files human readable size descriptions.

* Remove unnecessary v, P does good enough.
This commit is contained in:
2024-01-23 09:43:42 -07:00
committed by GitHub
parent 392294fb45
commit 7519f23a81
20 changed files with 588 additions and 347 deletions

View File

@ -1,6 +1,8 @@
---
# GNOME settings, extensions, and setup.
# Temporarily removed while it's broken:
# , 'com.vscodium.codium.desktop', 'codium.desktop'
- name: Workstation | Account Management | GNOME | Facts
set_fact:
# Only do multiple entries per line if they are for the same exact program.
@ -14,7 +16,6 @@
, 'chat.delta.desktop.desktop', 'deltachat.desktop'
, 'org.gnome.Geary.desktop'
, 'org.mozilla.Thunderbird.desktop'
, 'com.vscodium.codium.desktop', 'codium.desktop'
, 'com.visualstudio.code-oss.desktop', 'code-oss.desktop'
, 'org.godotengine.Godot.desktop'
, 'org.shotcut.Shotcut.desktop'
@ -152,145 +153,12 @@
become_user: "{{ user }}"
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: "{{ user }}"
- 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: "{{ user }}"
- name: Workstation | Account Management | GNOME | Dash To Dock | Icon Size
dconf:
key: /org/gnome/shell/extensions/dash-to-dock/dash-max-icon-size
value: "28"
state: present
become_user: "{{ user }}"
when: ansible_distribution not in ("NixOS")
ignore_errors: yes
# End block for Dash To Dock.
## TBD Remove this after testing the RC version is successful on Ubuntu.
#- name: Workstation | Account Management | GNOME | More Settings
# block:
#
# - name: Workstation | Account Management | GNOME + Cinnamon | Favorites (Linux)
# dconf:
# key: "{{ item }}"
# value: "{{ gnome_favorites }}"
# state: present
# become_user: "{{ user }}"
# #when: ansible_system == "Linux"
# loop:
# - /org/gnome/shell/favorite-apps
# # - /org/cinnamon/favorite-apps
# # As of 2023-07-01 this only sets the Menu Favorites on Cinnamon, not the
# # Panel Pins. Cannot find any details online of where the pinned application
# # data lives. Cloned and searched the linuxmint/cinnamon project too and
# # couldn't find which function handles it. Leaving the loop for it but it's
# # not what was hoped for and is sort of a TBD/TODO.
#
# ## This is now handled by the task above, it's OK to have values not found.
# #- 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: "{{ user }}"
# # 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: "{{ user }}"
#
# - name: Workstation | Account Management | GNOME | Interface - 24h Format
# dconf:
# key: /org/gnome/desktop/interface/clock-format
# value: "'24h'"
# state: present
# become_user: "{{ user }}"
#
# - name: Workstation | Account Management | GNOME | Interface - Show Seconds
# dconf:
# key: /org/gnome/desktop/interface/clock-show-seconds
# value: "true"
# state: present
# become_user: "{{ user }}"
#
# - name: Workstation | Account Management | GNOME | Interface - Show Weekday
# dconf:
# key: /org/gnome/desktop/interface/clock-show-weekday
# value: "true"
# state: present
# become_user: "{{ user }}"
#
# - name: Workstation | Account Management | GNOME | Interface - 24h Format
# dconf:
# key: /org/gnome/desktop/interface/show-battery-percentage
# value: "true"
# state: present
# become_user: "{{ user }}"
#
# - name: Workstation | Account Management | GNOME | Interface - Show Week Date
# dconf:
# key: /org/gnome/desktop/calendar/show-weekdate
# value: "true"
# state: present
# become_user: "{{ user }}"
#
# ## TBD These are done for NixOS in the section below. ##
# # 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: "{{ user }}"
#
#
# # Security
# - name: Workstation | Account Management | GNOME | Privacy - Camera
# dconf:
# key: /org/gnome/desktop/privacy/disable-camera
# value: "true"
# state: present
# become_user: "{{ user }}"
#
# - name: Workstation | Account Management | GNOME | Privacy - Microphone
# dconf:
# key: /org/gnome/desktop/privacy/disable-microphone
# value: "true"
# state: present
# become_user: "{{ user }}"
#
# when: ansible_distribution not in ("NixOS")
## NixOS support, in an odd but working fashion for now. :)
- name: Workstation | Account Management | GNOME | Dash To Dock | NixOS
# Apply dconf settings through RC files due to distros without working psutil.
- name: Workstation | Account Management | GNOME | Settings
blockinfile:
path: "{{ user_user.home }}/{{ item }}"
block: |
@ -383,6 +251,7 @@
dconf write /org/gnome/desktop/screensaver/lock-delay "uint32 0" && inc_dconf &&
dconf write /org/gnome/desktop/session/idle-delay "uint32 900" && inc_dconf &&
dconf write /org/gnome/settings-daemon/plugins/power/sleep-inactive-ac-type "'nothing'" && inc_dconf &&
dconf write /org/gnome/settings-daemon/plugins/power/power-button-action "'nothing'" && inc_dconf &&
dconf write /org/gnome/desktop/media-handling/autorun-never true && inc_dconf &&
@ -406,4 +275,3 @@
loop:
- .bashrc
- .zshrc
#when: ansible_distribution in ("NixOS")