X-Git-Url: http://git.scottworley.com/auto-upgrade-with-pinch/blobdiff_plain/b972908a3b28dc5038f716bf46075221d0845045..5048e8ce3c5c7a54684ca806ea027dc552fea1eb:/modules/auto-upgrade.nix diff --git a/modules/auto-upgrade.nix b/modules/auto-upgrade.nix index cc98ad0..e52720d 100644 --- a/modules/auto-upgrade.nix +++ b/modules/auto-upgrade.nix @@ -3,7 +3,7 @@ with lib; let cfg = config.system.autoUpgradeWithPinch; auto-upgrade-script = pkgs.writeShellScript "auto-upgrade" '' - flock /run/auto-upgrade-with-pinch ${ + ${pkgs.utillinux}/bin/flock /run/auto-upgrade-with-pinch ${ pkgs.writeShellScript "auto-upgrade-with-lock-held" '' set -e @@ -18,7 +18,7 @@ let as_user() { ${ if cfg.userEnvironment.enable then '' - sudo -u ${escapeShellArg cfg.userEnvironment.user} "$@" + /run/wrappers/bin/sudo -u ${escapeShellArg cfg.userEnvironment.user} "$@" '' else '' : '' @@ -28,7 +28,8 @@ let # Update channels ( cd /etc/nixos - ${pkgs.keyedgit cfg.key}/bin/git pull --ff-only --verify-signatures + ${pkgs.git}/bin/git fetch + PATH="${pkgs.keyedgit cfg.keys}/bin:$PATH" ${pkgs.polite-merge}/bin/polite-merge --ff-only --verify-signatures ${pkgs.pinch}/bin/pinch update channels ) @@ -71,11 +72,12 @@ in { ''; }; - key = mkOption { + keys = mkOption { type = types.path; description = '' - GPG key that signs updates. Updates are only merged if the commit - at the tip of the remote branch is signed with this key. + File containing GPG keys that sign updates. Updates are only merged + if the commit at the tip of the remote branch is signed with one of + these keys. ''; }; @@ -135,9 +137,10 @@ in { nixpkgs.overlays = [ (import ../overlays/keyedgit.nix) (import ../overlays/pinch.nix) + (import ../overlays/polite-merge.nix) (self: super: { auto-upgrade = super.writeShellScriptBin "auto-upgrade" '' - sudo ${auto-upgrade-script} + /run/wrappers/bin/sudo ${auto-upgrade-script} ''; }) ];