67 lines
1.4 KiB
Nix

{
config,
pkgs,
lib,
inputs,
...
}:
let
generate-colors =
colors: with colors; ''
$base00: #${base00};
$base01: #${base01};
$base02: #${base02};
$base03: #${base03};
$base04: #${base04};
$base05: #${base05};
$base06: #${base06};
$base07: #${base07};
$base08: #${base08};
$base09: #${base09};
$base0A: #${base0A};
$base0B: #${base0B};
$base0C: #${base0C};
$base0D: #${base0D};
$base0E: #${base0E};
$base0F: #${base0F};
'';
in
{
options.modules.ags = {
enable = lib.mkEnableOption "Aylur's GTK Shell with optional Stylix support";
full = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Enable all components (AstalBattery, AstalPowerProfiles etc.)";
};
};
config = lib.mkIf config.modules.ags.enable {
programs.ags = {
enable = true;
extraPackages =
if config.modules.ags.full then
with inputs.ags.packages.${pkgs.system};
[
apps
battery
bluetooth
greet
hyprland
mpris
network
notifd
powerprofiles
tray
wireplumber
]
else
[ ];
};
home.file.".config/theme_colors.scss".text =
if config.modules.stylix.enable then generate-colors config.lib.stylix.colors else null;
};
}