--- a/release.nix +++ b/release.nix @@ -1,6 +1,7 @@ { nixopsSrc ? { outPath = ./.; revCount = 0; shortRev = "abcdef"; rev = "HEAD"; } , officialRelease ? false , nixpkgs ? +, pluginData , p ? (p: [ ]) }: @@ -10,11 +11,10 @@ let allPlugins = let plugins = let - allPluginVers = import ./data.nix; + allPluginVers = pluginData; fetch = v: pkgs.fetchFromGitHub { - inherit (v) owner repo sha256; - rev = "v${v.version}"; + inherit (v) owner repo sha256 rev; }; srcDrv = v: (fetch v) + "/release.nix"; in self: let @@ -83,7 +83,7 @@ # Remove annoying debug message that's shown in nix-shell while evaluating this file pysqlite typing pluggy - ] ++ pkgs.lib.traceValFn (x: "Using plugins: " + builtins.toJSON x) (map (d: d.build.${system}) (p allPlugins)); + ] ++ (map (d: d.build.${system}) (p allPlugins)); # For "nix-build --run-env". --- a/nixops/backends/__init__.py +++ b/nixops/backends/__init__.py @@ -24,6 +24,7 @@ class MachineDefinition(nixops.resources.ResourceDefinition): opts = {} for (key, xmlType) in (('text', 'string'), ('keyFile', 'path'), + ('keyFile', 'string'), ('destDir', 'string'), ('user', 'string'), ('group', 'string'), --- a/nixops/ssh_util.py +++ b/nixops/ssh_util.py @@ -278,6 +278,7 @@ class SSH(object): 'timeout' specifies the SSH connection timeout. """ + flags = shlex.split(os.getenv('NIXOPS_SSH_OPTS', '')) + flags master = self.get_master(flags, timeout, user) flags = flags + self._get_flags() if logged: --- a/nixops/deployment.py +++ b/nixops/deployment.py @@ -748,6 +748,6 @@ if res == 100 or force_reboot or m.state == m.RESCUE: if not allow_reboot and not force_reboot: raise Exception("the new configuration requires a " - "reboot to take effect (hint: use " + "reboot of '{}' to take effect (hint: use " "‘--allow-reboot’)".format(m.name)) m.reboot_sync() res = 0