diff --git a/home/modules/ags/default.nix b/home/modules/ags/default.nix index dbcebeb0..89b6e6d2 100644 --- a/home/modules/ags/default.nix +++ b/home/modules/ags/default.nix @@ -13,17 +13,55 @@ in { config = lib.mkIf ags.enable { programs.ags = { enable = true; - systemd.enable = false; # TODO: Enable once configured + systemd.enable = false; # Currently only supports GTK3, use own service below # AGS libs go here - extraPackages = []; + extraPackages = [ + inputs.ags.packages.${pkgs.system}.apps + inputs.ags.packages.${pkgs.system}.auth + inputs.ags.packages.${pkgs.system}.battery + inputs.ags.packages.${pkgs.system}.bluetooth + inputs.ags.packages.${pkgs.system}.cava + # inputs.ags.packages.${pkgs.system}.greet + inputs.ags.packages.${pkgs.system}.hyprland + inputs.ags.packages.${pkgs.system}.mpris + inputs.ags.packages.${pkgs.system}.network + inputs.ags.packages.${pkgs.system}.notifd + # inputs.ags.packages.${pkgs.system}.powerprofiles + # inputs.ags.packages.${pkgs.system}.river + inputs.ags.packages.${pkgs.system}.tray + inputs.ags.packages.${pkgs.system}.wireplumber + ]; # This should symlink configDir = ./config; }; - # The ags module doesn't expose the "astal" cli tool - home.packages = [inputs.ags.packages.${pkgs.system}.io]; + # The ags module doesn't expose the "astal" cli tool or extraPackages + home.packages = + [ + inputs.ags.packages.${pkgs.system}.io + ] + ++ config.programs.ags.extraPackages; + + systemd.user.services.ags = { + Unit = { + Description = "AGS - Tool for scaffolding Astal+TypeScript projects."; + Documentation = "https://github.com/Aylur/ags"; + PartOf = ["graphical-session.target"]; + After = ["graphical-session-pre.target"]; + }; + + Service = { + ExecStart = "${config.programs.ags.finalPackage}/bin/ags run --gtk4"; + Restart = "on-failure"; + KillMode = "mixed"; + }; + + Install = { + WantedBy = ["graphical-session.target"]; + }; + }; home.file = { # NOTE: Keep this symlinked as long as I'm configuring