54 lines
1.1 KiB
Nix
54 lines
1.1 KiB
Nix
{
|
|
user ? throw "user argument is required",
|
|
home ? throw "home argument is required",
|
|
}:
|
|
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
inputs,
|
|
system,
|
|
...
|
|
}:
|
|
let
|
|
hmConfig = config.home-manager.users.${user};
|
|
in
|
|
{
|
|
home-manager.users.${user} = {
|
|
imports = [ inputs.ags.homeManagerModules.default ];
|
|
|
|
programs.ags = {
|
|
enable = true;
|
|
configDir = ./config;
|
|
systemd.enable = true;
|
|
|
|
extraPackages = with pkgs; [
|
|
inputs.ags.packages.${system}.hyprland
|
|
inputs.ags.packages.${system}.tray
|
|
inputs.ags.packages.${system}.battery
|
|
sassc
|
|
hyprland
|
|
nixos-icons
|
|
(import ../cliphist/rofi.nix {
|
|
rofi = hmConfig.programs.rofi.finalPackage;
|
|
inherit lib pkgs;
|
|
})
|
|
];
|
|
};
|
|
|
|
theme.template."${home}/.config/astal/theme.sass".source = ./theme.sass;
|
|
|
|
systemd.user = {
|
|
targets.tray.Unit = {
|
|
BindsTo = [ "ags.service" ];
|
|
After = [
|
|
"graphical-session.target"
|
|
"ags.service"
|
|
];
|
|
};
|
|
};
|
|
|
|
wayland.windowManager.hyprland.onMonitorChange.services = [ "ags.service" ];
|
|
};
|
|
}
|