@@ -38,7 +38,7 @@ class Arguments:
3838 creds_decryption_key : str | None = None
3939 silent : bool = False
4040 dry_run : bool = False
41- script : str = 'guided'
41+ script : str | None = None
4242 mountpoint : Path = Path ('/mnt' )
4343 skip_ntp : bool = False
4444 skip_wkd : bool = False
@@ -54,6 +54,7 @@ class Arguments:
5454@dataclass
5555class ArchConfig :
5656 version : str | None = None
57+ script : str | None = None
5758 locale_config : LocaleConfiguration | None = None
5859 archinstall_language : Language = field (default_factory = lambda : translation_handler .get_language_by_abbr ('en' ))
5960 disk_config : DiskLayoutConfiguration | None = None
@@ -93,6 +94,7 @@ def unsafe_json(self) -> dict[str, Any]:
9394 def safe_json (self ) -> dict [str , Any ]:
9495 config : Any = {
9596 'version' : self .version ,
97+ 'script' : self .script ,
9698 'archinstall-language' : self .archinstall_language .json (),
9799 'hostname' : self .hostname ,
98100 'kernels' : self .kernels ,
@@ -130,6 +132,9 @@ def from_config(cls, args_config: dict[str, Any]) -> 'ArchConfig':
130132
131133 arch_config .locale_config = LocaleConfiguration .parse_arg (args_config )
132134
135+ if script := args_config .get ('script' , None ):
136+ arch_config .script = script
137+
133138 if archinstall_lang := args_config .get ('archinstall-language' , None ):
134139 arch_config .archinstall_language = translation_handler .get_language_by_name (archinstall_lang )
135140
@@ -244,6 +249,15 @@ def config(self) -> ArchConfig:
244249 def args (self ) -> Arguments :
245250 return self ._args
246251
252+ def get_script (self ) -> str :
253+ if script := self .args .script :
254+ return script
255+
256+ if script := self .config .script :
257+ return script
258+
259+ return 'guided'
260+
247261 def print_help (self ) -> None :
248262 self ._parser .print_help ()
249263
@@ -312,7 +326,6 @@ def _define_arguments(self) -> ArgumentParser:
312326 )
313327 parser .add_argument (
314328 '--script' ,
315- default = 'guided' ,
316329 nargs = '?' ,
317330 help = 'Script to run for installation' ,
318331 type = str ,
0 commit comments