I think it would be important to have a fully featured LiveCD to play with for those wishing to play with the system before installing it--also, for some this could serve as a diagnostic and recovery tool. For the LiveCD, I think it would be nifty if we could make it possible to have X on there too.

>> If this was in X, I think the there could be a pretty little menu on the left side that is a tree, where you more or less get the above.

I think it would be best to keep it simple as possible at first and to only have an ncurses installer. Perhaps at a later time we could offer the option of an X installer.

It would be fantastic if we had a very simple-worded and straight forward installer that even a monkey could use. Of course, I'm in support of having a more customized advanced option for installation.

Further, though more design-oriented, I think it would be nifty if we made the installer scriptable, per ams' idea. I mean, have some sort of script file that could be used for any installer; this way we don't need to have the installation functions changed in the installer source. Moreover, if we ever go for an X installer, we would not have to make functionality changes to both the X and ncurses installers.

I like this. GUI-wise I think the installer should hide many of these details from the user. It should look something like this I think (each item would be in a new window unless otherwise noted):

Pick Language (if X, a list of languages wtih flags and stuff) -- This would change the locale, keyboard and the default language output.

Use GNU now -- Just boot into the LiveCD.
Install GNU
Network (automatic/DHCP, or manual)
Install -- This should take into account all options
previously set, in either the Advanced section,
or in this one. It should then simply execute
whatever was set. In short: This should be a
destructive operation, and NO other options
change ANYTHING on the disk.
The default should be automatic partitioning
when it comes to partition the disk.
Advanced (in the same window as `Install GNU')
Partition (should update fstab automaticlly, could even be
done on bootup in the init scripts, already done
for livecd I think)
... More stuff.

If this was in X, I think the there could be a pretty little menu on the left side that is a tree, where you more or less get the above.

3. The 'Installer Manager' will be runned by the init scripts
§ It will be a program that reads from a guile conf what modules and in what sequence they will be runned.
§ This group of modules + the 'Intaller Manager' will be the 'GNU System Installer'
§ My idea is create modules that are 100% independent of the others, but, if necessary, we could use some System Variables to pass some information.

4. The 'Wellcome Module'
a) The user will have a list of supported locales
b) The user will have a list of keyboards (does hurd support more than 1 keymap)
c) A wellcome message

5. The 'Partition Module'
a) Give some information to the user about partitioning
b) A GOOD frontend to GNU Parted, with options like "Auto Partition", that will use the free space of the HD to create the hurd partitions.
c) A screen where people will format their partitions

6. The 'Basesystem Installer Module'
a) Now, users will decide what partition will be '/', what partition will be '/home'... The module can suggest what partition will be used to '/' and 'swap', for example.
b) Uncompress the Base
c) Uncompress basic packages and install them (task #4491)