]> git.scottworley.com Git - auto-upgrade-with-pinch/commitdiff
Make 'auto-upgrade' available in path
authorScott Worley <scottworley@scottworley.com>
Wed, 15 Apr 2020 04:14:12 +0000 (21:14 -0700)
committerScott Worley <scottworley@scottworley.com>
Mon, 18 May 2020 18:48:31 +0000 (11:48 -0700)
"systemctl start nixos-upgrade" no longer works to force an immediate
run since the start delay was added.

modules/auto-upgrade.nix

index b493ac00d0db5478fe782ce065a934962779bb47..974ebb7a9d96a091e0157428aa6d817b9bfa0949 100644 (file)
@@ -40,7 +40,22 @@ in {
     nixpkgs.overlays = [
       (import ../overlays/keyedgit.nix)
       (import ../overlays/pinch.nix)
+      (self: super: {
+        auto-upgrade = super.writeShellScriptBin "auto-upgrade" ''
+        set -e
+        (
+          cd /etc/nixos
+          ${self.keyedgit cfg.key}/bin/git pull --ff-only --verify-signatures
+          ${self.pinch}/bin/pinch update channels
+        )
+
+        ${config.system.build.nixos-rebuild}/bin/nixos-rebuild switch --no-build-output
+        '';
+      })
     ];
+
+    environment.systemPackages = [ pkgs.auto-upgrade ];
+
     systemd.services.nixos-upgrade = {
       description = "NixOS Upgrade";
       restartIfChanged = false;
@@ -58,7 +73,6 @@ in {
         gitMinimal
         gnutar
         gzip
-        pinch
         xz.bin
       ];
 
@@ -70,13 +84,7 @@ in {
         # intervene either to fix the problem or disable automatic updates.
         sleep 2h
 
-        (
-          cd /etc/nixos
-          ${pkgs.keyedgit cfg.key}/bin/git pull --ff-only --verify-signatures
-          pinch update channels
-        )
-
-        ${config.system.build.nixos-rebuild}/bin/nixos-rebuild switch --no-build-output
+        ${pkgs.auto-upgrade}/bin/auto-upgrade
       '';
 
       startAt = cfg.dates;