(cfg: Dict)
| 1438 | # Actions |
| 1439 | # ---------------------------- |
| 1440 | def action_install(cfg: Dict) -> None: |
| 1441 | available = get_available_distros(cfg) |
| 1442 | if not available: |
| 1443 | print(tr(cfg, "no_distros")) |
| 1444 | pause(cfg) |
| 1445 | return |
| 1446 | |
| 1447 | print("\n" + tr(cfg, "available")) |
| 1448 | print(tr(cfg, "recommend_note")) |
| 1449 | distro = pick_from_list(tr(cfg, "pick_system"), available) |
| 1450 | if not distro: |
| 1451 | print(tr(cfg, "invalid")) |
| 1452 | pause(cfg) |
| 1453 | return |
| 1454 | |
| 1455 | ensure_system_entry(cfg, distro) |
| 1456 | defaults = choose_defaults_by_specs() |
| 1457 | sys_cfg = cfg["systems"][distro] |
| 1458 | |
| 1459 | print("\n" + tr(cfg, "setup_auto")) |
| 1460 | print(tr(cfg, "specs")) |
| 1461 | print(f" - {tr(cfg,'ram')}: {defaults['mem_gb']:.2f} GB") |
| 1462 | print(f" - {tr(cfg,'cores')}: {defaults['cores']}") |
| 1463 | print(f" - {tr(cfg,'storage')}: {defaults['free_gb']:.2f} GB") |
| 1464 | print(tr(cfg, "chosen")) |
| 1465 | print(f" - {tr(cfg,'desktop')}: {sys_cfg['desktop']}") |
| 1466 | print(f" - {tr(cfg,'geometry')}: {sys_cfg['geometry']}") |
| 1467 | print(f" - {tr(cfg,'depth')}: {sys_cfg['depth']}") |
| 1468 | print(f" - {tr(cfg,'display')}: :{sys_cfg['display']}") |
| 1469 | |
| 1470 | print(f"\n{tr(cfg, 'install_start')} {distro}") |
| 1471 | run(["proot-distro", "install", distro], check=False) |
| 1472 | print(tr(cfg, "install_done")) |
| 1473 | |
| 1474 | print("\n" + tr(cfg, "running_setup")) |
| 1475 | ok = install_desktop_and_vnc(cfg, distro, sys_cfg["desktop"]) |
| 1476 | if ok: |
| 1477 | yn = input("\n" + tr(cfg, "ask_vnc_pass")).strip().lower() |
| 1478 | if yn == "y": |
| 1479 | pw = input(tr(cfg, "vnc_pass_prompt")).strip() |
| 1480 | set_vnc_password(cfg, distro, pw) |
| 1481 | |
| 1482 | yn2 = input(tr(cfg, "ask_extras")).strip().lower() |
| 1483 | if yn2 == "y": |
| 1484 | install_recommended_extras(cfg, distro) |
| 1485 | print(tr(cfg, "setup_done")) |
| 1486 | else: |
| 1487 | print(tr(cfg, "setup_partial")) |
| 1488 | |
| 1489 | lp = create_launcher(cfg, distro) |
| 1490 | if lp: |
| 1491 | print(f"{tr(cfg,'launcher_created')} {lp}") |
| 1492 | else: |
| 1493 | print(tr(cfg, "launcher_fail")) |
| 1494 | |
| 1495 | pause(cfg) |
| 1496 | |
| 1497 | def action_remove_system(cfg: Dict) -> None: |
no test coverage detected