pedrohlc / niemeyer Goto Github PK
View Code? Open in Web Editor NEWAn ArchLinux GUI installer that focuses on generating a customizable mkrootfs script.
License: GNU General Public License v2.0
An ArchLinux GUI installer that focuses on generating a customizable mkrootfs script.
License: GNU General Public License v2.0
A new screen is required to select the new computer timezone (/etc/localtime
), for that one may query the directory /usr/share/timezone
recursively, listing only TZif2
files.
The user has to be able to select one and only one timezone from the list, a RadioButton in a ListView is recommended to achieve that.
It's not necessary to create a symlink in /etc/localtime
as that will be appended to the setup script so the user can review it on later steps. So only saving which file was chosen is enough.
For layout/design inspirations, one can consult other screens like KeyboardPicker and LocaleSelect.
Estimated complexity: 100 lines of C code + 100 lines of QML.
Files that may be created:
src/lib/timezone.hpp
src/lib/timezone.cpp
qml/TimePicker.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.For a complete experience we're mimicking AnarchyLinux's installer, which is split into these parts:
Before that:
After that:
A new screen is required where the user can insert a valid hostname to the new machine, the first user's username, the first user's password, and the root's password.
A double field with matching assertion is desired, but not required. Passwords shouldn't echo. It's recommended to use TextFields and present the input in at least three separate rows.
t's not necessary to create the user, set the password or set/write the hostname, as that will be appended to the setup script so the user can review it on later steps. So only keeping each field in memory is enough.
For layout/design inspirations, one can consult other screens, especially WifiMenu.
Estimated complexity: 100 lines of C code + 130 lines of QML.
Files that may be created:
src/lib/users.hpp
src/lib/users.cpp
qml/UserSetup.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.Qt EGLFS uses different keymaps, need to learn how to create, load and set it.
The following work should cover at least these scenarios:
So, I thought about a multiple-steps wizard presenting these steps:
NOTE: The ZFS work can be delayed, but it's better to count it in when deciding how to do the implementation, making it easy to be added later...
The install disk, CDs, and loop devices appear as valid options in the disk manager,
When opening qmltermwidget in the liveiso, no shell is started.
How about supporting?:
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 CheckBox
es.
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:
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.A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.