From 328c741b1aac74020412e99e0dca7c728dbc92fa Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Mon, 23 Jun 2025 22:33:44 -0400 Subject: refactor --- modules/desktop/wofi/default.nix | 29 ++++++++++++++++ modules/desktop/wofi/style.nix | 74 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+) create mode 100644 modules/desktop/wofi/default.nix create mode 100644 modules/desktop/wofi/style.nix (limited to 'modules/desktop/wofi') diff --git a/modules/desktop/wofi/default.nix b/modules/desktop/wofi/default.nix new file mode 100644 index 0000000..aa04495 --- /dev/null +++ b/modules/desktop/wofi/default.nix @@ -0,0 +1,29 @@ +{ + config, + lib, + ... +}: let + inherit (lib) mkIf; + cfg = config.desktop; +in { + config = mkIf cfg.wofi { + default.appLauncher = lib.mkDefault "wofi --show drun --prompt 'Seach Programs'"; + + home-manager.users.${config.user} = { + programs.wofi = { + enable = true; + + settings = { + key_expand = "Tab"; + term = "kitty"; + matching = "multi-contains"; + insensitive = true; + gtk_dark = true; + hide_scroll = true; + }; + + style = import ./style.nix {theme = config.theme;}; + }; + }; + }; +} diff --git a/modules/desktop/wofi/style.nix b/modules/desktop/wofi/style.nix new file mode 100644 index 0000000..27b7205 --- /dev/null +++ b/modules/desktop/wofi/style.nix @@ -0,0 +1,74 @@ +{theme}: let + fg = "#${theme.colors.fg}"; + bg = "#${theme.colors.bg}"; + surface-fg = "#${theme.colors.surface.fg}"; + surface-bg = "#${theme.colors.surface.bg}"; + primary = "#${theme.colors.primary}"; + fontSize = "${toString theme.font.size}px"; + outerGap = "${toString theme.outerGap}px"; + innerGap = "${toString theme.innerGap}px"; + outerRadius = "${toString theme.outerRadius}px"; + innerRadius = "${toString theme.innerRadius}px"; + borderWidth = "${toString theme.borderWidth}px"; +in '' + * { + font-family: ${theme.font.monospace}; + font-size: ${fontSize}; + } + + /* Window */ + window { + margin: 0px; + border: ${borderWidth} solid ${primary}; + border-radius: ${outerRadius}; + background-color: ${bg}; + } + + /* Outer Box */ + #outer-box { + padding: ${outerGap}; + } + + /* Scroll */ + #scroll { + margin: 0px; + padding: ${innerGap}; + border: none; + } + + /* Input */ + #input { + margin: ${innerGap}; + padding: ${innerGap}; + border: none; + color: ${surface-fg}; + background-color: ${surface-bg}; + border-radius: ${outerRadius}; + } + + #input:focus, + #input:active { + border: ${borderWidth} solid ${primary}; + box-shadow: none; + outline: none; + } + + /* Text */ + #text { + margin: ${innerGap}; + padding: ${innerGap}; + border: none; + color: ${fg}; + } + + /* Selected Entry */ + #entry:selected { + background-color: ${primary}; + border-radius: ${outerRadius}; + } + + #entry:selected #text { + color: ${bg}; + } + +'' -- cgit v1.2.3-freya