]> gitweb.fluxo.info Git - puppet-nodo.git/commitdiff
Fix: nodo::utils::interface: improved theme/icon management
authorSilvio Rhatto <rhatto@riseup.net>
Sun, 4 Jan 2026 17:20:56 +0000 (14:20 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Sun, 4 Jan 2026 17:20:56 +0000 (14:20 -0300)
manifests/utils/interface.pp

index 2e6d7b42297ab8f952f06af4aa1b884363287ba3..1c6e88fe4e8015f4929f8aee2bd852f5e59dcabf 100644 (file)
@@ -23,14 +23,59 @@ class nodo::utils::interface inherits nodo::utils::interface::console {
     'firejail',
     'sm',
     'i3lock',
-    'materia-gtk-theme',
-    'blackbird-gtk-theme',
-    'obsidian-icon-theme',
     'alacritty',
   ]:
     ensure => installed,
   }
 
+  # Themes
+  package { [
+    'obsidian-icon-theme',
+    'blackbird-gtk-theme',
+
+    # These are needed to bring uniform look on tools such as nm-tray
+    #
+    # References:
+    #
+    # * https://doc.qt.io/qt-6/qpa.html
+    # * https://wiki.archlinux.org/title/Uniform_look_for_Qt_and_GTK_applications
+    # * https://wiki.gentoo.org/wiki/GTK_themes_in_Qt_applications
+    # * https://itsfoss.gitlab.io/blog/how-to-add-qtqpaplatformthemeqt5ct-environment-variable-in-arch-linux/
+    # * https://unix.stackexchange.com/questions/680483/how-to-add-qt-qpa-platformtheme-qt5ct-environment-variable-in-arch-linux
+    # * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983536
+    'breeze-icon-theme',
+    'qt5ct',
+    'qt6ct',
+  ]:
+    ensure => installed,
+  }
+
+  # Themes available until Debian bookworm
+  package { [
+    'materia-gtk-theme',
+  ]:
+    ensure => $::lsbdistcodename ? {
+      'bookworm' => present,
+      default    => absent,
+    }
+  }
+
+  # Themes not in use
+  package { [
+    # Check https://wiki.archlinux.org/title/GTK
+    #       https://wiki.gnome.org/Apps/DconfEditor
+    'gtk-theme-switch',
+    'gtk-smooth-themes',
+    'dconf-editor',
+    'lxappearance',
+
+    # xsettingsd is a daemon that implements the XSETTINGS specification.
+    # https://codeberg.org/derat/xsettingsd
+    'xsettingsd',
+  ]:
+    ensure => absent,
+  }
+
   # Fonts
   package { [
     'xfonts-terminus',
@@ -45,8 +90,8 @@ class nodo::utils::interface inherits nodo::utils::interface::console {
     'parcellite',
   ]:
     ensure => $::lsbdistcodename ? {
-      'trixie'   => absent,
-      default    => present,
+      'trixie' => absent,
+      default  => present,
     }
   }
 
@@ -83,17 +128,6 @@ class nodo::utils::interface inherits nodo::utils::interface::console {
     'xterm',
     'eterm',
     'gnome-terminal',
-
-    # Check https://wiki.archlinux.org/title/GTK
-    #       https://wiki.gnome.org/Apps/DconfEditor
-    'gtk-theme-switch',
-    'gtk-smooth-themes',
-    'dconf-editor',
-    'lxappearance',
-
-    # xsettingsd is a daemon that implements the XSETTINGS specification.
-    # https://codeberg.org/derat/xsettingsd
-    'xsettingsd',
   ]:
     ensure => absent,
   }