37 lines
1.0 KiB
Nix
37 lines
1.0 KiB
Nix
{ osConfig, pkgs, lib, ... }:
|
|
|
|
let cfg = osConfig.custom.graphical.hyprland;
|
|
in {
|
|
config = lib.mkIf cfg.enable
|
|
{
|
|
home.file.".config/hypr/hyprshade.toml".source = ../../.config/hypr/hyprshade.toml;
|
|
wayland.windowManager.hyprland.settings.exec-once = [ "${pkgs.hyprshade}/bin/hyprshade auto" ];
|
|
systemd.user = {
|
|
|
|
services.hyprshade = {
|
|
Install.WantedBy = [ "graphical-session.target" ];
|
|
|
|
Unit = {
|
|
ConditionEnvironment = "HYPRLAND_INSTANCE_SIGNATURE";
|
|
Description = "Apply screen filter";
|
|
After = [ "graphical-session-pre.target" ];
|
|
PartOf = [ "graphical-session.target" ];
|
|
};
|
|
Service = {
|
|
Type = "oneshot";
|
|
ExecStart = "${pkgs.hyprshade}/bin/hyprshade auto";
|
|
};
|
|
};
|
|
|
|
timers.hyprshade = {
|
|
|
|
Install.WantedBy = [ "timers.target" ];
|
|
|
|
Unit = { Description = "Apply screen filter on schedule"; };
|
|
|
|
Timer.OnCalendar = [ "*-*-* 06:00:00" "*-*-* 19:00:00" ];
|
|
};
|
|
};
|
|
};
|
|
}
|