File tree Expand file tree Collapse file tree 2 files changed +48
-0
lines changed Expand file tree Collapse file tree 2 files changed +48
-0
lines changed Original file line number Diff line number Diff line change 633633 ./services/hardware/brltty.nix
634634 ./services/hardware/buffyboard.nix
635635 ./services/hardware/ddccontrol.nix
636+ ./services/hardware/deepcool-digital-linux.nix
636637 ./services/hardware/display.nix
637638 ./services/hardware/fancontrol.nix
638639 ./services/hardware/freefall.nix
Original file line number Diff line number Diff line change 1+ {
2+ config ,
3+ pkgs ,
4+ lib ,
5+ ...
6+ } :
7+ let
8+ cfg = config . services . hardware . deepcool-digital-linux ;
9+ in
10+ {
11+ meta . maintainers = [ lib . maintainers . NotAShelf ] ;
12+
13+ options . services . hardware . deepcool-digital-linux = {
14+ enable = lib . mkEnableOption "DeepCool Digital monitoring daemon" ;
15+ package = lib . mkPackageOption pkgs "deepcool-digital-linux" { } ;
16+
17+ extraArgs = lib . mkOption {
18+ type = lib . types . listOf lib . types . str ;
19+ default = [ ] ;
20+ example = lib . literalExpression ''
21+ [
22+ # Change the update interval
23+ "--update 750"
24+ # Enable the alarm
25+ "--alarm"
26+ ]
27+ '' ;
28+ description = ''
29+ Extra command line arguments to be passed to the deepcool-digital-linux daemon.
30+ '' ;
31+ } ;
32+ } ;
33+
34+ config = lib . mkIf cfg . enable {
35+ environment . systemPackages = [ cfg . package ] ;
36+ systemd . services . deepcool-digital-linux = {
37+ description = "DeepCool Digital" ;
38+ wantedBy = [ "multi-user.target" ] ;
39+ serviceConfig = {
40+ StateDirectory = "deepcool-digital-linux" ;
41+ WorkingDirectory = "/var/lib/deepcool-digital-linux" ;
42+ ExecStart = "${ lib . getExe cfg . package } ${ lib . escapeShellArgs cfg . extraArgs } " ;
43+ Restart = "always" ;
44+ } ;
45+ } ;
46+ } ;
47+ }
You can’t perform that action at this time.
0 commit comments