Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion archinstall/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ def main() -> int:
if not arch_config_handler.args.skip_version_check:
_check_new_version()

script = arch_config_handler.args.script
script = arch_config_handler.get_script()

mod_name = f'archinstall.scripts.{script}'
# by loading the module we'll automatically run the script
Expand Down
17 changes: 15 additions & 2 deletions archinstall/lib/args.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class Arguments:
creds_decryption_key: str | None = None
silent: bool = False
dry_run: bool = False
script: str = 'guided'
script: str | None = None
mountpoint: Path = Path('/mnt')
skip_ntp: bool = False
skip_wkd: bool = False
Expand All @@ -54,6 +54,7 @@ class Arguments:
@dataclass
class ArchConfig:
version: str | None = None
script: str | None = None
locale_config: LocaleConfiguration | None = None
archinstall_language: Language = field(default_factory=lambda: translation_handler.get_language_by_abbr('en'))
disk_config: DiskLayoutConfiguration | None = None
Expand Down Expand Up @@ -93,6 +94,7 @@ def unsafe_json(self) -> dict[str, Any]:
def safe_json(self) -> dict[str, Any]:
config: Any = {
'version': self.version,
'script': self.script,
'archinstall-language': self.archinstall_language.json(),
'hostname': self.hostname,
'kernels': self.kernels,
Expand Down Expand Up @@ -130,6 +132,9 @@ def from_config(cls, args_config: dict[str, Any]) -> 'ArchConfig':

arch_config.locale_config = LocaleConfiguration.parse_arg(args_config)

if script := args_config.get('script', None):
arch_config.script = script

if archinstall_lang := args_config.get('archinstall-language', None):
arch_config.archinstall_language = translation_handler.get_language_by_name(archinstall_lang)

Expand Down Expand Up @@ -240,6 +245,15 @@ def config(self) -> ArchConfig:
def args(self) -> Arguments:
return self._args

def get_script(self) -> str:
if script := self.args.script:
return script

if script := self.config.script:
return script

return 'guided'

def print_help(self) -> None:
self._parser.print_help()

Expand Down Expand Up @@ -308,7 +322,6 @@ def _define_arguments(self) -> ArgumentParser:
)
parser.add_argument(
'--script',
default='guided',
nargs='?',
help='Script to run for installation',
type=str,
Expand Down
Loading