42 lines
1.1 KiB
Nix
42 lines
1.1 KiB
Nix
{pkgs, ...}: {
|
|
systemd.timers."nix-auto-upgrade" = {
|
|
wantedBy = ["timers.target"];
|
|
timerConfig = {
|
|
FixedRandomDelay = false;
|
|
RandomizedDelaySec = 0;
|
|
OnCalendar = "weekly";
|
|
Persistent = true;
|
|
Unit = "nix-auto-upgrade";
|
|
};
|
|
};
|
|
|
|
systemd.services."nix-auto-upgrade" = {
|
|
unitConfig = {
|
|
After="network-online.target";
|
|
Description="NixOS Upgrade";
|
|
Wants="network-online.target";
|
|
# X-StopOnRemoval=false; ?
|
|
};
|
|
serviceConfig = {
|
|
Type = "oneshot";
|
|
User = "root";
|
|
WorkingDirectory = /etc/nixos/nixos-config;
|
|
|
|
# X-RestartIfChanged=false; ?
|
|
};
|
|
|
|
script = ''
|
|
set -eu
|
|
|
|
${pkgs.nixos-rebuild}/bin/nixos-rebuild switch -L --flake git+https://gitea.com/tasiaiso/nixos-config --upgrade
|
|
|
|
${pkgs.curl}/bin/curl \
|
|
-H "Title: NixOS upgrade done" \
|
|
-H "Priority: low" \
|
|
-H "Tags: low" \
|
|
-d "$(cat /etc/hostname): upgrade script done" \
|
|
ntfy.sh/tasiaiso_upgrades &> /dev/null # Please don't make me learn how to manage secrets
|
|
'';
|
|
};
|
|
}
|