|
3 | 3 | from archinstall.lib.hardware import GfxDriver, SysInfo |
4 | 4 | from archinstall.lib.menu.helpers import Confirmation, Selection |
5 | 5 | from archinstall.lib.models.application import ZramAlgorithm, ZramConfiguration |
| 6 | +from archinstall.lib.models.package_types import DEFAULT_KERNEL, Kernel |
6 | 7 | from archinstall.lib.translationhandler import tr |
7 | 8 | from archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup |
8 | 9 | from archinstall.tui.ui.result import ResultType |
9 | 10 |
|
10 | 11 |
|
11 | | -async def select_kernel(preset: list[str] = []) -> list[str]: |
| 12 | +async def select_kernel(preset: list[Kernel] = []) -> list[Kernel]: |
12 | 13 | """ |
13 | 14 | Asks the user to select a kernel for system. |
14 | 15 |
|
15 | 16 | :return: The string as a selected kernel |
16 | 17 | :rtype: string |
17 | 18 | """ |
18 | | - kernels = ['linux', 'linux-lts', 'linux-zen', 'linux-hardened'] |
19 | | - default_kernel = 'linux' |
| 19 | + group = MenuItemGroup.from_enum(Kernel, sort_items=True, preset=preset) |
| 20 | + group.set_default_by_value(DEFAULT_KERNEL) |
| 21 | + group.set_focus_by_value(DEFAULT_KERNEL) |
20 | 22 |
|
21 | | - items = [MenuItem(k, value=k) for k in kernels] |
22 | | - |
23 | | - group = MenuItemGroup(items, sort_items=True) |
24 | | - group.set_default_by_value(default_kernel) |
25 | | - group.set_focus_by_value(default_kernel) |
26 | | - group.set_selected_by_value(preset) |
27 | | - |
28 | | - result = await Selection[str]( |
| 23 | + result = await Selection[Kernel]( |
29 | 24 | group, |
30 | 25 | header=tr('Select which kernel(s) to install'), |
31 | 26 | allow_skip=True, |
|
0 commit comments