python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / nixos / modules / services / monitoring / arbtt.nix
blobf07ecc5d5dd0477075b17fb20fa392c44545c06e
1 { config, lib, pkgs, ... }:
3 with lib;
5 let
6   cfg = config.services.arbtt;
7 in {
8   options = {
9     services.arbtt = {
10       enable = mkEnableOption (lib.mdDoc "Arbtt statistics capture service");
12       package = mkOption {
13         type = types.package;
14         default = pkgs.haskellPackages.arbtt;
15         defaultText = literalExpression "pkgs.haskellPackages.arbtt";
16         description = lib.mdDoc ''
17           The package to use for the arbtt binaries.
18         '';
19       };
21       logFile = mkOption {
22         type = types.str;
23         default = "%h/.arbtt/capture.log";
24         example = "/home/username/.arbtt-capture.log";
25         description = lib.mdDoc ''
26           The log file for captured samples.
27         '';
28       };
30       sampleRate = mkOption {
31         type = types.int;
32         default = 60;
33         example = 120;
34         description = lib.mdDoc ''
35           The sampling interval in seconds.
36         '';
37       };
38     };
39   };
41   config = mkIf cfg.enable {
42     systemd.user.services.arbtt = {
43       description = "arbtt statistics capture service";
44       wantedBy = [ "graphical-session.target" ];
45       partOf = [ "graphical-session.target" ];
47       serviceConfig = {
48         Type = "simple";
49         ExecStart = "${cfg.package}/bin/arbtt-capture --logfile=${cfg.logFile} --sample-rate=${toString cfg.sampleRate}";
50         Restart = "always";
51       };
52     };
53   };
55   meta.maintainers = [ maintainers.michaelpj ];