{ user ? throw "user argument is required" }: { config, lib, pkgs, inputs, ... }: let hmConfig = config.home-manager.users.${user.name}; agsConfig = (import ./config { inherit pkgs; }); in { home-manager.users.${user.name} = { imports = [ inputs.ags.homeManagerModules.default ]; programs.ags.enable = true; xdg.configFile.ags = { source = "${agsConfig}/share/config.js"; target = "ags/config.js"; }; programs.matugen.settings.templates.ags = { input_path = ./theme.sass; output_path = "${hmConfig.xdg.configHome}/ags/theme.sass"; }; wayland.windowManager.hyprland.initExtraConfig = "${lib.meta.getExe (pkgs.writeShellApplication { name = "init-ags"; runtimeInputs = with pkgs; [ inputs.ags.packages.${stdenv.hostPlatform.system}.default sassc hyprland nixos-icons rofi-wayland wl-clipboard cliphist libdbusmenu-gtk3 ]; text = "ags &> /tmp/ags.log"; })} &"; }; }