{ user ? throw "user argument is required", home ? throw "home argument is required", }: { config, lib, pkgs, inputs, system, ... }: let hmConfig = config.home-manager.users.${user}; in { home-manager.users.${user} = { imports = [ inputs.ags.homeManagerModules.default ]; programs.ags = { enable = true; configDir = ./config; systemd.enable = true; extraPackages = with pkgs; [ inputs.ags.packages.${system}.hyprland inputs.ags.packages.${system}.tray sassc hyprland nixos-icons (import ../cliphist/rofi.nix { rofi = hmConfig.programs.rofi.finalPackage; inherit lib pkgs; }) ]; }; theme.template."${home}/.config/astal/theme.sass".source = ./theme.sass; systemd.user = { targets.tray.Unit = { BindsTo = [ "ags.service" ]; After = [ "graphical-session.target" "ags.service" ]; }; }; wayland.windowManager.hyprland.onMonitorChange.services = [ "ags.service" ]; }; }