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:
@ -37,12 +37,11 @@
|
||||
flatpaks_generic:
|
||||
- { app: "org.libreoffice.LibreOffice", name: "office", extra: "" }
|
||||
- { app: "io.gitlab.librewolf-community", name: "librewolf", extra: "" }
|
||||
- { app: "chat.delta.desktop", name: "deltachat", extra: "" }
|
||||
- { app: "org.signal.Signal", name: "signal", extra: "" }
|
||||
- { app: "org.mozilla.firefox", name: "firefox-flatpak", extra: "" }
|
||||
- { app: "com.transmissionbt.Transmission", name: "transmission", extra: "" }
|
||||
- { app: "org.gnome.Geary", name: "geary", extra: "" }
|
||||
flatpaks_coding:
|
||||
flatpaks_coding:
|
||||
- { app: "com.vscodium.codium", name: "codium", extra: "" }
|
||||
- { app: "com.google.AndroidStudio", name: "android-studio", extra: "" }
|
||||
- { app: "io.dbeaver.DBeaverCommunity", name: "dbeaver", extra: "" }
|
||||
@ -71,6 +70,7 @@
|
||||
- { app: "com.jetbrains.PyCharm-Community", name: "pycharm", extra: "" }
|
||||
# End 2022-11-20 #
|
||||
- { app: "io.lbry.lbry-app", name: "lbry", extra: "dbus-launch" } # No longer supported, noticed 2023-09-01.
|
||||
- { app: "chat.delta.desktop", name: "deltachat", extra: "" } # No longer used, removed 2023-12-18.
|
||||
|
||||
# Generic #
|
||||
|
||||
@ -268,74 +268,3 @@
|
||||
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 == true
|
||||
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 == true
|
||||
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
|
||||
- "*libreoffice*"
|
||||
- '*libreoffice*'
|
||||
- gimp
|
||||
state: absent
|
||||
|
@ -1,9 +1,92 @@
|
||||
---
|
||||
# Packages specific to workstations.
|
||||
|
||||
- name: Workstation | Software | Packages | Install Software (Editing)
|
||||
package:
|
||||
## Repo Management ##
|
||||
|
||||
# Needed for dnf packages such as vlc.
|
||||
# https://docs.fedoraproject.org/en-US/quick-docs/rpmfusion-setup/
|
||||
- name: Workstation | Linux | Software | Packages | Fedora Fusion Repos
|
||||
shell: "{{ item }}"
|
||||
loop:
|
||||
- "dnf install -y https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm"
|
||||
- "dnf config-manager --enable rpmfusion-free"
|
||||
- "dnf config-manager --enable rpmfusion-free-updates"
|
||||
- "dnf install -y https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm"
|
||||
- "dnf config-manager --enable rpmfusion-nonfree"
|
||||
- "dnf config-manager --enable rpmfusion-nonfree-updates"
|
||||
when: ansible_distribution == "Fedora"
|
||||
|
||||
|
||||
## Packages ##
|
||||
|
||||
- name: Workstation | Linux | Software | Packages | Install Software (Editing)
|
||||
package:
|
||||
name:
|
||||
- "{{ ffmpeg }}"
|
||||
state: present
|
||||
when: editing == true
|
||||
|
||||
|
||||
## Other Stuff
|
||||
|
||||
# Software not yet available or working properly in Flatpak form.
|
||||
|
||||
- name: Workstation | Linux | Software | Packages | Install From Repo
|
||||
package:
|
||||
name:
|
||||
- vlc
|
||||
- "{{ appimagelauncher }}"
|
||||
- "{{ evolution }}"
|
||||
- "{{ evolution }}*"
|
||||
state: present
|
||||
|
||||
# Lutris #
|
||||
|
||||
- name: Workstation | Linux | Software | Packages | Add Lutris PPA (Ubuntu)
|
||||
apt_repository:
|
||||
repo: ppa:lutris-team/lutris
|
||||
update_cache: yes
|
||||
state: present
|
||||
when: ansible_distribution == "Ubuntu" and gaming == true
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Workstation | Linux | Software | Packages | Add Lutris (besides ARM)
|
||||
package:
|
||||
name:
|
||||
- lutris
|
||||
state: present
|
||||
when: ansible_architecture != "aarch64" and gaming == true
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Workstation | Linux | Software | Packages | Remove Lutris (besides ARM)
|
||||
package:
|
||||
name:
|
||||
- lutris
|
||||
state: absent
|
||||
when: ansible_architecture != "aarch64" and gaming is not defined
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Workstation | Linux | Software | Packages | 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 | Software | Packages | Remove Applications
|
||||
package:
|
||||
name:
|
||||
- "{{ firefox }}"
|
||||
- "{{ firefox_esr }}"
|
||||
- "{{ thunderbird }}"
|
||||
- steam
|
||||
- vscode
|
||||
- code
|
||||
- libreoffice
|
||||
- "*libreoffice*"
|
||||
- '*libreoffice*'
|
||||
- gimp
|
||||
state: absent
|
||||
|
23
tasks/workstation/linux/software/vpn.yml
Normal file
23
tasks/workstation/linux/software/vpn.yml
Normal file
@ -0,0 +1,23 @@
|
||||
---
|
||||
# Install VPN client(s).
|
||||
# https://mullvad.net/en/help/install-mullvad-app-linux
|
||||
|
||||
- name: Workstation | Software | VPN | Add Mullvad Repo [apt]
|
||||
shell: "{{ item }}"
|
||||
loop:
|
||||
- sudo curl -fsSLo /usr/share/keyrings/mullvad-keyring.asc https://repository.mullvad.net/deb/mullvad-keyring.asc
|
||||
- echo "deb [signed-by=/usr/share/keyrings/mullvad-keyring.asc arch=$( dpkg --print-architecture )] https://repository.mullvad.net/deb/stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/mullvad.list
|
||||
- apt update
|
||||
when: ansible_pkg_mgr == "apt"
|
||||
|
||||
- name: Workstation | Software | VPN | Add Mullvad Repo [dnf]
|
||||
shell: "{{ item }}"
|
||||
loop:
|
||||
- sudo dnf config-manager --add-repo https://repository.mullvad.net/rpm/stable/mullvad.repo
|
||||
when: ansible_pkg_mgr == "dnf"
|
||||
|
||||
- name: Workstation | Software | VPN | Install
|
||||
package:
|
||||
name:
|
||||
- mullvad-vpn
|
||||
state: present
|
@ -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")
|
||||
|
Reference in New Issue
Block a user