From 7eef2264d76a874df3d3ae22b200c6f1702bb8b5 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Thu, 19 Jun 2025 22:08:02 +0300 Subject: [PATCH] nixos/deepcool-digital-linux: init --- nixos/modules/module-list.nix | 1 + .../hardware/deepcool-digital-linux.nix | 47 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 nixos/modules/services/hardware/deepcool-digital-linux.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 77055c886318..bd50dd0fe6a7 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -633,6 +633,7 @@ ./services/hardware/brltty.nix ./services/hardware/buffyboard.nix ./services/hardware/ddccontrol.nix + ./services/hardware/deepcool-digital-linux.nix ./services/hardware/display.nix ./services/hardware/fancontrol.nix ./services/hardware/freefall.nix diff --git a/nixos/modules/services/hardware/deepcool-digital-linux.nix b/nixos/modules/services/hardware/deepcool-digital-linux.nix new file mode 100644 index 000000000000..61e3a9f1e420 --- /dev/null +++ b/nixos/modules/services/hardware/deepcool-digital-linux.nix @@ -0,0 +1,47 @@ +{ + config, + pkgs, + lib, + ... +}: +let + cfg = config.services.hardware.deepcool-digital-linux; +in +{ + meta.maintainers = [ lib.maintainers.NotAShelf ]; + + options.services.hardware.deepcool-digital-linux = { + enable = lib.mkEnableOption "DeepCool Digital monitoring daemon"; + package = lib.mkPackageOption pkgs "deepcool-digital-linux" { }; + + extraArgs = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + example = lib.literalExpression '' + [ + # Change the update interval + "--update 750" + # Enable the alarm + "--alarm" + ] + ''; + description = '' + Extra command line arguments to be passed to the deepcool-digital-linux daemon. + ''; + }; + }; + + config = lib.mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; + systemd.services.deepcool-digital-linux = { + description = "DeepCool Digital"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + StateDirectory = "deepcool-digital-linux"; + WorkingDirectory = "/var/lib/deepcool-digital-linux"; + ExecStart = "${lib.getExe cfg.package} ${lib.escapeShellArgs cfg.extraArgs}"; + Restart = "always"; + }; + }; + }; +}