Skip to content

Commit 7eef226

Browse files
committed
nixos/deepcool-digital-linux: init
1 parent 9f9d914 commit 7eef226

File tree

2 files changed

+48
-0
lines changed

2 files changed

+48
-0
lines changed

nixos/modules/module-list.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -633,6 +633,7 @@
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
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
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+
}

0 commit comments

Comments
 (0)