feat(themes): declaratively manage icons, cursors, and dark/light modes

- Automatically detect light mode via 'light.mode' file in theme folder
- Read icon theme name from 'icons.theme' file in theme folder
- Switch Stylix polarity and iconTheme based on theme selection
- Add yaru-theme and bibata-cursors to default packages
- Remove obsolete imperative nomarchy-theme-set-gnome script
This commit is contained in:
Bernardo Magri
2026-04-04 18:33:00 +01:00
parent 0bd67f1ee0
commit 42f515f4a9
5 changed files with 47 additions and 23 deletions

View File

@@ -21,12 +21,12 @@ in
image = activeWallpaper;
base16Scheme = currentPalette;
# Force dark/light mode based on theme name if possible, or just default to dark
polarity = if lib.strings.hasInfix "light" activeThemeName then "light" else "dark";
# Use detected light mode state
polarity = if config.nomarchy.isLightMode then "light" else "dark";
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
package = config.nomarchy.cursor.package;
name = config.nomarchy.cursor.name;
size = 24;
};
@@ -65,4 +65,13 @@ in
gnome.enable = true;
};
};
# GTK Icon Theme configuration
gtk = {
enable = true;
iconTheme = {
package = pkgs.yaru-theme;
name = config.nomarchy.iconsTheme;
};
};
}