{ user ? throw "user argument is required" }: { config, lib, pkgs, ... }: let hmConfig = config.home-manager.users."${user.name}"; agsConfig = (import ./config { inherit pkgs; }); in { home-manager.users."${user.name}" = { home.packages = with pkgs; [ ags ]; 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; [ ags sassc hyprland nixos-icons rofi-wayland ]; text = '' ags &> /tmp/ags.log ''; })} &"; }; }