{ inputs, outputs, config, lib, pkgs, ... }: let enableUps = true; upsmonCmd = "nasups@localhost 1 upsuser BogieDudie1 primary"; upsName = "nasups"; in { power.ups = { ups = { enable = enableUps; mode = "netserver"; ups.upsName = { driver = "usbhid-ups"; port = "auto"; description = "NAS UPS"; }; upsmon = { monitor = upsmonCmd; }; upsd = { enable = enableUps; listen = { address = 0.0 0.0 0.0; port = 3493; }; }; # users = { # actions = [ "SET" ]; # instcmds = [ "ALL" ]; ##* upsmon = "primary"; # passwordFile = "/home/matt/ups.conf"; # }; }; # Add UPS monitoring service upsmon = { enable = true; # Configure UPS device device = "/dev/usb/hiddev1"; # Change this to your UPS device driver = "usbhid-ups"; # Change this if your UPS uses a different driver # Set UPS monitoring options options = { # NOTIFYCMD = "/path/to/notify-script.sh"; # Path to your notification script POLLFREQ = 5; POLLFREQALERT = 5; HOSTSYNC = "on"; DEADTIME = 15; FINALDELAY = 5; }; }; }; }