d = config_path.parent
- for dropin_dir in (d / "mkosi.conf.d", d / "mkosi.default.d"):
+ dirs = [Path("mkosi.conf.d"), Path("mkosi.default.d")]
+ if not d.samefile(Path.cwd()):
+ dirs += [Path(d / "mkosi.conf.d"), Path(d / "mkosi.default.d")]
+
+ if distribution is not None:
+ dirs += [d / str(distribution) for d in dirs]
+
+ for dropin_dir in dirs:
if dropin_dir.is_dir():
for entry in sorted(dropin_dir.iterdir()):
if entry.is_file():
config_files += [f"{ArgumentParserMkosi.fromfile_prefix_chars}{entry}"]
- if distribution is not None:
- for distribution_dir in (d / "mkosi.conf.d" / str(distribution), d / "mkosi.default.d" / str(distribution)):
- if distribution_dir.is_dir():
- for entry in sorted(distribution_dir.iterdir()):
- if entry.is_file():
- config_files += [f"{ArgumentParserMkosi.fromfile_prefix_chars}{entry}"]
-
# Parse all parameters handled by mkosi.
# Parameters forwarded to subprocesses such as nspawn or qemu end up in cmdline_argv.
return create_parser().parse_args(config_files + argv)