diff --git a/flake.lock b/flake.lock index 5221d17..a29d6bc 100644 --- a/flake.lock +++ b/flake.lock @@ -447,11 +447,11 @@ ] }, "locked": { - "lastModified": 1728436563, - "narHash": "sha256-mgteJgLK6b94QmDqokccl+ABU/OUvqPT0E6Z5w+lsAo=", + "lastModified": 1729124250, + "narHash": "sha256-k8aMgyuqVsZk6MYSRJXSyYqaLURnvkFDHsFBRRIDtuU=", "owner": "appaquet", "repo": "dotfiles-secrets", - "rev": "993360fd61e26b7e167ae3a5f3266707cbb6e642", + "rev": "d847a4f62505cb70a397267d8f932b2b17ad7a67", "type": "github" }, "original": { diff --git a/nixos/deskapp/configuration.nix b/nixos/deskapp/configuration.nix index b2a70e0..e7736fe 100644 --- a/nixos/deskapp/configuration.nix +++ b/nixos/deskapp/configuration.nix @@ -11,6 +11,7 @@ ../network_bridge.nix ../dev.nix ../docker.nix + ../ups.nix ]; # Bootloader. diff --git a/nixos/ups.nix b/nixos/ups.nix new file mode 100644 index 0000000..75f86cc --- /dev/null +++ b/nixos/ups.nix @@ -0,0 +1,50 @@ +{ pkgs, secrets, ... }: + +{ + #MONITOR ups@192.168.2.90 1 monuser secret slave # not so secrets... default for synology + #MINSUPPLIES 1 # Minimum number of power supplies + #SHUTDOWNCMD "/sbin/shutdown -h +0" + #POLLFREQ 5 # Poll every 5 seconds + #POLLFREQALERT 5 # Same as POLLFREQ + #HOSTSYNC 15 # Sync with UPS every 15 minutes + #DEADTIME 15 # UPS is dead after 15 minutes + #POWERDOWNFLAG /etc/killpower # File to touch to shutdown the system + #NOTIFYFLAG COMMOK SYSLOG # Don't notify when we go back to power + #NOTIFYFLAG COMMBAD SYSLOG + #NOTIFYFLAG NOCOMM SYSLOG # Notify when we lose communications + #NOTIFYFLAG NOPARENT SYSLOG + #RBWARNTIME 43200 + #NOCOMMWARNTIME 300 + #FINALDELAY 5 + + power.ups = { + enable = true; + mode = "netclient"; + + users.monuser = { + upsmon = "primary"; + passwordFile = secrets.deskapp.nasappUpsPw; + }; + + upsmon = { + settings = { + MINSUPPLIES = 1; # Minimum number of power supplies + SHUTDOWNCMD = "${pkgs.systemd}/bin/shutdown now"; + + # Don't spam WALL + NOTIFYFLAG = [ + [ "COMMOK" "SYSLOG" ] + [ "COMMBAD" "SYSLOG" ] + [ "NOCOMM" "SYSLOG" ] + [ "NOPARENT" "SYSLOG" ] + ]; + }; + + monitor.main = { + system = "ups@192.168.0.20"; + user = "monuser"; + passwordFile = secrets.deskapp.nasappUpsPw; + }; + }; + }; +} diff --git a/secrets b/secrets index 993360f..d847a4f 160000 --- a/secrets +++ b/secrets @@ -1 +1 @@ -Subproject commit 993360fd61e26b7e167ae3a5f3266707cbb6e642 +Subproject commit d847a4f62505cb70a397267d8f932b2b17ad7a67