tor-browser: fix desktop icon (#365780)
[NixPkgs.git] / nixos / modules / services / monitoring / prometheus / exporters / zfs.nix
blob40e11e65b18f0c2592ba76fae0f72544059664d6
2   config,
3   lib,
4   pkgs,
5   options,
6   ...
7 }:
9 let
10   cfg = config.services.prometheus.exporters.zfs;
11   inherit (lib)
12     mkOption
13     types
14     concatStringsSep
15     concatMapStringsSep
16     ;
19   port = 9134;
21   extraOpts = {
22     telemetryPath = mkOption {
23       type = types.str;
24       default = "/metrics";
25       description = ''
26         Path under which to expose metrics.
27       '';
28     };
30     pools = mkOption {
31       type = with types; nullOr (listOf str);
32       default = [ ];
33       description = ''
34         Name of the pool(s) to collect, repeat for multiple pools (default: all pools).
35       '';
36     };
37   };
39   serviceOpts = {
40     # needs zpool
41     path = [ config.boot.zfs.package ];
42     serviceConfig = {
43       ExecStart = ''
44         ${pkgs.prometheus-zfs-exporter}/bin/zfs_exporter \
45           --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
46           --web.telemetry-path ${cfg.telemetryPath} \
47           ${concatMapStringsSep " " (x: "--pool=${x}") cfg.pools} \
48           ${concatStringsSep " \\\n  " cfg.extraFlags}
49       '';
50       ProtectClock = false;
51       PrivateDevices = false;
52     };
53   };