vuls: init at 0.27.0
[NixPkgs.git] / nixos / modules / services / monitoring / arbtt.nix
blobcf9a236c079c07c991c248bfdb81da389445406f
1 { config, lib, pkgs, ... }:
3 with lib;
5 let
6   cfg = config.services.arbtt;
7 in {
8   options = {
9     services.arbtt = {
10       enable = mkEnableOption "Arbtt statistics capture service";
12       package = mkPackageOption pkgs [ "haskellPackages" "arbtt" ] { };
14       logFile = mkOption {
15         type = types.str;
16         default = "%h/.arbtt/capture.log";
17         example = "/home/username/.arbtt-capture.log";
18         description = ''
19           The log file for captured samples.
20         '';
21       };
23       sampleRate = mkOption {
24         type = types.int;
25         default = 60;
26         example = 120;
27         description = ''
28           The sampling interval in seconds.
29         '';
30       };
31     };
32   };
34   config = mkIf cfg.enable {
35     systemd.user.services.arbtt = {
36       description = "arbtt statistics capture service";
37       wantedBy = [ "graphical-session.target" ];
38       partOf = [ "graphical-session.target" ];
40       serviceConfig = {
41         Type = "simple";
42         ExecStart = "${cfg.package}/bin/arbtt-capture --logfile=${cfg.logFile} --sample-rate=${toString cfg.sampleRate}";
43         Restart = "always";
44       };
45     };
46   };
48   meta.maintainers = [ ];