{ pkgs, ... }: { services.smartd.enable = true; environment.systemPackages = [ pkgs.smartmontools pkgs.nvme-cli ]; services.telegraf = { enable = true; extraConfig.inputs.smart = { attributes = true; use_sudo = true; }; }; systemd.services.telegraf.path = [ pkgs.smartmontools pkgs.nvme-cli "/run/wrappers" ]; security.sudo.configFile = '' # For smartctl add the following lines: Cmnd_Alias SMARTCTL = ${pkgs.smartmontools}/bin/smartctl telegraf ALL=(ALL) NOPASSWD: SMARTCTL Defaults!SMARTCTL !logfile, !syslog, !pam_session # For nvme-cli add the following lines: Cmnd_Alias NVME = ${pkgs.nvme-cli}/bin/nvme telegraf ALL=(ALL) NOPASSWD: NVME Defaults!NVME !logfile, !syslog, !pam_session ''; }