From: Scott Worley Date: Fri, 29 Apr 2022 23:50:44 +0000 (-0700) Subject: Switch from 'nix eval' to 'nix-instantiate --eval' X-Git-Url: http://git.scottworley.com/auto-upgrade-with-pinch/commitdiff_plain/e830691a697a3a5d0e4461ceb073ac36abdfe3d6 Switch from 'nix eval' to 'nix-instantiate --eval' Nix 2.4 changed the interface to 'nix eval' so that --arg doesn't work anymore. This is a workaround for https://github.com/NixOS/nix/issues/2678 --- diff --git a/modules/auto-upgrade.nix b/modules/auto-upgrade.nix index 54a3083..4a5aa83 100644 --- a/modules/auto-upgrade.nix +++ b/modules/auto-upgrade.nix @@ -144,12 +144,12 @@ let + concatMapStringsSep "\n" (f: "verify_ownership ${escapeShellArg f}") cfg.upgradeConfig)} - config=$(${pkgs.nix}/bin/nix eval --json -f ${../upgrade-config.nix} \ + config=$(${pkgs.nix}/bin/nix-instantiate --eval --strict --json -A config \ --arg upgradeConfig ${ escapeShellArg ("[" + lib.concatMapStringsSep " " lib.strings.escapeNixString cfg.upgradeConfig + "]") - } config) + } ${../upgrade-config.nix}) config_query() { ${pkgs.jq}/bin/jq -r "$@" <<< "$config"