diff --git a/archinstall/lib/interactions/general_conf.py b/archinstall/lib/interactions/general_conf.py index fed77b5e93..0d46e889c0 100644 --- a/archinstall/lib/interactions/general_conf.py +++ b/archinstall/lib/interactions/general_conf.py @@ -267,8 +267,12 @@ def validator(s: str | None) -> str | None: return downloads -def ask_post_installation() -> PostInstallationAction: - header = tr('Installation completed') + '\n\n' +def ask_post_installation(elapsed_time: float | None = None) -> PostInstallationAction: + header = 'Installation completed' + if elapsed_time is not None: + minutes = int(elapsed_time // 60) + seconds = int(elapsed_time % 60) + header += f' in {minutes}m {seconds}s' + '\n' header += tr('What would you like to do next?') + '\n' items = [MenuItem(action.value, value=action) for action in PostInstallationAction] diff --git a/archinstall/scripts/guided.py b/archinstall/scripts/guided.py index 7a533d5ded..a91aa4272d 100644 --- a/archinstall/scripts/guided.py +++ b/archinstall/scripts/guided.py @@ -1,4 +1,5 @@ import os +import time from pathlib import Path from archinstall import SysInfo @@ -53,6 +54,7 @@ def perform_installation(mountpoint: Path) -> None: Only requirement is that the block devices are formatted and setup prior to entering this function. """ + start_time = time.time() info('Starting installation...') config = arch_config_handler.config @@ -168,7 +170,8 @@ def perform_installation(mountpoint: Path) -> None: if not arch_config_handler.args.silent: with Tui(): - action = ask_post_installation() + elapsed_time = time.time() - start_time + action = ask_post_installation(elapsed_time) match action: case PostInstallationAction.EXIT: