This repository was archived by the owner on Jul 20, 2022. It is now read-only.

Description
A new screen is required to select which packages will be installed during setup time.
The user has to be able to select toggle each package individually or entire groups.
I'll recommend using TreeView with CheckBoxes.
Now that base is a metapackage we better show it, but not allow it to be disabled.
Packages list may be hardcoded, or a JSON can be grabbed remotely from a fileserver/GitHub/Gist.
These are the recommended hierarchy/sort to be presented:
- Kernels (linux, linux-lts, linux-zen & headers)
- Filesystem & utilities
- Bootloaders
- sudo
- CLI text editors (Nano, VI, VIM, NeoVim, Emacs)
- Network related
- Shell (Dash, ZSH, Fish, ...) & utilities (tmux, screen, oh-my-zsh)
- Xorg server & Xorg-Drivers
- DEs
- DMs
- Proprietary graphics drivers
- Audio daemons & utilities
- Common daemons: Bluez, CUPS, SANE
- Web Browsers
- GUI file managers
- GUI terminal emulators
- GUI text editors
Estimated complexity: 150 lines of C code + 300 lines of QML.
Files that may be created:
src/lib/packages.hpp
src/lib/packages.cpp
qml/PackageSelect.qml
Files that have to be modified:
src/main.cpp: Add include, instantiate new class, connect to a QML property.
qml/MainContainer.qml: Needs to instantiate the new component and assign an id to it.
chaotic-installer.pro Add new cpp and hpp to the build system.