]> git.scottworley.com Git - auto-upgrade-with-pinch/blobdiff - modules/auto-upgrade.nix
Separate pull-updates snippet
[auto-upgrade-with-pinch] / modules / auto-upgrade.nix
index 66d857f74a1d1f9ce7e21750a7ba3f84abceafe2..d30a624b9e567d7a7d9397d6c0d1791abf33dfe4 100644 (file)
@@ -2,6 +2,15 @@
 with lib;
 let
   cfg = config.system.autoUpgradeWithPinch;
 with lib;
 let
   cfg = config.system.autoUpgradeWithPinch;
+  pull-repo-snippet = ''
+    (
+      cd /etc/nixos
+      ${pkgs.git}/bin/git fetch
+      PATH="${pkgs.keyedgit cfg.keys}/bin:$PATH" \
+        ${pkgs.polite-merge}/bin/polite-merge --ff-only --verify-signatures
+    )
+  '';
+
   auto-upgrade-script = pkgs.writeShellScript "auto-upgrade" ''
     ${pkgs.utillinux}/bin/flock /run/auto-upgrade-with-pinch ${
       pkgs.writeShellScript "auto-upgrade-with-lock-held" ''
   auto-upgrade-script = pkgs.writeShellScript "auto-upgrade" ''
     ${pkgs.utillinux}/bin/flock /run/auto-upgrade-with-pinch ${
       pkgs.writeShellScript "auto-upgrade-with-lock-held" ''
@@ -25,12 +34,11 @@ let
           }
         }
 
           }
         }
 
+        # Pull updates
+        ${pull-repo-snippet}
+
         # Update channels
         # Update channels
-        (
-          cd /etc/nixos
-          ${pkgs.keyedgit cfg.keys}/bin/git pull --ff-only --verify-signatures
-          ${pkgs.pinch}/bin/pinch update channels
-        )
+        ${pkgs.pinch}/bin/pinch update /etc/nixos/channels
 
         # Build
         in_tmpdir ${config.system.build.nixos-rebuild}/bin/nixos-rebuild build
 
         # Build
         in_tmpdir ${config.system.build.nixos-rebuild}/bin/nixos-rebuild build
@@ -136,6 +144,7 @@ in {
     nixpkgs.overlays = [
       (import ../overlays/keyedgit.nix)
       (import ../overlays/pinch.nix)
     nixpkgs.overlays = [
       (import ../overlays/keyedgit.nix)
       (import ../overlays/pinch.nix)
+      (import ../overlays/polite-merge.nix)
       (self: super: {
         auto-upgrade = super.writeShellScriptBin "auto-upgrade" ''
           /run/wrappers/bin/sudo ${auto-upgrade-script}
       (self: super: {
         auto-upgrade = super.writeShellScriptBin "auto-upgrade" ''
           /run/wrappers/bin/sudo ${auto-upgrade-script}