aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--roles/home/desktop/default.nix2
-rw-r--r--roles/home/desktop/rofi.nix47
-rw-r--r--snowfall/modules/home/apps/rofi/default.nix58
-rw-r--r--snowfall/modules/home/suites/desktop/default.nix1
4 files changed, 59 insertions, 49 deletions
diff --git a/roles/home/desktop/default.nix b/roles/home/desktop/default.nix
index 6ff649f..484def5 100644
--- a/roles/home/desktop/default.nix
+++ b/roles/home/desktop/default.nix
@@ -60,8 +60,6 @@ let cfg = config.home.roles.desktop; in {
gtk.enable = true;
programs = {
- rofi.enable = true;
-
fastfetch.enable = cfg.fetch;
};
diff --git a/roles/home/desktop/rofi.nix b/roles/home/desktop/rofi.nix
deleted file mode 100644
index dff60e7..0000000
--- a/roles/home/desktop/rofi.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ config, ... }:
-
-{
- programs.rofi = {
- font = "monospace 12";
-
- theme = let
- inherit (config.lib.formats.rasi) mkLiteral;
- c = config.theme.colors;
- in {
- "@import" = "default";
-
- "*" = {
- background = mkLiteral "#${c.bg}";
- foreground = mkLiteral "#${c.fg}";
- foreground-alt = mkLiteral "#${c.bg3}";
-
- alternate-normal-background = mkLiteral "var(background)";
-
- selected-normal-foreground = mkLiteral "var(background)";
- selected-normal-background = mkLiteral "#${c.accent}";
-
- border-color = mkLiteral "var(background)";
- separatorcolor = mkLiteral "#${c.bg3}";
- };
-
- inputbar = {
- children = map mkLiteral [ "entry" "num-filtered-rows" "textbox-num-sep" "num-rows" ];
- };
-
- element = {
- children = map mkLiteral [ "element-icon" "element-text" ];
- };
-
- entry.placeholder = "";
-
- scrollbar.handle-color = mkLiteral "var(foreground-alt)";
- num-rows.text-color = mkLiteral "var(foreground-alt)";
- num-filtered-rows.text-color = mkLiteral "var(foreground-alt)";
- textbox-num-sep.text-color = mkLiteral "var(foreground-alt)";
-
- message.border = mkLiteral "1px solid 0px 0px";
- listview.border = mkLiteral "1px solid 0px 0px";
- sidebar.border = mkLiteral "1px solid 0px 0px";
- };
- };
-}
diff --git a/snowfall/modules/home/apps/rofi/default.nix b/snowfall/modules/home/apps/rofi/default.nix
new file mode 100644
index 0000000..5f1ea52
--- /dev/null
+++ b/snowfall/modules/home/apps/rofi/default.nix
@@ -0,0 +1,58 @@
+{ options, config, lib, namespace, ... }:
+
+with lib; with lib.${namespace}; let
+ cfg = config.${namespace}.apps.rofi;
+ desktop = config.${namespace}.desktop;
+in {
+ options.${namespace}.apps.rofi = with types; {
+ enable = mkEnableOption "rofi";
+ };
+
+ config = mkIf cfg.enable {
+ programs.rofi = {
+ enable = true;
+
+ font = "monospace 12";
+
+ theme = let
+ inherit (config.lib.formats.rasi) mkLiteral;
+ c = desktop.theme.colors;
+ in {
+ "@import" = "default";
+
+ "*" = {
+ background = mkLiteral "#${c.bg}";
+ foreground = mkLiteral "#${c.fg}";
+ foreground-alt = mkLiteral "#${c.bg3}";
+
+ alternate-normal-background = mkLiteral "var(background)";
+
+ selected-normal-foreground = mkLiteral "var(background)";
+ selected-normal-background = mkLiteral "#${c.accent}";
+
+ border-color = mkLiteral "var(background)";
+ separatorcolor = mkLiteral "#${c.bg3}";
+ };
+
+ inputbar = {
+ children = map mkLiteral [ "entry" "num-filtered-rows" "textbox-num-sep" "num-rows" ];
+ };
+
+ element = {
+ children = map mkLiteral [ "element-icon" "element-text" ];
+ };
+
+ entry.placeholder = "";
+
+ scrollbar.handle-color = mkLiteral "var(foreground-alt)";
+ num-rows.text-color = mkLiteral "var(foreground-alt)";
+ num-filtered-rows.text-color = mkLiteral "var(foreground-alt)";
+ textbox-num-sep.text-color = mkLiteral "var(foreground-alt)";
+
+ message.border = mkLiteral "1px solid 0px 0px";
+ listview.border = mkLiteral "1px solid 0px 0px";
+ sidebar.border = mkLiteral "1px solid 0px 0px";
+ };
+ };
+ };
+}
diff --git a/snowfall/modules/home/suites/desktop/default.nix b/snowfall/modules/home/suites/desktop/default.nix
index 97d4ddf..244c56c 100644
--- a/snowfall/modules/home/suites/desktop/default.nix
+++ b/snowfall/modules/home/suites/desktop/default.nix
@@ -13,6 +13,7 @@ in {
i3.enable = true;
polybar.enable = true;
+ rofi.enable = true;
picom.enable = true;
kitty.enable = true;