Commit f0842ce6fd55

Vincent Demeester <vincent@sbr.pm>
2026-02-13 17:08:22
fix(raffi): switch to fuzzel UI mode
Raffi's native UI mode requires Wayland libraries that aren't properly linked in the nixpkgs package. Using fuzzel mode works correctly since fuzzel is already installed and configured.
1 parent 0a97b73
Changed files (1)
home
common
desktop
home/common/desktop/sway/rofi.nix
@@ -30,11 +30,140 @@
     };
   };
 
-  # FIXME updates this
   xdg.configFile."raffi/raffi.yaml".text = lib.generators.toYAML { } {
-    "firefox" = {
+    general = {
+      ui_type = "fuzzel";
+      theme = "dark";
+    };
+
+    # Browsers
+    firefox = {
       binary = "firefox";
-      args = [ "--marionette" ];
+      description = "Firefox";
+      icon = "firefox";
+    };
+
+    # Editors
+    emacs = {
+      binary = "emacsclient";
+      args = [
+        "-c"
+        "-a"
+        "emacs"
+      ];
+      description = "Emacs";
+      icon = "emacs";
+    };
+
+    # Terminal
+    kitty = {
+      binary = "kitty";
+      description = "Kitty Terminal";
+      icon = "kitty";
+    };
+
+    # File manager
+    nautilus = {
+      binary = "nautilus";
+      args = [ "~/Downloads/" ];
+      description = "File Manager (Downloads)";
+      icon = "system-file-manager";
+    };
+
+    # Clipboard history
+    cliphist = {
+      binary = "cliphist";
+      args = [
+        "list"
+      ];
+      description = "Clipboard History";
+      icon = "accessories-clipboard";
+      script = ''
+        cliphist list | fuzzel -d | cliphist decode | wl-copy
+      '';
+      ifenvset = "SWAYSOCK";
+    };
+
+    # Screenshots
+    screenshot-clipboard = {
+      binary = "shot";
+      args = [ "%c" ];
+      description = "Screenshot to clipboard";
+      icon = "applets-screenshooter";
+      ifenvset = "SWAYSOCK";
+    };
+
+    screenshot-file = {
+      binary = "shot";
+      args = [ "%d" ];
+      description = "Screenshot to file";
+      icon = "applets-screenshooter";
+      ifenvset = "SWAYSOCK";
+    };
+
+    screenshot-fullscreen = {
+      binary = "shotf";
+      args = [ "%c" ];
+      description = "Screenshot fullscreen to clipboard";
+      icon = "applets-screenshooter";
+      ifenvset = "SWAYSOCK";
+    };
+
+    # Color scheme
+    toggle-color-scheme = {
+      binary = "toggle-color-scheme";
+      description = "Toggle dark/light color scheme";
+      icon = "preferences-desktop-theme";
+    };
+
+    # Audio
+    pwvucontrol = {
+      binary = "pwvucontrol";
+      description = "Audio Settings";
+      icon = "audio-volume-high";
+    };
+
+    # VPN
+    redhat-vpn = {
+      binary = "redhat-vpn";
+      description = "Connect Red Hat VPN";
+      icon = "network-vpn";
+      ifexist = "redhat-vpn";
+    };
+
+    redhat-vpn-disconnect = {
+      binary = "redhat-vpn-disconnect";
+      description = "Disconnect Red Hat VPN";
+      icon = "network-vpn";
+      ifexist = "redhat-vpn-disconnect";
+    };
+
+    # Addons
+    addons = {
+      currency = {
+        enabled = true;
+        trigger = "€";
+        default_currency = "EUR";
+        currencies = [
+          "EUR"
+          "USD"
+          "GBP"
+          "CHF"
+          "JPY"
+        ];
+      };
+      calculator = {
+        enabled = true;
+      };
+      script_filters = [
+        {
+          name = "Timezones";
+          keyword = "tz";
+          command = "batz";
+          args = [ "-j" ];
+          icon = "clock";
+        }
+      ];
     };
   };
 }