Add styling to anyrun app launcher

This adds some styling for anyrun and allows it to be disabled via
chimera.runner.anyrun.enable. We now also set the menu dynamically
for hyprland

Change-Id: I7d3858650d884d2c951f98f6311ff136e3b261e7
Reviewed-on: https://git.clicks.codes/c/Chimera/NixFiles/+/518
Reviewed-by: Skyler Grey <minion@clicks.codes>
Tested-by: Skyler Grey <minion@clicks.codes>
diff --git a/modules/home/runner/anyrun/default.nix b/modules/home/runner/anyrun/default.nix
new file mode 100644
index 0000000..8561b93
--- /dev/null
+++ b/modules/home/runner/anyrun/default.nix
@@ -0,0 +1,81 @@
+{
+  inputs,
+  pkgs,
+  system,
+  lib,
+  config,
+  ...
+}:
+{
+  options.chimera.runner.anyrun = {
+    enable = lib.mkOption {
+      type = lib.types.bool;
+      default = true;
+      description = "Whether or not to enable the anyrun runner";
+    };
+  };
+
+  config = {
+    chimera.runner.enable = lib.mkIf config.chimera.runner.anyrun.enable true;
+
+    programs.anyrun = {
+      enable = true;
+      config = {
+        plugins = [
+          inputs.anyrun.packages.${system}.applications
+          inputs.anyrun.packages.${system}.rink
+          inputs.anyrun.packages.${system}.shell
+          inputs.anyrun.packages.${system}.translate
+          inputs.anyrun.packages.${system}.kidex
+          inputs.anyrun.packages.${system}.symbols
+        ];
+
+        # Styling as it's top level for some reason
+        x = { fraction = 0.5; };
+        y = { fraction = 0.3; };
+        width = { fraction = 0.3; };
+        closeOnClick = true;
+
+      };
+      extraCss = ''
+      #window {
+        background-color: transparent;
+      }
+      #main * {
+        background-color: #${config.chimera.theme.colors.Surface0.hex};
+        color: #${config.chimera.theme.colors.Text.hex};
+        caret-color: alpha(#${config.chimera.theme.colors.Accent.hex},0.6);
+        font-family: ${config.chimera.theme.font.variableWidth.sansSerif.name};
+      }
+      #main {
+        border-width: 1px;
+        border-style: solid;
+        border-color: #${config.chimera.theme.colors.Accent.hex};
+        border-radius: 5px;
+      }
+      #main #main {
+        border-style: none;
+        border-bottom-left-radius: 5px;
+        border-bottom-right-radius: 5px;
+      }
+      #match-title, #match-desc {
+        font-family: ${config.chimera.theme.font.variableWidth.sansSerif.name};
+      }
+      #entry {
+        min-height: 36px;
+        padding: 10px;
+        font-size: 24px;
+        box-shadow: none;
+        border-style: none;
+      }
+      #entry:focus {
+        box-shadow: none;
+      }
+      #entry selection {
+        background-color: alpha(#${config.chimera.theme.colors.Yellow.hex},0.3);
+        color: transparent;
+      }
+      '';
+    };
+  };
+}