Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/archinstall/scripts
diff options
context:
space:
mode:
authorDaniel Girtler <blackrabbit256@gmail.com>2023-05-15 17:16:18 +1000
committerGitHub <noreply@github.com>2023-05-15 09:16:18 +0200
commit8a292a163ea2e643a8ac5d4cfada8a27076de630 (patch)
tree03a5f75f8da5b438c4cbccbd29544fe352a316ce /archinstall/scripts
parentd65359896a60dc57eb9f18c86f692c9eced7f644 (diff)
Add custom mirror support (#1816)
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
Diffstat (limited to 'archinstall/scripts')
-rw-r--r--archinstall/scripts/guided.py16
-rw-r--r--archinstall/scripts/swiss.py19
2 files changed, 19 insertions, 16 deletions
diff --git a/archinstall/scripts/guided.py b/archinstall/scripts/guided.py
index 1e19c9a3..1aecc1cd 100644
--- a/archinstall/scripts/guided.py
+++ b/archinstall/scripts/guided.py
@@ -11,7 +11,7 @@ from archinstall.default_profiles.applications.pipewire import PipewireProfile
from archinstall.lib.configuration import ConfigurationOutput
from archinstall.lib.installer import Installer
from archinstall.lib.menu import Menu
-from archinstall.lib.mirrors import use_mirrors
+from archinstall.lib.mirrors import use_mirrors, add_custom_mirrors
from archinstall.lib.models.bootloader import Bootloader
from archinstall.lib.models.network_configuration import NetworkConfigurationHandler
from archinstall.lib.networking import check_mirror_reachable
@@ -45,7 +45,7 @@ def ask_user_questions():
global_menu.enable('keyboard-layout')
# Set which region to download packages from during the installation
- global_menu.enable('mirror-region')
+ global_menu.enable('mirror_config')
global_menu.enable('sys-language')
@@ -137,8 +137,11 @@ def perform_installation(mountpoint: Path):
installation.generate_key_files()
# Set mirrors used by pacstrap (outside of installation)
- if archinstall.arguments.get('mirror-region', None):
- use_mirrors(archinstall.arguments['mirror-region']) # Set the mirrors for the live medium
+ if mirror_config := archinstall.arguments.get('mirror_config', None):
+ if mirror_config.mirror_regions:
+ use_mirrors(mirror_config.mirror_regions)
+ if mirror_config.custom_mirrors:
+ add_custom_mirrors(mirror_config.custom_mirrors)
installation.minimal_installation(
testing=enable_testing,
@@ -147,9 +150,8 @@ def perform_installation(mountpoint: Path):
locales=[locale]
)
- if archinstall.arguments.get('mirror-region') is not None:
- if archinstall.arguments.get("mirrors", None) is not None:
- installation.set_mirrors(archinstall.arguments['mirror-region']) # Set the mirrors in the installation medium
+ if mirror_config := archinstall.arguments.get('mirror_config', None):
+ installation.set_mirrors(mirror_config) # Set the mirrors in the installation medium
if archinstall.arguments.get('swap'):
installation.setup_swap('zram')
diff --git a/archinstall/scripts/swiss.py b/archinstall/scripts/swiss.py
index a49f568d..1998f073 100644
--- a/archinstall/scripts/swiss.py
+++ b/archinstall/scripts/swiss.py
@@ -5,7 +5,7 @@ from typing import TYPE_CHECKING, Any, Dict
import archinstall
from archinstall import SysInfo, info, debug
-from archinstall.lib.mirrors import use_mirrors
+from archinstall.lib import mirrors
from archinstall.lib import models
from archinstall.lib import disk
from archinstall.lib.networking import check_mirror_reachable
@@ -92,7 +92,7 @@ class SwissMainMenu(GlobalMenu):
match self._execution_mode:
case ExecutionMode.Full | ExecutionMode.Lineal:
options_list = [
- 'keyboard-layout', 'mirror-region', 'disk_config',
+ 'keyboard-layout', 'mirror_config', 'disk_config',
'disk_encryption', 'swap', 'bootloader', 'hostname', '!root-password',
'!users', 'profile_config', 'audio', 'kernels', 'packages', 'additional-repositories', 'nic',
'timezone', 'ntp'
@@ -107,7 +107,7 @@ class SwissMainMenu(GlobalMenu):
mandatory_list = ['disk_config']
case ExecutionMode.Only_OS:
options_list = [
- 'keyboard-layout', 'mirror-region','bootloader', 'hostname',
+ 'keyboard-layout', 'mirror_config','bootloader', 'hostname',
'!root-password', '!users', 'profile_config', 'audio', 'kernels',
'packages', 'additional-repositories', 'nic', 'timezone', 'ntp'
]
@@ -196,8 +196,11 @@ def perform_installation(mountpoint: Path, exec_mode: ExecutionMode):
installation.generate_key_files()
# Set mirrors used by pacstrap (outside of installation)
- if archinstall.arguments.get('mirror-region', None):
- use_mirrors(archinstall.arguments['mirror-region']) # Set the mirrors for the live medium
+ if mirror_config := archinstall.arguments.get('mirror_config', None):
+ if mirror_config.mirror_regions:
+ mirrors.use_mirrors(mirror_config.mirror_regions)
+ if mirror_config.custom_mirrors:
+ mirrors.add_custom_mirrors(mirror_config.custom_mirrors)
installation.minimal_installation(
testing=enable_testing,
@@ -206,10 +209,8 @@ def perform_installation(mountpoint: Path, exec_mode: ExecutionMode):
locales=[locale]
)
- if archinstall.arguments.get('mirror-region') is not None:
- if archinstall.arguments.get("mirrors", None) is not None:
- installation.set_mirrors(
- archinstall.arguments['mirror-region']) # Set the mirrors in the installation medium
+ if mirror_config := archinstall.arguments.get('mirror_config', None):
+ installation.set_mirrors(mirror_config) # Set the mirrors in the installation medium
if archinstall.arguments.get('swap'):
installation.setup_swap('zram')