Add a configuration file for Cinnamon.
This commit is contained in:
@@ -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
|
||||||
Reference in New Issue
Block a user