summaryrefslogtreecommitdiff
path: root/modules/programs/wofi/default.nix
diff options
context:
space:
mode:
authorfreya <Freya Murphy>2025-01-21 02:43:35 +0000
committerFreya Murphy <freya@freyacat.org>2025-01-21 02:45:29 +0000
commit05ea082c5fed25655e59ed7851c0cd53b0624b35 (patch)
tree87390bf699e04027f042ccfc10743a42bf768788 /modules/programs/wofi/default.nix
downloaddotfiles-nix-05ea082c5fed25655e59ed7851c0cd53b0624b35.tar.gz
dotfiles-nix-05ea082c5fed25655e59ed7851c0cd53b0624b35.tar.bz2
dotfiles-nix-05ea082c5fed25655e59ed7851c0cd53b0624b35.zip
initial
Diffstat (limited to 'modules/programs/wofi/default.nix')
-rw-r--r--modules/programs/wofi/default.nix98
1 files changed, 98 insertions, 0 deletions
diff --git a/modules/programs/wofi/default.nix b/modules/programs/wofi/default.nix
new file mode 100644
index 0000000..d60c052
--- /dev/null
+++ b/modules/programs/wofi/default.nix
@@ -0,0 +1,98 @@
+{ config, lib, ... }:
+
+{
+ config = lib.mkIf config.desktop.enable {
+
+ 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 =
+ let
+ accentColor = "#${config.theme.accentColor}";
+ textColor = "#${config.theme.colors.base05}";
+ baseColor = "#${config.theme.colors.base00}";
+ surfaceColor = "#${config.theme.colors.base02}";
+ fontSize = "${toString config.theme.fontSize}px";
+ outerGap = "${toString config.theme.outerGap}px";
+ innerGap = "${toString config.theme.innerGap}px";
+ outerRadius = "${toString config.theme.outerRadius}px";
+ innerRadius = "${toString config.theme.innerRadius}px";
+ borderWidth = "${toString config.theme.borderWidth}px";
+ in ''
+* {
+ font-family: ${config.theme.monospaceFont};
+ font-size: ${fontSize};
+}
+
+/* Window */
+window {
+ margin: 0px;
+ border: ${borderWidth} solid ${accentColor};
+ border-radius: ${outerRadius};
+ background-color: ${baseColor};
+}
+
+/* Outer Box */
+#outer-box {
+ padding: ${outerGap};
+}
+
+/* Scroll */
+#scroll {
+ margin: 0px;
+ padding: ${innerGap};
+ border: none;
+}
+
+/* Input */
+#input {
+ margin: ${innerGap};
+ padding: ${innerGap};
+ border: none;
+ color: ${textColor};
+ background-color: ${surfaceColor};
+ border-radius: ${outerRadius};
+}
+
+#input:focus,
+#input:active {
+ border: ${borderWidth} solid ${accentColor};
+ box-shadow: none;
+ outline: none;
+}
+
+/* Text */
+#text {
+ margin: ${innerGap};
+ padding: ${innerGap};
+ border: none;
+ color: ${textColor};
+}
+
+/* Selected Entry */
+#entry:selected {
+ background-color: ${accentColor};
+ border-radius: ${outerRadius};
+}
+
+#entry:selected #text {
+ color: ${baseColor};
+}
+ '';
+
+ };
+ };
+
+ };
+}