1

Modules/AGS: Add ags libraries and expose their binaries

This commit is contained in:
2025-06-11 12:44:51 +02:00
parent 2624a3101d
commit 3b395a6d15

View File

@ -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