{ config, lib, ... }: # rofi as the desktop launcher and dmenu-style menu frontend. let user = config.user.name; # A session menu built on the same themed rofi, so the power actions look # like every other menu the launcher drives. in { options.modules.desktop.session.rofi.enable = lib.mkEnableOption "the rofi launcher"; config = lib.mkIf config.modules.desktop.session.rofi.enable { home-manager.users.${user} = { # No theme is set here: Stylix's rofi target supplies the Nord one. programs.rofi = { enable = true; # Application launch is the only mode, kept minimal so the prompt opens # as fast as rofi can read the desktop entries. # Icons are off: resolving one per entry is the bulk of drun's startup. extraConfig = { modi = "drun"; show-icons = false; }; }; /* Slice 1 disables external Hyprland binds while the compositor config moves to a minimal Lua baseline. wayland.windowManager.hyprland.settings.bind = [ "$mod, R, exec, ${pkgs.rofi}/bin/rofi -show drun" "$mod SHIFT, X, exec, ${powerMenu}" ]; */ }; }; }