Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/archinstall/lib/installer.py
diff options
context:
space:
mode:
authorAnton Hvornum <anton.feeds@gmail.com>2021-04-29 14:22:38 +0200
committerAnton Hvornum <anton.feeds@gmail.com>2021-04-29 14:22:38 +0200
commitb59a40606974a82e1d99751fd68818c3b7b0fe0f (patch)
tree32c902b032fd2d1072ed81d6b4aed1dd1f3de883 /archinstall/lib/installer.py
parentfb56fa3c5f3b76773d5c6a00a97f4dfdda5cc573 (diff)
Adding on_pacstrap hook for installation. As well as a plugins listing that plugins can hook in to in order to be called during specific on_<event> calls.
Diffstat (limited to 'archinstall/lib/installer.py')
-rw-r--r--archinstall/lib/installer.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py
index a7b36481..51539d2c 100644
--- a/archinstall/lib/installer.py
+++ b/archinstall/lib/installer.py
@@ -10,6 +10,7 @@ from .systemd import Networkd
from .output import log
from .storage import storage
from .hardware import *
+from .plugins import plugins
# Any package that the Installer() is responsible for (optional and the default ones)
__packages__ = ["base", "base-devel", "linux-firmware", "linux", "linux-lts", "linux-zen", "linux-hardened"]
@@ -126,6 +127,12 @@ class Installer():
def pacstrap(self, *packages, **kwargs):
if type(packages[0]) in (list, tuple): packages = packages[0]
+
+ for plugin in plugins.values():
+ if hasattr(plugin, 'on_pacstrap'):
+ if (result := plugin.on_pacstrap(packages)):
+ packages = result
+
self.log(f'Installing packages: {packages}', level=logging.INFO)
if (sync_mirrors := sys_command('/usr/bin/pacman -Syy')).exit_code == 0: