X-Git-Url: http://git.scottworley.com/auto-upgrade-with-pinch/blobdiff_plain/9d0c0d71309239cfdc6c19996d2b730fdf06a692..9dbfef330f23b81081a08f0c2f52c31393943340:/modules/auto-upgrade.nix?ds=inline diff --git a/modules/auto-upgrade.nix b/modules/auto-upgrade.nix index 66d857f..d30a624 100644 --- a/modules/auto-upgrade.nix +++ b/modules/auto-upgrade.nix @@ -2,6 +2,15 @@ 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" '' @@ -25,12 +34,11 @@ let } } + # Pull updates + ${pull-repo-snippet} + # 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 @@ -136,6 +144,7 @@ in { 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}