{ user ? throw "user argument is required", home ? throw "home argument is required", }: { config, inputs, lib, pkgs, ... }: let hmConfig = config.home-manager.users.${user}; themeBin = lib.meta.getExe hmConfig.theme.pkg; in { environment.persistence."/persist/state"."${home}/.config/theme" = { }; home-manager.users.${user} = { theme.enable = true; wayland.windowManager.hyprland.settings.bind = [ "Ctrl_Alt, r, exec, ${themeBin}" "Ctrl_Alt, t, exec, ${themeBin} -m toggle" ]; }; }