Set preferred color scheme from theme

After starting Hyprland with a dbus session, we now have access to
set configuration such as a preferred color scheme. As we know what your
theme should be, it makes sense to set this in chimera rather than
requiring you to do so imperatively

Change-Id: I574061911bee41a72ff39983296eba15e72f1985
Reviewed-on: https://git.clicks.codes/c/Chimera/NixFiles/+/533
Tested-by: Skyler Grey <minion@clicks.codes>
Reviewed-by: Samuel Shuert <coded@clicks.codes>
diff --git a/modules/home/theme/dconf/default.nix b/modules/home/theme/dconf/default.nix
new file mode 100644
index 0000000..dcfcb3d
--- /dev/null
+++ b/modules/home/theme/dconf/default.nix
@@ -0,0 +1,3 @@
+{ lib, config, ... }: {
+  dconf.settings."org/gnome/desktop/interface".color-scheme = "prefer-${lib.strings.toLower config.chimera.theme.style}";
+}
diff --git a/modules/home/theme/default.nix b/modules/home/theme/default.nix
index 2817de3..cf01310 100644
--- a/modules/home/theme/default.nix
+++ b/modules/home/theme/default.nix
@@ -83,6 +83,14 @@
       default = null;
     };
 
+    style = lib.mkOption {
+      type = lib.types.enum [
+        "Light"
+        "Dark"
+      ];
+      description = "Whether this theme prefers to match with light or dark color schemes";
+    };
+
     colors =
       let
         themeColor = lib.types.submodule {