caffeine: add service

This commit is contained in:
Nikita Uvarov 2020-11-01 12:28:27 +01:00 committed by Robert Helgesson
parent 612afee126
commit cabf9ddd98
No known key found for this signature in database
GPG key ID: 36BDAA14C2797E89
4 changed files with 44 additions and 0 deletions

2
.github/CODEOWNERS vendored
View file

@ -136,6 +136,8 @@
/modules/programs/zsh/prezto.nix @NickHu /modules/programs/zsh/prezto.nix @NickHu
/modules/services/caffeine.nix @uvNikita
/modules/services/cbatticon.nix @pmiddend /modules/services/cbatticon.nix @pmiddend
/modules/services/clipmenu.nix @DamienCassou /modules/services/clipmenu.nix @DamienCassou

View file

@ -1720,6 +1720,14 @@ in
A new module is available: 'programs.gh'. A new module is available: 'programs.gh'.
''; '';
} }
{
time = "2020-11-01T11:17:02+00:00";
condition = hostPlatform.isLinux;
message = ''
A new module is available: 'services.caffeine'.
'';
}
]; ];
}; };
} }

View file

@ -132,6 +132,7 @@ let
(loadModule ./programs/zsh.nix { }) (loadModule ./programs/zsh.nix { })
(loadModule ./programs/zsh/prezto.nix { }) (loadModule ./programs/zsh/prezto.nix { })
(loadModule ./services/blueman-applet.nix { }) (loadModule ./services/blueman-applet.nix { })
(loadModule ./services/caffeine.nix { condition = hostPlatform.isLinux; })
(loadModule ./services/cbatticon.nix { condition = hostPlatform.isLinux; }) (loadModule ./services/cbatticon.nix { condition = hostPlatform.isLinux; })
(loadModule ./services/clipmenu.nix { condition = hostPlatform.isLinux; }) (loadModule ./services/clipmenu.nix { condition = hostPlatform.isLinux; })
(loadModule ./services/compton.nix { }) (loadModule ./services/compton.nix { })

View file

@ -0,0 +1,33 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.caffeine;
in {
meta.maintainers = [ maintainers.uvnikita ];
options = {
services.caffeine = { enable = mkEnableOption "Caffeine service"; };
};
config = mkIf cfg.enable {
systemd.user.services.caffeine = {
Unit = { Description = "caffeine"; };
Install = { WantedBy = [ "graphical-session.target" ]; };
Service = {
Restart = "on-failure";
PrivateTmp = true;
ProtectSystem = "full";
ProtectHome = "yes";
Type = "exec";
Slice = "session.slice";
ExecStart = "${pkgs.caffeine-ng}/bin/caffeine";
};
};
};
}