index : archinstall32 | |
Archlinux32 installer | gitolite user |
summaryrefslogtreecommitdiff |
-rw-r--r-- | archinstall/__init__.py | 2 | ||||
-rw-r--r-- | archinstall/lib/installer.py | 7 | ||||
-rw-r--r-- | archinstall/lib/plugins.py | 1 |
diff --git a/archinstall/__init__.py b/archinstall/__init__.py index e2c7ea62..82bba81e 100644 --- a/archinstall/__init__.py +++ b/archinstall/__init__.py @@ -14,6 +14,7 @@ from .lib.packages import * from .lib.output import * from .lib.storage import * from .lib.hardware import * +from .lin.plugins import plugins __version__ = "2.2.0" @@ -32,7 +33,6 @@ for arg in sys.argv[1:]: else: positionals.append(arg) - # TODO: Learn the dark arts of argparse... # (I summon thee dark spawn of cPython) 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: diff --git a/archinstall/lib/plugins.py b/archinstall/lib/plugins.py new file mode 100644 index 00000000..adf900b9 --- /dev/null +++ b/archinstall/lib/plugins.py @@ -0,0 +1 @@ +plugins = {}
\ No newline at end of file |