rozniak / xfce-winxp-tc

Windows XP stuff for XFCE
Other
932 stars 30 forks source link

Installation/setup wizard considerations #81

Open rozniak opened 2 years ago

rozniak commented 2 years ago

This repo contains many parts that build up the overall 'total conversion'. Themes, icons, cursors, programs, panel plugins etc.

It's a lot of effort, even with instructions, for a user to just jump in and start using it all. What with having to compile the binary portions and run various packaging scripts.

I think the total conversion should cover absolutely everything, including in this case, the setup wizard. The user should be able to kick off setup and have an interface similar to if they were installing XP itself - you know, going with the whole 'look and feel' thing this repo has going for it.

Nothing concrete yet, but I'm making this issue just to sort of brainstorm some ideas on the implementation and wishlist items. In brief, the wizard should obviously deal with compiling and packaging components in this repo, and installing them, perhaps providing the user a checklist akin to 9x's setup on which ones they would like to install.

The interface is my main concern, since XP has both a text-mode and graphical-mode portions of setup.

If someone runs the setup wizard, and X is running, then I believe it should display the Windows XP autorun dialog - prompting them to begin setup. They choose to begin setup and go straight into a graphical-mode portion.

If X is not running, then begin a text-mode setup, using something like the ncurses library for this. The only thing I'm stuck on is the transition from text-mode to graphical mode... do we use text-mode to install X stuff and somehow launch into graphical-mode? I'm not sure how that would work.

And the other thing to consider is the OOBE... I don't know enough about X to really see how we can boot straight into a temporary account or something to do OOBE related setup.

I may update this with additional ideas or proof-of-concept things for UI, any comments welcome. :grin:

PS: Just writing this down for now as it's in my head, I have no immediate plan to get this working because I think other things take priority but I may do some kind of PoC or comment further if I am in the mood.

rozniak commented 2 years ago

Might be worth making a branch for this, and perhaps building up a Dia sheet on the following things:

Think that it would be easier to build up a document plan rather than commenting mishmash ideas in the issue - better to use this spot for notes perhaps.

rozniak commented 2 years ago

Need to consider packaging, particularly updates. Should the installer compile, package and install locally - or should the setup install a custom package repository I host so that updates can be provided that way?

The latter is probably the preferred option between the two...

rozniak commented 1 year ago

OOBE most likely will need to be implemented within the LightDM greeter I think? That's what I've been thinking anyway.

Not sure what this entails long-term for Wayland though...

rozniak commented 4 days ago

Copied from #250 :

Rough plan for setup:

Running bootstrapper
    Identify distro, export env vars + check minimum deps to begin (eg. Python)
    No display - go straight to text-mode
    Display present - launch setup autorun for typical 'upgrade' path, copy entire setup tree to disk (because we could be running from an ISO), add setup to init scripts/systemd to launch on next boot into text-mode
Text-mode setup should install bare minimum deps to be able to start graphical mode setup - add graphical mode setup to init scripts/systemd for reboot
Graphical mode setup can be a compiled program since at this point the system should have the deps installed, guess this could just be like a minimal env with just X starting with the setup program
    This phase should install remaining components, perhaps give user option for components ala Win9x used to?
    Consider the AUR - see end of comment
    Configuration of XFCE/session complete in this phase
Chain next boot into OOBE (future work)

Need to consider the AUR, which is another reason I think graphical mode should be compiled/packaged so it can be installed. Should provide some simple shell script that is responsible for chaining phases into the init system which can be run by AUR users to simply skip straight to the configuration portion of setup.

For AUR users it would be something like (setupx is the script here, not necessarily final):

yay xfce-winxp-tc-git
setupx --aur
Reboot
Should boot into graphical mode setup final phase that just completes the configuration and chains into OOBE

All theoretical, I haven't actually tested much of this and how to handle the various init systems supported. I think it should work but that it is the point of these bootstrap tests.