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