{ user ? throw "user argument is required", home ? throw "home argument is required", }: { config, lib, pkgs, ... }: let hmConfig = config.home-manager.users.${user}; in { environment.persistence."/persist/cache"."${home}/.cache/rofi" = { }; home-manager.users.${user} = { programs.rofi = { enable = true; package = pkgs.rofi-wayland; font = builtins.head hmConfig.theme.font.monospace.names; }; wayland.windowManager.hyprland.settings.bind = [ "$mod, r, exec, ${lib.meta.getExe hmConfig.programs.rofi.finalPackage} -cache-dir ${home}/.cache/rofi -modi drun,window -show drun" ]; }; }