Compare commits

...

3 Commits

Author SHA1 Message Date
me 19ce3dde3b Add notes of new distros being tested. 2026-07-31 09:12:19 -07:00
me 1bd66a0df9 Fix the dconf block from referencing NixOS. 2026-07-31 09:12:05 -07:00
me 73a6ea092b Add a configuration file for Cinnamon. 2026-07-31 09:10:13 -07:00
4 changed files with 376 additions and 6 deletions
+18 -3
View File
@@ -25,6 +25,19 @@ This has been used as my primary server and workstation OS since at least 2024.
The `apt` version of `ansible` in both Bookworm and Trixie are sufficient, The `apt` version of `ansible` in both Bookworm and Trixie are sufficient,
no longer need to use `ansible` out of `pip`. no longer need to use `ansible` out of `pip`.
Stopped using as a workstation on all devices in August 2026.
#### Devuan (with `runit`)
2026-07-30: Distribution has beed added with a few caveats.
- `runit` is the currently the expected init system (not OpenRC or SysVInit)
- Mullvad needs installed via .dev file [here]().
#### Artix Linux (OpenRC or runit)
2026-07-31: Began experimenting and adapting playbooks using VMs.
### Secondary ### Secondary
These are tested via my Docker project's `ProvisionsTests` container but not currently used as daily drivers. These are tested via my Docker project's `ProvisionsTests` container but not currently used as daily drivers.
@@ -88,14 +101,14 @@ terrible while updating. Ubuntu Rolling Rhino filled the gap.
Workstation: 100%, Workstation: 100%,
Server: 100% Server: 100%
## Suse Family ### Suse Family
### openSUSE Tumbleweed v2022-02-17 #### openSUSE Tumbleweed v2022-02-17
Generic: 100%, Generic: 100%,
Workstation: 100% Workstation: 100%
### openSUSE Leap 15.4 #### openSUSE Leap 15.4
Generic: 100% Generic: 100%
Workstation: Currently failing at `[Workstation | Linux | Flatpak Distro | Package Manager | Install From Repo]` with message `Problem: nothing provides libedataserver-1.2.so.24 needed by the to be installed evolution-data-server-32bit-3.34.4-3.3.1.x86_64`. Workstation: Currently failing at `[Workstation | Linux | Flatpak Distro | Package Manager | Install From Repo]` with message `Problem: nothing provides libedataserver-1.2.so.24 needed by the to be installed evolution-data-server-32bit-3.34.4-3.3.1.x86_64`.
@@ -127,6 +140,8 @@ after update problems due to a long computer hiatus.
Specifically for the Pinephone. Specifically for the Pinephone.
## Unsupported
## Future Goals ## Future Goals
Eventually some of the scripts and install files will be put into the files Eventually some of the scripts and install files will be put into the files
+4 -2
View File
@@ -130,7 +130,7 @@
- include_tasks: tasks/workstation/shared/software/dwm.yml - include_tasks: tasks/workstation/shared/software/dwm.yml
- include_tasks: tasks/workstation/linux/software/i3.yml - include_tasks: tasks/workstation/linux/software/i3.yml
# Polished Desktop Environments # # Polished Desktop Environments #
- include_tasks: tasks/workstation/freebsd/software/gnome.yml - include_tasks: tasks/workstation/freebsd/software/gnome.yml
when: ansible_system == "FreeBSD" when: ansible_system == "FreeBSD"
@@ -139,7 +139,7 @@
block: block:
- include_tasks: tasks/workstation/linux/software/gnome.yml - include_tasks: tasks/workstation/linux/software/gnome.yml
when: ansible_service_mgr == "systemd" when: ansible_service_mgr == "systemd"
- include_tasks: tasks/workstation/linux/software/cinnamon.yml - include_tasks: tasks/workstation/linux/software/cinnamon.yml
- include_tasks: tasks/workstation/linux/software/lxqt.yml - include_tasks: tasks/workstation/linux/software/lxqt.yml
when: ansible_system == "Linux" when: ansible_system == "Linux"
@@ -174,6 +174,8 @@
- include_tasks: tasks/workstation/shared/settings/gnome.yml - include_tasks: tasks/workstation/shared/settings/gnome.yml
when: not mobile when: not mobile
- include_tasks: tasks/workstation/shared/settings/cinnamon.yml
when: not mobile
- include_tasks: tasks/workstation/linux/cron/ansible.yml - include_tasks: tasks/workstation/linux/cron/ansible.yml
when: ansible_system == "Linux" and not mobile when: ansible_system == "Linux" and not mobile
@@ -0,0 +1,338 @@
---
# 20260731 - Hyperling
# Cinnakon settings, copied from GNOME settings.
# Temporarily removed while it's broken:
# , 'com.vscodium.codium.desktop', 'codium.desktop'
- name: Workstation | Account Management | Cinnamon | Facts
set_fact:
# Only do multiple entries per line if they are for the same exact program.
cinnamon_favorites: "[ 'org.gnome.Terminal.desktop'
, 'org.gnome.Console.desktop'
, 'gnome-system-monitor.desktop', 'org.gnome.SystemMonitor.desktop'
, 'org.gnome.Nautilus.desktop'
, 'io.gitlab.librewolf-community.desktop', 'librewolf.desktop'
, 'org.mozilla.firefox.desktop', 'firefox.desktop'
, 'com.vscodium.codium.desktop'
, 'codium.desktop'
, 'org.shotcut.Shotcut.desktop'
, 'io.lmms.LMMS.desktop'
, 'app.grayjay.Grayjay.desktop'
, 'io.lbry.lbry-app.desktop', 'lbry.desktop'
, 'com.valvesoftware.Steam.desktop'
, 'net.lutris.Lutris.desktop'
, 'mullvad-vpn.desktop'
, 'network.loki.Session.desktop'
, 'org.signal.Signal.desktop', 'signal-desktop.desktop'
, 'org.telegram.desktop.desktop'
, 'com.discordapp.Discord.desktop'
]"
dconf_terminal: gnome-terminal
dconf_theme: Adwaita-dark
dconf_icons: Adwaita
# 2024-01-28 Not currently using local email clients.
#, 'org.gnome.Evolution.desktop'
#, 'chat.delta.desktop.desktop', 'deltachat.desktop'
#, 'org.gnome.Geary.desktop'
#, 'org.mozilla.Thunderbird.desktop'
# 2025-01-01
# Reduce the amount of icons on the sidebar, things that may get added back.
#, 'org.godotengine.Godot.desktop'
# 2025-03-07 Removed in place of a 2nd VS Codium install (apt version).
#, 'com.visualstudio.code-oss.desktop', 'code-oss.desktop'
# 2025-03-21 Not really using Android Studio now that Flutter is working.
#, 'com.google.AndroidStudio.desktop'
# 2025-08-31 Not used a whole lot, installed again just to explore.
#, 'im.riot.Riot.desktop'
#, 'chat.simplex.simplex.desktop'
- name: Workstation | Account Management | Cinnamon | Facts (NixOS)
set_fact:
dconf_terminal: kgx
when: ansible_distribution in ("NixOS")
- name: Workstation | Account Management | Cinnamon | Facts (Ubuntu)
set_fact:
dconf_theme: Yaru-purple-dark
dconf_icons: Yaru-purple-dark
when: ansible_distribution in ("Ubuntu")
# Make sure Gnome-Tweaks is installed
- name: Workstation | Account Management | Cinnamon | Install Dependencies
package:
name:
- "{{ gnome_tweaks }}"
- "{{ dconf_editor }}"
- "{{ psutil }}"
state: present
when: ansible_distribution not in ("NixOS")
# Apply dconf settings through RC files due to distros without working psutil.
# Use the command 'dconf watch /' then change settings to see find these values.
- name: Workstation | Account Management | Cinnamon | Settings
blockinfile:
path: "{{ user_user.home }}/{{ item }}"
block: |
# Disable Cinnamon Settings While Converting From GNOME
if [[ 1 == 0 ]]; then
## Temporary Variables + Functions ##
dconf_count=1
function inc_dconf() {
dconf_count=$(( dconf_count + 1 ))
}
## Dash to Dock ##
dconf write /org/gnome/shell/extensions/dash-to-dock/dock-position \
"'LEFT'" && inc_dconf &&
dconf write /org/gnome/shell/extensions/dash-to-dock/dock-fixed \
true && inc_dconf &&
dconf write /org/gnome/shell/extensions/dash-to-dock/dash-max-icon-size \
24 && inc_dconf &&
dconf write /org/gnome/shell/favorite-apps \
"{{ gnome_favorites }}" && inc_dconf &&
dconf write /org/gnome/shell/extensions/dash-to-dock/apply-custom-theme \
true && inc_dconf &&
dconf write /org/gnome/shell/extensions/dash-to-dock/custom-theme-shrink \
true && inc_dconf &&
dconf write /org/gnome/shell/extensions/dash-to-dock/dock-fixed \
false && inc_dconf &&
dconf write /org/gnome/shell/extensions/dash-to-dock/intellihide-mode \
"'ALL_WINDOWS'" && inc_dconf &&
## Generic ##
dconf write /org/gnome/desktop/interface/color-scheme \
"'prefer-dark'" && inc_dconf &&
dconf write /org/gnome/desktop/interface/gtk-theme \
"'{{ dconf_theme }}'" && inc_dconf &&
dconf write /org/gnome/desktop/interface/icon-theme \
"'{{ dconf_icons }}'" && inc_dconf &&
dconf write /org/gnome/desktop/interface/clock-show-date \
true && inc_dconf &&
dconf write /org/gnome/desktop/interface/clock-format \
"'24h'" && inc_dconf &&
dconf write /org/gnome/desktop/interface/clock-show-seconds \
true && inc_dconf &&
dconf write /org/gnome/desktop/interface/clock-show-weekday \
true && inc_dconf &&
dconf write /org/gnome/desktop/calendar/show-weekdate \
true && inc_dconf &&
dconf write /org/gnome/desktop/interface/show-battery-percentage \
true && inc_dconf &&
dconf write /org/gnome/desktop/wm/preferences/button-layout \
"'appmenu:minimize,maximize,close'" && inc_dconf &&
dconf write /org/gnome/desktop/wm/preferences/num-workspaces \
1 && inc_dconf &&
dconf write /org/gnome/mutter/dynamic-workspaces \
false && inc_dconf &&
dconf write /org/gnome/mutter/edge-tiling \
true && inc_dconf &&
dconf write /org/gnome/desktop/interface/enable-hot-corners \
false && inc_dconf &&
dconf write /org/gnome/mutter/center-new-windows \
true && inc_dconf &&
dconf write /org/gnome/desktop/notifications/show-banners \
true && inc_dconf &&
dconf write /org/gnome/desktop/notifications/application/org-gnome-evolution-alarm-notify/enable-sound-alerts \
false && inc_dconf &&
dconf write /org/gnome/desktop/notifications/application/org-gnome-evolution-alarm-notify/enable \
false && inc_dconf &&
dconf write /org/gnome/desktop/notifications/application/org-gnome-evolution/enable-sound-alerts \
false && inc_dconf &&
dconf write /org/gnome/desktop/notifications/application/org-gnome-evolution/enable \
false && inc_dconf &&
# Stop Update Notifications
dconf write /org/gnome/software/allow-updates \
false && inc_dconf &&
dconf write /org/gnome/software/download-updates \
false && inc_dconf &&
dconf write /org/gnome/software/download-updates-notify \
false && inc_dconf &&
# Red Mode (Night Light)
(
typeset -l redmode
redmode="{{ redmode }}"
if [[ $redmode == "true" ]]; then
dconf write /org/gnome/settings-daemon/plugins/color/night-light-enabled \
true && inc_dconf
fi
) &&
dconf write /org/gnome/settings-daemon/plugins/color/night-light-schedule-automatic \
false && inc_dconf &&
#dconf write /org/gnome/settings-daemon/plugins/color/night-light-schedule-from \
# 2.0 && inc_dconf &&
#dconf write /org/gnome/settings-daemon/plugins/color/night-light-schedule-to \
# 1.99 && inc_dconf &&
dconf write /org/gnome/settings-daemon/plugins/color/night-light-schedule-from \
19.00 && inc_dconf &&
dconf write /org/gnome/settings-daemon/plugins/color/night-light-schedule-to \
07.00 && inc_dconf &&
# 1700 is max through GNOME Settings, looks pretty red but can still see green vs blue.
# 1200 is max on f.lux type apps, pretty difficult to see the difference between green and blue.
# 0500 is the max on Red Moon, super intense on a laptop, not as much on a phone screen.
# - Basically makes everything like the dash of a Z31 300ZX, lol.
dconf write /org/gnome/settings-daemon/plugins/color/night-light-temperature \
"uint32 1700" && inc_dconf &&
## Keyboard Shortcuts ##
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/binding \
"'<Control><Alt>t'" && inc_dconf &&
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/command \
"'{{ dconf_terminal }}'" && inc_dconf &&
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/name \
"'Open Terminal'" && inc_dconf &&
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/binding \
"'<Super>t'" && inc_dconf &&
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/command \
"'{{ dconf_terminal }}'" && inc_dconf &&
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/name \
"'Open Terminal 2'" && inc_dconf &&
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings "
[ '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/'
, '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/'
]" && inc_dconf &&
## Privacy ##
dconf write /org/gnome/desktop/privacy/disable-camera \
true && inc_dconf &&
dconf write /org/gnome/desktop/privacy/disable-microphone \
true && inc_dconf &&
dconf write /org/gnome/desktop/privacy/recent-files-max-age \
7 && inc_dconf &&
dconf write /org/gnome/desktop/privacy/remember-recent-files \
false && inc_dconf &&
dconf write /org/gnome/desktop/privacy/old-files-age \
"uint32 14" && inc_dconf &&
dconf write /org/gnome/desktop/privacy/remove-old-trash-files \
true && inc_dconf &&
dconf write /org/gnome/desktop/privacy/remove-old-temp-files \
true && inc_dconf &&
dconf write /org/gnome/desktop/notifications/show-in-lock-screen \
false && inc_dconf &&
dconf write /org/gnome/desktop/screensaver/lock-enabled \
true && inc_dconf &&
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 &&
## Gnome Terminal ##
# TBD: Do not start new tabs in previous tab's directory.
# The profile ID is likely unique and will need to be retrieved first.
#/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/preserve-working-directory
#'never'
## Wellbeing ##
dconf write /org/gnome/desktop/screen-time-limits/daily-limit-enabled \
true && inc_dconf &&
dconf write /org/gnome/desktop/screen-time-limits/daily-limit-seconds \
"uint32 33333" && inc_dconf &&
dconf write /org/gnome/desktop/screen-time-limits/grayscale \
true && inc_dconf &&
dconf write /org/gnome/desktop/screen-time-limits/history-enabled \
true && inc_dconf &&
#dconf write /org/gnome/desktop/break-reminders/selected-breaks \
# "['eyesight', 'movement']" && inc_dconf &&
#dconf write /org/gnome/desktop/break-reminders/selected-breaks \
# "['movement']" && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/selected-breaks \
"@as []" && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/eyesight/duration-seconds \
"uint32 180" && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/eyesight/interval-seconds \
"uint32 1800" && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/eyesight/countdown \
false && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/eyesight/delay-seconds \
"uint32 180" && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/eyesight/fade-screen \
true && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/eyesight/notify \
false && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/eyesight/notify-overdue \
false && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/eyesight/notify-upcoming \
false && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/eyesight/play-sound \
false && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/eyesight/interval-seconds \
"uint32 1800" && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/movement/duration-seconds \
"uint32 180" && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/movement/interval-seconds \
"uint32 1800" && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/movement/countdown \
false && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/movement/delay-seconds \
"uint32 60" && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/movement/fade-screen \
false && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/movement/notify \
false && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/movement/notify-overdue \
false && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/movement/notify-upcoming \
false && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/movement/play-sound \
false && inc_dconf &&
## Success ##
sleep 0 ||
## Error Catch ##
echo "ERROR: DConf setting# $dconf_count failed!"
## Cleanup ##
unset -f inc_dconf
unset dconf_count
fi # End Disable Cinnamon Settings
marker: '# {mark} MANAGED BY ANSIBLE | Cinnamon Settings'
state: present
create: yes
backup: yes
become_user: "{{ user }}"
loop:
- .bashrc
- .zshrc
+16 -1
View File
@@ -428,7 +428,7 @@
unset -f inc_dconf unset -f inc_dconf
unset dconf_count unset dconf_count
marker: '# {mark} MANAGED BY ANSIBLE | NixOS GNOME Settings' marker: '# {mark} MANAGED BY ANSIBLE | GNOME Settings'
state: present state: present
create: yes create: yes
backup: yes backup: yes
@@ -436,3 +436,18 @@
loop: loop:
- .bashrc - .bashrc
- .zshrc - .zshrc
# Remove the dconf settings which had the marker related to NixOS.
- name: Workstation | Account Management | GNOME | Settings (NixOS)
blockinfile:
path: "{{ user_user.home }}/{{ item }}"
block: |
DELETEME
marker: '# {mark} MANAGED BY ANSIBLE | NixOS GNOME Settings'
state: present
create: no
backup: no
become_user: "{{ user }}"
loop:
- .bashrc
- .zshrc