+_experimental_flag_needed = None
+
+
+def _nix_command(v: Verification) -> List[str]:
+ global _experimental_flag_needed
+ if _experimental_flag_needed is None:
+ v.status('Checking Nix version')
+ process = subprocess.run(['nix', '--help'], stdout=subprocess.PIPE)
+ v.result(process.returncode == 0)
+ _experimental_flag_needed = b'--experimental-features' in process.stdout
+ return ['nix', '--experimental-features',
+ 'nix-command'] if _experimental_flag_needed else ['nix']
+
+