all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Graphical Installer - Call for Testing.
@ 2017-01-04  7:59 John Darrington
  2017-01-04 13:18 ` Thomas Danckaert
                   ` (5 more replies)
  0 siblings, 6 replies; 40+ messages in thread
From: John Darrington @ 2017-01-04  7:59 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1136 bytes --]

The wip-installer branch is ready for testing and general review.

This branch provides a curses based graphical interface to the disk
images used for installing GuixSD. It is intended to allow users
unfamiliar with bash and other aspects of unix-like operating systems
to easily install GuixSD.   This means, it should allow you to install
GuixSD on a bare PC, without ever touching a shell (whilst still
providing that option for those who want it).

Whilst it is still a work in progress it has, in my opinion, got to
a stage where it is usable.  Before merging into master however, it
would be great to get feedback from others.

For those of you who don't wish to build a disk-image yourselves,
Ludo has kindly made available pre-built images for x86_64 and
i686-linux systems at http://web.fdn.fr/~lcourtes/software/guix/

Please report coding and usability issues.


Thanks.


-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-04  7:59 Graphical Installer - Call for Testing John Darrington
@ 2017-01-04 13:18 ` Thomas Danckaert
  2017-01-04 18:44   ` John Darrington
  2017-01-04 15:54 ` dian_cecht
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 40+ messages in thread
From: Thomas Danckaert @ 2017-01-04 13:18 UTC (permalink / raw)
  To: john; +Cc: guix-devel

[-- Attachment #1: Type: Text/Plain, Size: 3897 bytes --]

From: John Darrington <john@darrington.wattle.id.au>
Subject: Graphical Installer - Call for Testing.
Date: Wed, 4 Jan 2017 08:59:28 +0100

The wip-installer branch is ready for testing and general review.
>
> This branch provides a curses based graphical interface to the disk
> images used for installing GuixSD. It is intended to allow users
> unfamiliar with bash and other aspects of unix-like operating 
> systems
> to easily install GuixSD.   This means, it should allow you to 
> install
> GuixSD on a bare PC, without ever touching a shell (whilst still
> providing that option for those who want it).
> [...]
> Please report coding and usability issues.

Hi,

I was just playing with it a bit yesterday (I built my own 
installation image according to the instructions in the manual), and 
tried to install to a qemu vm.  I also ran the installer from my git 
checkout (running ./pre-inst-env guix system installer and browsing 
the menus without actually installing anything).

Here are some remarks, which perhaps mostly illustrate my own 
confusion, but might serve to make the interface easier to understand 
:-)

  - General usability: It would be nice to have something like a
    tooltip (text at the bottom of the screen?) explaining what each
    button does when it's highlighted.  It wasn't obvious to me what
    buttons such as “Continue” “Back” “Save” “Write” or “Check” would
    do, and which buttons were required or optional.  Maybe my
    confusion was partly caused by the fact that some buttons don't
    seem to work (see next).  This is just a suggestion, I'm not sure
    if there's room on the screen for more text.  A manual 
accompanying
    the interface could also help, but a self-explanatory interface is
    of course better :)

  - From“partition the disks”, I can only go back to the main menu by
    highlighting “Continue” and pressing enter/space (using the “Back”
    button or “B” doesn't seem to work).  In the “allocate disk
    partitions” menu, the Back and Continue buttons work when I select
    them and press “space” or when I press “B” or “C”, but not when I
    select it and use “enter” (this takes me back to the allocation
    menu for the currently selected disk, possibly this is intended?)

  - For those not used to curses-based interfaces (like me
    apparently?), some explanation of which buttons to press (enter or
    space?) could help.  Also, the shortcuts (e.g. “B” for back) are
    highlighted when I run the installer from my system (in my case,
    from gnome terminal), but in the tty on the VM, this highlighting
    is invisible.  What about a pure ascii way to highlight the
    shortcuts, like “<B>ack” and “<C>ontinue”?

  - When I choose a mount point for a partition and run “check”, part
    of the check output seems to fall off the screen (see attached
    screenshot).  Is it possible to wrap the text lines so they fit in
    the screen (and maybe make the output scrollable?).

  - Possibly a qemu issue: the interface was rather slow to respond to
    commands on the qemu VM. Running the installer menu “natively” 
from
    the guix source dir, everything was snappy.

  - Probably a qemu issue on my system: somehow I can't get networking
    to work like it says in the manual (manual says to specifiy “-net
    default” but my qemu complains this option doesn't exist, I have 
to
    use “-net user”, but then don't seem to get a network in the VM 
:-/
    ) , and the networking setup crashes the installer (“Command
    failed: no such device (-19)”) and causes a renewed automatic 
login.

Because of the networking issue in my VM, I couldn't proceed with the
actual installation.  Will report back if/when I solve it.

Thomas

[-- Attachment #2: check_screenshot.png --]
[-- Type: Image/Png, Size: 15182 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-04  7:59 Graphical Installer - Call for Testing John Darrington
  2017-01-04 13:18 ` Thomas Danckaert
@ 2017-01-04 15:54 ` dian_cecht
  2017-01-04 16:36   ` Ricardo Wurmus
  2017-01-04 18:52   ` John Darrington
  2017-01-06  3:23 ` Thompson, David
                   ` (3 subsequent siblings)
  5 siblings, 2 replies; 40+ messages in thread
From: dian_cecht @ 2017-01-04 15:54 UTC (permalink / raw)
  To: guix-devel

On Wed, Jan 04, 2017 at 08:59:28AM +0100, John Darrington wrote:
> This branch provides a curses based graphical interface to the disk
> images used for installing GuixSD. It is intended to allow users
> unfamiliar with bash and other aspects of unix-like operating systems
> to easily install GuixSD.   This means, it should allow you to install
> GuixSD on a bare PC, without ever touching a shell (whilst still
> providing that option for those who want it).
> 
> <snipped>
> 
> Please report coding and usability issues.

I just wanted to say I hope this isn't going to be the only install option in
the future. While I haven't tested this patch, I do want to say that I'd rather
this be an optional/alternative install method while leaving people a choice of
using the old, tried-and-true shell. I've seen too many installers that force a
GUI on the user and, in the end, removed some very valuable options from the
user. The big example that comes to mind for me is Ubuntu the last time I tried
to install it and found that disk encryption was only available with AES-256,
which I frankly don't trust. At least with plaintext config files (that are
reasonably powerful, which Guix's seem to be), some knowledge of the
command-line tools we have, and some planning the options for installation are
nearly endless.

I'd also like to state that I hope this installer will make sure the user has
plenty of options available at each stage of the process and won't make the
aforementioned mistake of assuming the end user's needs (unless there is some
technical reason that the distro simply can not do something, in which case I'd
hope the techinal limitation will be fixed instead of setting it in stone by
removing it entirely from the GUI installer).

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-04 15:54 ` dian_cecht
@ 2017-01-04 16:36   ` Ricardo Wurmus
  2017-01-04 18:52   ` John Darrington
  1 sibling, 0 replies; 40+ messages in thread
From: Ricardo Wurmus @ 2017-01-04 16:36 UTC (permalink / raw)
  To: dian_cecht; +Cc: guix-devel


dian_cecht@zoho.com writes:

> On Wed, Jan 04, 2017 at 08:59:28AM +0100, John Darrington wrote:
>> This branch provides a curses based graphical interface to the disk
>> images used for installing GuixSD. It is intended to allow users
>> unfamiliar with bash and other aspects of unix-like operating systems
>> to easily install GuixSD.   This means, it should allow you to install
>> GuixSD on a bare PC, without ever touching a shell (whilst still
>> providing that option for those who want it).
>> 
>> <snipped>
>> 
>> Please report coding and usability issues.
>
> I just wanted to say I hope this isn't going to be the only install option in
> the future.

It’s not going to be the only install option.  Its purpose is to make
installation for most people easier.  (I’d totally use it in the future.)

> I'd also like to state that I hope this installer will make sure the user has
> plenty of options available at each stage of the process

As it is now you can always just get a shell and continue from there.

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
http://elephly.net

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-04 13:18 ` Thomas Danckaert
@ 2017-01-04 18:44   ` John Darrington
  0 siblings, 0 replies; 40+ messages in thread
From: John Darrington @ 2017-01-04 18:44 UTC (permalink / raw)
  To: Thomas Danckaert; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 4143 bytes --]

Thanks for the feedback.

I hadn't really considered installing on a VM, so that's another scenario
to think about.

I agree that the 'filesystems' page could be better thought out and
made a bit less confusing.

The "tooltip" idea is an interesting one.  I will think about it.  Like
you say however we are always constrained by the amount of screen real estate
available.

J'

On Wed, Jan 04, 2017 at 02:18:33PM +0100, Thomas Danckaert wrote:

     I was just playing with it a bit yesterday (I built my own installation
     image according to the instructions in the manual), and tried to install
     to a qemu vm.  I also ran the installer from my git checkout (running
     ./pre-inst-env guix system installer and browsing the menus without
     actually installing anything).
     
     Here are some remarks, which perhaps mostly illustrate my own confusion,
     but might serve to make the interface easier to understand :-)
     
      - General usability: It would be nice to have something like a
        tooltip (text at the bottom of the screen?) explaining what each
        button does when it's highlighted.  It wasn't obvious to me what
        buttons such as ???Continue??? ???Back??? ???Save??? ???Write??? or ???Check??? would
        do, and which buttons were required or optional.  Maybe my
        confusion was partly caused by the fact that some buttons don't
        seem to work (see next).  This is just a suggestion, I'm not sure
        if there's room on the screen for more text.  A manual accompanying
        the interface could also help, but a self-explanatory interface is
        of course better :)
     
      - From???partition the disks???, I can only go back to the main menu by
        highlighting ???Continue??? and pressing enter/space (using the ???Back???
        button or ???B??? doesn't seem to work).  In the ???allocate disk
        partitions??? menu, the Back and Continue buttons work when I select
        them and press ???space??? or when I press ???B??? or ???C???, but not when I
        select it and use ???enter??? (this takes me back to the allocation
        menu for the currently selected disk, possibly this is intended?)
     
      - For those not used to curses-based interfaces (like me
        apparently?), some explanation of which buttons to press (enter or
        space?) could help.  Also, the shortcuts (e.g. ???B??? for back) are
        highlighted when I run the installer from my system (in my case,
        from gnome terminal), but in the tty on the VM, this highlighting
        is invisible.  What about a pure ascii way to highlight the
        shortcuts, like ???<B>ack??? and ???<C>ontinue????
     
      - When I choose a mount point for a partition and run ???check???, part
        of the check output seems to fall off the screen (see attached
        screenshot).  Is it possible to wrap the text lines so they fit in
        the screen (and maybe make the output scrollable?).
     
      - Possibly a qemu issue: the interface was rather slow to respond to
        commands on the qemu VM. Running the installer menu ???natively???
     from
        the guix source dir, everything was snappy.
     
      - Probably a qemu issue on my system: somehow I can't get networking
        to work like it says in the manual (manual says to specifiy ???-net
        default??? but my qemu complains this option doesn't exist, I have to
        use ???-net user???, but then don't seem to get a network in the VM
     :-/
        ) , and the networking setup crashes the installer (???Command
        failed: no such device (-19)???) and causes a renewed automatic login.
     
     Because of the networking issue in my VM, I couldn't proceed with the
     actual installation.  Will report back if/when I solve it.
     
     Thomas



-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-04 15:54 ` dian_cecht
  2017-01-04 16:36   ` Ricardo Wurmus
@ 2017-01-04 18:52   ` John Darrington
  1 sibling, 0 replies; 40+ messages in thread
From: John Darrington @ 2017-01-04 18:52 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1846 bytes --]

On Wed, Jan 04, 2017 at 07:54:36AM -0800, dian_cecht@zoho.com wrote:

     I just wanted to say I hope this isn't going to be the only install option in
     the future. 

That is not for me to say, but FWIW I agree.

     While I haven't tested this patch, I do want to say that I'd rather
     this be an optional/alternative install method while leaving people a choice of
     using the old, tried-and-true shell. 

Perhaps after you test it, you will be so impressed by it that you will resolve
never to use any other way of installing ever again?   Even if that is not the
case, I'd still be interested to hear your opinions after you have tried it.

     I'd also like to state that I hope this installer will make sure the user has
     plenty of options available at each stage of the process and won't make the
     aforementioned mistake of assuming the end user's needs (unless there is some
     technical reason that the distro simply can not do something, in which case I'd
     hope the techinal limitation will be fixed instead of setting it in stone by
     removing it entirely from the GUI installer).

As with all systems, one has to strike a balance between flexibility and ease of
use.   I too hope that the right balance has been acheived, but I am sure that
improvements can be made.  That is why I put out this call for testing.   Once
I have collected enough feedback from people who have tried it, I will decide 
what changes need to be made.

And needless to say, others are welcome to send patches and/or commit to the
branch as appropriate.

J'
     

-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-04  7:59 Graphical Installer - Call for Testing John Darrington
  2017-01-04 13:18 ` Thomas Danckaert
  2017-01-04 15:54 ` dian_cecht
@ 2017-01-06  3:23 ` Thompson, David
  2017-01-07 16:02   ` Christopher Allan Webber
  2017-01-06 20:53 ` myglc2
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 40+ messages in thread
From: Thompson, David @ 2017-01-06  3:23 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

Hi John,

On Wed, Jan 4, 2017 at 2:59 AM, John Darrington
<john@darrington.wattle.id.au> wrote:
> The wip-installer branch is ready for testing and general review.
>
> This branch provides a curses based graphical interface to the disk
> images used for installing GuixSD. It is intended to allow users
> unfamiliar with bash and other aspects of unix-like operating systems
> to easily install GuixSD.   This means, it should allow you to install
> GuixSD on a bare PC, without ever touching a shell (whilst still
> providing that option for those who want it).

I don't have any real feedback, but I just want to say that this is an
awesome initiative that will make GuixSD accessible to many more
people!  Thanks for working on this!

- Dave

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-04  7:59 Graphical Installer - Call for Testing John Darrington
                   ` (2 preceding siblings ...)
  2017-01-06  3:23 ` Thompson, David
@ 2017-01-06 20:53 ` myglc2
  2017-01-06 21:50   ` John Darrington
  2017-01-08 22:34 ` Ludovic Courtès
  2017-01-13  5:40 ` Chris Marusich
  5 siblings, 1 reply; 40+ messages in thread
From: myglc2 @ 2017-01-06 20:53 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

On 01/04/2017 at 08:59 John Darrington writes:

> The wip-installer branch is ready for testing and general review.

This is looking really great! I tried ...

http://web.fdn.fr/~lcourtes/software/guix/guixsd-graphical-installer-x86-64-linux

... on the headless server where I run GuixSD. I experienced these issues:

ATTEMPT 1

I started with a previously partitioned disk. I selected the 'Headless
server' option. I did not modify the config. The install completed w/o
errors. WOW! After restarting, I logged in to root and looked around. I
was a bit disappointed that no default user was created. So I figured I
needed to edit the config.scm file. But I didn't see it in /etc where I
hoped it would be. I was also a bit disappointed that emacs wasn't
installed.

Suggestions:

1) Add a user configuration menu/form?
2) save the config file in an obvious place?
3) install emacs?

ATTEMPT 2

This time I tried to set up the HD from scratch. I successfully deleted
old partitions and created new partitions. It was not clear how much I
needed to know (e.g., do I need to mark a partition bootable?)

Then I got stuck in "Allocate disk partitions".  I could enter a '/'
mount point. I could 're-create' the file system. 'Continue' took me
back to "select a partition". But I couldn't figure out how to get back
to the main menu/form to continue the installation.  I guess 'Go-Back'
is supposed to do this, but it was a noop for me.

George

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-06 20:53 ` myglc2
@ 2017-01-06 21:50   ` John Darrington
  2017-01-07  2:18     ` myglc2
  0 siblings, 1 reply; 40+ messages in thread
From: John Darrington @ 2017-01-06 21:50 UTC (permalink / raw)
  To: myglc2; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 2798 bytes --]

Thanks for taking the time to do this.

On Fri, Jan 07, 2017 at 03:53:17PM -0500, myglc2 wrote:
     
     This is looking really great! I tried ...
     
     http://web.fdn.fr/~lcourtes/software/guix/guixsd-graphical-installer-x86-64-linux
     
     ... on the headless server where I run GuixSD. I experienced these issues:
     
     ATTEMPT 1
     
     I started with a previously partitioned disk. I selected the 'Headless
     server' option. I did not modify the config. The install completed w/o
     errors. WOW! After restarting, I logged in to root and looked around. I
     was a bit disappointed that no default user was created. So I figured I
     needed to edit the config.scm file. But I didn't see it in /etc where I
     hoped it would be. 
     
Odd!  It should have been there.  I wonder what went wrong?


     Suggestions:
     
     1) Add a user configuration menu/form?

That should be fairly straightforward.  But I wonder if it wouldn't be easier for
people to add them after the system is installed and run guix system reconfigure ?

     2) save the config file in an obvious place?

I will have to find out what went wrong and fix it.


     3) install emacs?

I would be reluctant to do that by default:

Firstly it's a slippery slope.  The next person will say "No! install vi! or nano, or ....".

Secondly, I think the intended way for Guix to be configured is to have 
the system profile relatively sparse.  Editors belong in the user profiles.

Perhaps we could add a page which would allow users to add arbitrary packages
to the system profile.

     
     ATTEMPT 2
     
     This time I tried to set up the HD from scratch. I successfully deleted
     old partitions and created new partitions. It was not clear how much I
     needed to know (e.g., do I need to mark a partition bootable?)

Since I'm currently just execing cfdisk,  I don't have much control over that.  But 
hopefully there's be some nice Guile bindings for parted soon ...
     
     Then I got stuck in "Allocate disk partitions".  I could enter a '/'
     mount point. I could 're-create' the file system. 'Continue' took me
     back to "select a partition". But I couldn't figure out how to get back
     to the main menu/form to continue the installation.  I guess 'Go-Back'
     is supposed to do this, but it was a noop for me.

It's clear that this part of the user interface needs work to make it simpler
and more intuitive.


Thanks again for the feedback.

J'
     
     

-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-06 21:50   ` John Darrington
@ 2017-01-07  2:18     ` myglc2
  2017-01-07  4:55       ` myglc2
                         ` (2 more replies)
  0 siblings, 3 replies; 40+ messages in thread
From: myglc2 @ 2017-01-07  2:18 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel


On 01/06/2017 at 21:50 John Darrington writes:

> Thanks for taking the time to do this.
>
> On Fri, Jan 07, 2017 at 03:53:17PM -0500, myglc2 wrote:
>      
>      This is looking really great! I tried ...
>      
>      http://web.fdn.fr/~lcourtes/software/guix/guixsd-graphical-installer-x86-64-linux
>      
>      ... on the headless server where I run GuixSD. I experienced these issues:
>      
>      ATTEMPT 1
>      
>      I started with a previously partitioned disk. I selected the 'Headless
>      server' option. I did not modify the config. The install completed w/o
>      errors. WOW! After restarting, I logged in to root and looked around. I
>      was a bit disappointed that no default user was created. So I figured I
>      needed to edit the config.scm file. But I didn't see it in /etc where I
>      hoped it would be. 
>      
> Odd!  It should have been there.  I wonder what went wrong?

Maybe I missed it. I confess I looked quickly and when I realized emacs
was not installed and I needed to add a user, I proceeded to ATTEMPT 2
figuring I would try to fix up the config in the install
process. Unfortunately that blew away the disk so I can't go back an
double check now.

>      Suggestions:
>      
>      1) Add a user configuration menu/form?
>
> That should be fairly straightforward.  But I wonder if it wouldn't be easier for
> people to add them after the system is installed and run guix system
> reconfigure ?

I agree user management is downstream of the install. But in practice I
need an "admin" user with sudo/su to manage a headless server. Otherwise
I would have to allow login to root over ssh or use the console.

So in practice all I do at the console is provide root and admin
passwords.  If you made it easy to create a single admin user that would
be very handy. The debian install does this.

BTW, I see you followed the doc and set ...

(lsh-service #:port-number 2222)

... for the Headless server.  I don't think this is desirable. The user
will want to ssh into their nice new headless GuixSD server and this
non-standard port is sure to shoot novice users in the foot.

>      2) save the config file in an obvious place?
>
> I will have to find out what went wrong and fix it.
>
>
>      3) install emacs?
>
> I would be reluctant to do that by default:
>
> Firstly it's a slippery slope.  The next person will say "No! install vi! or nano, or ....".
>
> Secondly, I think the intended way for Guix to be configured is to have 
> the system profile relatively sparse.  Editors belong in the user
> profiles.

I have tried it both ways.  In practice the root user will want an
editor to edit the config. So it seems illogical to me not to include an
editor. The problem is that the editor will depend on the politics of
the system admin ;=)

In my case I want emacs, so I put emacs in my system configs.

> Perhaps we could add a page which would allow users to add arbitrary packages
> to the system profile.

That would be very nice.  FWIW, I attach a recent system config to
illustrate some packages that I would find useful.

>      
>      ATTEMPT 2
>      
>      This time I tried to set up the HD from scratch. I successfully deleted
>      old partitions and created new partitions. It was not clear how much I
>      needed to know (e.g., do I need to mark a partition bootable?)
>
> Since I'm currently just execing cfdisk,  I don't have much control
> over that.

My point is that we probably need to provide very basic guidance as
regards the minimum buttons a user need to push to get the system up.
Maybe this could be in a sidebar on the relevant screens?

> But 
> hopefully there's be some nice Guile bindings for parted soon ...
>      
>      Then I got stuck in "Allocate disk partitions".  I could enter a '/'
>      mount point. I could 're-create' the file system. 'Continue' took me
>      back to "select a partition". But I couldn't figure out how to get back
>      to the main menu/form to continue the installation.  I guess 'Go-Back'
>      is supposed to do this, but it was a noop for me.
>
> It's clear that this part of the user interface needs work to make it simpler
> and more intuitive.

I'm not complaining. I think it this is a really good for a first cut. I
just couldn't figure out how to get back to the main thread and complete
the install. Was I missing something?  Or this is a bug?

>
> Thanks again for the feedback.
>
> J'

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-07  2:18     ` myglc2
@ 2017-01-07  4:55       ` myglc2
  2017-01-07 20:35         ` Alex Kost
  2017-01-07  8:05       ` John Darrington
  2017-01-08 18:47       ` Taylan Ulrich Bayırlı/Kammer
  2 siblings, 1 reply; 40+ messages in thread
From: myglc2 @ 2017-01-07  4:55 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 365 bytes --]


Oops, herewith the attachment for previous email.

> In my case I want emacs, so I put emacs in my system configs.

Another rationale for installing emacs in the system config is the very
nice emacs-guix tools for package search and config management. It seems
to me that emacs could also be used to create a less emacsen-ish config
manager, if that was desired.


[-- Attachment #2: system8.scm --]
[-- Type: application/octet-stream, Size: 1843 bytes --]

;;; g1 system config
(use-modules (gnu))
(use-service-modules networking ssh
		     )
(use-package-modules
 admin
 base                  ; glibc-utf8-locales gnu-make
 disk                  ; parted
 linux                 ; mdadm
 package-management    ; guix
 cups
 qemu
 screen
 ghostscript           ; gs-fonts
 fonts                 ; font-dejavu font-gnu-freefont-ttf
 ssh                   ; openssh
 xorg                  ; xauth
 certs
 rsync
 wget
 version-control       ; git
 aspell
 emacs                 ; flycheck paredit magit emacs-*
 scheme                ; sicp
 gv                    ; for PDF in emacs-no-x-toolkit 
 )
(operating-system
  (host-name "g1")
  (timezone "America/New_York")
  (locale "en_US.utf8")
  (bootloader (grub-configuration (device "/dev/sda")))
  (file-systems (cons (file-system
			(device "ssd-root")
			(title 'label)
			(mount-point "/")
			(type "ext4"))
		      %base-file-systems))
  (users (cons* (user-account
		 (name "glc")
		 (group "users")
		 (supplementary-groups '("wheel"))
		 (home-directory "/home/glc"))
		(user-account
		 (name "g1")
		 (group "users")
		 (supplementary-groups '("wheel" "kvm"))
		 (home-directory "/home/g1"))
		%base-user-accounts))
  (packages
   (cons*
    glibc-utf8-locales
    gnu-make
    parted
    mdadm
    guix
    cups
    qemu
    screen
    openssh nss-certs xauth
    rsync wget
    git
    gs-fonts font-dejavu font-gnu-freefont-ttf
    aspell
    emacs-no-x-toolkit
    flycheck paredit magit
    emacs-zenburn-theme emacs-markdown-mode emacs-web-mode emacs-simple-httpd
    geiser-next    ; temporary for 'C-c C-d C-d' to work
    sicp           ; SICP Info
    gv          ; for PDF in emacs-no-x-toolkit
    %base-packages))
  (services
   (cons*
    (dhcp-client-service)
    (lsh-service #:port-number 22)
    %base-services	  
    ))
  )

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-07  2:18     ` myglc2
  2017-01-07  4:55       ` myglc2
@ 2017-01-07  8:05       ` John Darrington
  2017-01-08 18:47       ` Taylan Ulrich Bayırlı/Kammer
  2 siblings, 0 replies; 40+ messages in thread
From: John Darrington @ 2017-01-07  8:05 UTC (permalink / raw)
  To: myglc2; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 3027 bytes --]

On Fri, Jan 06, 2017 at 09:18:39PM -0500, myglc2 wrote:

     >      1) Add a user configuration menu/form?
     >
     > That should be fairly straightforward.  But I wonder if it wouldn't be easier for
     > people to add them after the system is installed and run guix system
     > reconfigure ?
     
     I agree user management is downstream of the install. But in practice I
     need an "admin" user with sudo/su to manage a headless server. Otherwise
     I would have to allow login to root over ssh or use the console.
     
     So in practice all I do at the console is provide root and admin
     passwords.  If you made it easy to create a single admin user that would
     be very handy. The debian install does this.

Yeah and in debian one cannot avoid but add a user.  And to me this is annoying
since all my clients are LDAP managed so after I have installed a client, the
first thing I do is to delete the user which I was forced to create.

But I will add a page to add users before the "real thing" is released, but
it will be a strictly optional step.



     
     BTW, I see you followed the doc and set ...
     
     (lsh-service #:port-number 2222)
     
     ... for the Headless server.  I don't think this is desirable. The user
     will want to ssh into their nice new headless GuixSD server and this
     non-standard port is sure to shoot novice users in the foot.


Yes, I wonder what the rationale for this port number was?



     
     > Perhaps we could add a page which would allow users to add arbitrary packages
     > to the system profile.
     
     That would be very nice.  FWIW, I attach a recent system config to
     illustrate some packages that I would find useful.

I'll also add a  "Select additional packages for system profile" page, but 
again it'll  be an optional step.
     

     >      This time I tried to set up the HD from scratch. I successfully deleted
     >      old partitions and created new partitions. It was not clear how much I
     >      needed to know (e.g., do I need to mark a partition bootable?)
     >
     > Since I'm currently just execing cfdisk,  I don't have much control
     > over that.
     
     My point is that we probably need to provide very basic guidance as
     regards the minimum buttons a user need to push to get the system up.
     Maybe this could be in a sidebar on the relevant screens?

I will think about how that could perhaps be done.
     
     just couldn't figure out how to get back to the main thread and complete
     the install. Was I missing something?  Or this is a bug?

Probably both.  If you couldn't figure something out, then it's a bad user
interface.  I'll re-think that bit of it.

J'
     

-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-06  3:23 ` Thompson, David
@ 2017-01-07 16:02   ` Christopher Allan Webber
  0 siblings, 0 replies; 40+ messages in thread
From: Christopher Allan Webber @ 2017-01-07 16:02 UTC (permalink / raw)
  To: Thompson, David; +Cc: guix-devel

Thompson, David writes:

> Hi John,
>
> On Wed, Jan 4, 2017 at 2:59 AM, John Darrington
> <john@darrington.wattle.id.au> wrote:
>> The wip-installer branch is ready for testing and general review.
>>
>> This branch provides a curses based graphical interface to the disk
>> images used for installing GuixSD. It is intended to allow users
>> unfamiliar with bash and other aspects of unix-like operating systems
>> to easily install GuixSD.   This means, it should allow you to install
>> GuixSD on a bare PC, without ever touching a shell (whilst still
>> providing that option for those who want it).
>
> I don't have any real feedback, but I just want to say that this is an
> awesome initiative that will make GuixSD accessible to many more
> people!  Thanks for working on this!
>
> - Dave

What Dave said.  Thank you :)

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-07  4:55       ` myglc2
@ 2017-01-07 20:35         ` Alex Kost
  0 siblings, 0 replies; 40+ messages in thread
From: Alex Kost @ 2017-01-07 20:35 UTC (permalink / raw)
  To: myglc2; +Cc: guix-devel

myglc2 (2017-01-06 23:55 -0500) wrote:

[...]
>   (packages
>    (cons*
>     glibc-utf8-locales
>     gnu-make
>     parted
>     mdadm
>     guix
>     cups
>     qemu
>     screen
>     openssh nss-certs xauth
>     rsync wget
>     git
>     gs-fonts font-dejavu font-gnu-freefont-ttf
>     aspell
>     emacs-no-x-toolkit
>     flycheck paredit magit
>     emacs-zenburn-theme emacs-markdown-mode emacs-web-mode emacs-simple-httpd
>     geiser-next    ; temporary for 'C-c C-d C-d' to work

This bug was fixed, you can use 'geiser' now (currently 'geiser-next' is
an alias for 'geiser' anyway).

>     sicp           ; SICP Info
>     gv          ; for PDF in emacs-no-x-toolkit
>     %base-packages))

-- 
Alex

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-07  2:18     ` myglc2
  2017-01-07  4:55       ` myglc2
  2017-01-07  8:05       ` John Darrington
@ 2017-01-08 18:47       ` Taylan Ulrich Bayırlı/Kammer
  2017-01-08 19:28         ` John Darrington
  2 siblings, 1 reply; 40+ messages in thread
From: Taylan Ulrich Bayırlı/Kammer @ 2017-01-08 18:47 UTC (permalink / raw)
  To: myglc2; +Cc: guix-devel

myglc2 <myglc2@gmail.com> writes:

> On 01/06/2017 at 21:50 John Darrington writes:
>
>>      3) install emacs?
>>
>> I would be reluctant to do that by default:
>>
>> Firstly it's a slippery slope.  The next person will say "No! install vi! or nano, or ....".
>>
>> Secondly, I think the intended way for Guix to be configured is to have 
>> the system profile relatively sparse.  Editors belong in the user
>> profiles.
>
> I have tried it both ways.  In practice the root user will want an
> editor to edit the config. So it seems illogical to me not to include an
> editor. The problem is that the editor will depend on the politics of
> the system admin ;=)
>
> In my case I want emacs, so I put emacs in my system configs.

There's a tiny emacs-like editor called mg.  In terms of size/features,
mg is to Emacs what vi is to Vim.

If you ask me, every headless server or similar system should come with
vi, mg, and nano; together they cover all bases and are all tiny so
installing them by default doesn't hurt.

Emacs, Vim, or another big editor can be installed at discretion of the
user.

The package 'nvi' provides classic vi under Guix.  Nano and mg are their
own packages.  Here's their closure sizes:

taylan@T420:~$ guix size mg
store item                                                       total    self
/gnu/store/kxdvx4ks927537z4ndzca39q0bal81rj-mg-20050429             66.9     0.2   0.2%
/gnu/store/xydfiifs9slq0wv6n8j6p26icn2ihn88-ncurses-6.0             66.7     5.7   8.6%
/gnu/store/cdi08kw7r6r684w8mk0xq0dkgpjhfpmd-gcc-4.9.4-lib           61.0    22.7  34.0%
/gnu/store/iwgi9001dmmihrjg4rqhd6pa6788prjw-glibc-2.24              38.3    36.8  55.1%
/gnu/store/rvgmixpmsq5lqr9qflhkm70kg7a4rys2-bash-static-4.4.0        1.4     1.4   2.1%
total: 66.9 MiB
taylan@T420:~$ guix size nvi
store item                                                       total    self
/gnu/store/bls7waxw1yfxgqzwbwa88r065hi45pvj-nvi-1.81.6              85.5     1.6   1.8%
/gnu/store/xydfiifs9slq0wv6n8j6p26icn2ihn88-ncurses-6.0             66.7     5.7   6.7%
/gnu/store/1pmfxq5amb2rngj1i6c6gi93sy0yrngx-bdb-6.2.23              65.8     4.8   5.6%
/gnu/store/cdi08kw7r6r684w8mk0xq0dkgpjhfpmd-gcc-4.9.4-lib           61.0    22.7  26.6%
/gnu/store/qkw4zrwfybxww8f56nkb6hggxambk89b-bash-4.4.0              50.7     5.4   6.4%
/gnu/store/bm0gfw4jkw8gd0vpnnzrb6z0xncrbx3p-readline-7.0            45.3     1.3   1.5%
/gnu/store/hdrli1v7q3107w842s7di8rid82xlfvl-ncurses-6.0             44.0     5.7   6.7%
/gnu/store/iwgi9001dmmihrjg4rqhd6pa6788prjw-glibc-2.24              38.3    36.8  43.1%
/gnu/store/rvgmixpmsq5lqr9qflhkm70kg7a4rys2-bash-static-4.4.0        1.4     1.4   1.7%
total: 85.5 MiB
taylan@T420:~$ guix size nano
store item                                                       total    self
/gnu/store/q76f7ncp6yvmpj2yfqy336iqbqajk9z0-nano-2.7.2              72.7     1.7   2.4%
/gnu/store/xydfiifs9slq0wv6n8j6p26icn2ihn88-ncurses-6.0             66.7     5.7   7.9%
/gnu/store/06icf5h4z83mw5g17a58fy26z14dsj9z-file-5.28               65.3     4.3   5.9%
/gnu/store/cdi08kw7r6r684w8mk0xq0dkgpjhfpmd-gcc-4.9.4-lib           61.0    22.7  31.3%
/gnu/store/iwgi9001dmmihrjg4rqhd6pa6788prjw-glibc-2.24              38.3    36.8  50.6%
/gnu/store/rvgmixpmsq5lqr9qflhkm70kg7a4rys2-bash-static-4.4.0        1.4     1.4   2.0%
total: 72.7 MiB
taylan@T420:~$

As you see, they don't depend on many (if any) libraries that aren't
very likely to be installed as dependencies of something else anyway,
and their own size adds up to a mere 3.5 MB.

Taylan

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-08 18:47       ` Taylan Ulrich Bayırlı/Kammer
@ 2017-01-08 19:28         ` John Darrington
  0 siblings, 0 replies; 40+ messages in thread
From: John Darrington @ 2017-01-08 19:28 UTC (permalink / raw)
  To: Taylan Ulrich Bay??rl??/Kammer; +Cc: guix-devel, myglc2

[-- Attachment #1: Type: text/plain, Size: 4361 bytes --]

Zile is the emacs clone that the disk-image comes with by default.
J'

On Sun, Jan 08, 2017 at 07:47:56PM +0100, Taylan Ulrich Bay??rl??/Kammer wrote:
     myglc2 <myglc2@gmail.com> writes:
     
     > On 01/06/2017 at 21:50 John Darrington writes:
     >
     >>      3) install emacs?
     >>
     >> I would be reluctant to do that by default:
     >>
     >> Firstly it's a slippery slope.  The next person will say "No! install vi! or nano, or ....".
     >>
     >> Secondly, I think the intended way for Guix to be configured is to have 
     >> the system profile relatively sparse.  Editors belong in the user
     >> profiles.
     >
     > I have tried it both ways.  In practice the root user will want an
     > editor to edit the config. So it seems illogical to me not to include an
     > editor. The problem is that the editor will depend on the politics of
     > the system admin ;=)
     >
     > In my case I want emacs, so I put emacs in my system configs.
     
     There's a tiny emacs-like editor called mg.  In terms of size/features,
     mg is to Emacs what vi is to Vim.
     
     If you ask me, every headless server or similar system should come with
     vi, mg, and nano; together they cover all bases and are all tiny so
     installing them by default doesn't hurt.
     
     Emacs, Vim, or another big editor can be installed at discretion of the
     user.
     
     The package 'nvi' provides classic vi under Guix.  Nano and mg are their
     own packages.  Here's their closure sizes:
     
     taylan@T420:~$ guix size mg
     store item                                                       total    self
     /gnu/store/kxdvx4ks927537z4ndzca39q0bal81rj-mg-20050429             66.9     0.2   0.2%
     /gnu/store/xydfiifs9slq0wv6n8j6p26icn2ihn88-ncurses-6.0             66.7     5.7   8.6%
     /gnu/store/cdi08kw7r6r684w8mk0xq0dkgpjhfpmd-gcc-4.9.4-lib           61.0    22.7  34.0%
     /gnu/store/iwgi9001dmmihrjg4rqhd6pa6788prjw-glibc-2.24              38.3    36.8  55.1%
     /gnu/store/rvgmixpmsq5lqr9qflhkm70kg7a4rys2-bash-static-4.4.0        1.4     1.4   2.1%
     total: 66.9 MiB
     taylan@T420:~$ guix size nvi
     store item                                                       total    self
     /gnu/store/bls7waxw1yfxgqzwbwa88r065hi45pvj-nvi-1.81.6              85.5     1.6   1.8%
     /gnu/store/xydfiifs9slq0wv6n8j6p26icn2ihn88-ncurses-6.0             66.7     5.7   6.7%
     /gnu/store/1pmfxq5amb2rngj1i6c6gi93sy0yrngx-bdb-6.2.23              65.8     4.8   5.6%
     /gnu/store/cdi08kw7r6r684w8mk0xq0dkgpjhfpmd-gcc-4.9.4-lib           61.0    22.7  26.6%
     /gnu/store/qkw4zrwfybxww8f56nkb6hggxambk89b-bash-4.4.0              50.7     5.4   6.4%
     /gnu/store/bm0gfw4jkw8gd0vpnnzrb6z0xncrbx3p-readline-7.0            45.3     1.3   1.5%
     /gnu/store/hdrli1v7q3107w842s7di8rid82xlfvl-ncurses-6.0             44.0     5.7   6.7%
     /gnu/store/iwgi9001dmmihrjg4rqhd6pa6788prjw-glibc-2.24              38.3    36.8  43.1%
     /gnu/store/rvgmixpmsq5lqr9qflhkm70kg7a4rys2-bash-static-4.4.0        1.4     1.4   1.7%
     total: 85.5 MiB
     taylan@T420:~$ guix size nano
     store item                                                       total    self
     /gnu/store/q76f7ncp6yvmpj2yfqy336iqbqajk9z0-nano-2.7.2              72.7     1.7   2.4%
     /gnu/store/xydfiifs9slq0wv6n8j6p26icn2ihn88-ncurses-6.0             66.7     5.7   7.9%
     /gnu/store/06icf5h4z83mw5g17a58fy26z14dsj9z-file-5.28               65.3     4.3   5.9%
     /gnu/store/cdi08kw7r6r684w8mk0xq0dkgpjhfpmd-gcc-4.9.4-lib           61.0    22.7  31.3%
     /gnu/store/iwgi9001dmmihrjg4rqhd6pa6788prjw-glibc-2.24              38.3    36.8  50.6%
     /gnu/store/rvgmixpmsq5lqr9qflhkm70kg7a4rys2-bash-static-4.4.0        1.4     1.4   2.0%
     total: 72.7 MiB
     taylan@T420:~$
     
     As you see, they don't depend on many (if any) libraries that aren't
     very likely to be installed as dependencies of something else anyway,
     and their own size adds up to a mere 3.5 MB.
     
     Taylan

-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-04  7:59 Graphical Installer - Call for Testing John Darrington
                   ` (3 preceding siblings ...)
  2017-01-06 20:53 ` myglc2
@ 2017-01-08 22:34 ` Ludovic Courtès
  2017-01-09 12:31   ` John Darrington
  2017-01-13  5:40 ` Chris Marusich
  5 siblings, 1 reply; 40+ messages in thread
From: Ludovic Courtès @ 2017-01-08 22:34 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

Hi!

I did a quick test and I think it’s pretty cool.  :-)

A few issues I noticed:

  1. “Go Back” often doesn’t go back (for instance from the “Choose the
     mount point for device” screen).

  2. Pressing F9 (language) replaces lines with funny characters (“herd
     restart term-tty1” fixes it, so to speak).

  3. “Setup the network” (should be “Set up”?) shows “Command failed (No
     such device”) for a second, and then apparently the installer
     crashes and term-tty1 is restarted.

I’d tend to prefer something slightly more colorful, like Debian’s.

But anyway, great work!

Ludo’.

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-08 22:34 ` Ludovic Courtès
@ 2017-01-09 12:31   ` John Darrington
  2017-01-10  8:39     ` Ludovic Courtès
  0 siblings, 1 reply; 40+ messages in thread
From: John Darrington @ 2017-01-09 12:31 UTC (permalink / raw)
  To: Ludovic Court??s; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1352 bytes --]

On Sun, Jan 08, 2017 at 11:34:26PM +0100, Ludovic Court??s wrote:
     
     I did a quick test and I think it???s pretty cool.  :-)

Thanks.
     
     A few issues I noticed:
     
       1. ???Go Back??? often doesn???t go back (for instance from the ???Choose the
          mount point for device??? screen).

Thanks. I will fix those.
     
       2. Pressing F9 (language) replaces lines with funny characters (???herd
          restart term-tty1??? fixes it, so to speak).

I think this is because glibc-locales is not part of the installer image.  Unfortunately
if we include it, then it adds 50% to the size.  We might have to think about this :(
     
       3. ???Setup the network??? (should be ???Set up????) shows ???Command failed (No
          such device???) for a second, and then apparently the installer
          crashes and term-tty1 is restarted.

Can you send me the results of running "ip -o link" (as root) on the system which 
did this?
     
     I???d tend to prefer something slightly more colorful, like Debian???s.
     
We can argue about that later :)

J'

-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-09 12:31   ` John Darrington
@ 2017-01-10  8:39     ` Ludovic Courtès
  2017-01-10 11:57       ` John Darrington
  0 siblings, 1 reply; 40+ messages in thread
From: Ludovic Courtès @ 2017-01-10  8:39 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

John Darrington <john@darrington.wattle.id.au> skribis:

> On Sun, Jan 08, 2017 at 11:34:26PM +0100, Ludovic Court??s wrote:

[...]

>        2. Pressing F9 (language) replaces lines with funny characters (???herd
>           restart term-tty1??? fixes it, so to speak).
>
> I think this is because glibc-locales is not part of the installer image.  Unfortunately
> if we include it, then it adds 50% to the size.  We might have to think about this :(

Maybe it’s not necessary: we can set ‘LANGUAGE’ to a language that does
not necessarily have a corresponding locale, like “eo”.

>        3. ???Setup the network??? (should be ???Set up????) shows ???Command failed (No
>           such device???) for a second, and then apparently the installer
>           crashes and term-tty1 is restarted.
>
> Can you send me the results of running "ip -o link" (as root) on the system which 
> did this?

That was in QEMU without networking:

  qemu-system-x86_64 -enable-kvm guixsd-graphical-installer-x86-64-linux -m 512

“ip -o link” shows lo and ens3, both down.

BTW (guix build syscalls) has procedures to deal with network interfaces
that might be useful here.

Thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-10  8:39     ` Ludovic Courtès
@ 2017-01-10 11:57       ` John Darrington
  0 siblings, 0 replies; 40+ messages in thread
From: John Darrington @ 2017-01-10 11:57 UTC (permalink / raw)
  To: Ludovic Court??s; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1816 bytes --]

On Tue, Jan 10, 2017 at 09:39:01AM +0100, Ludovic Court??s wrote:
     John Darrington <john@darrington.wattle.id.au> skribis:
     
     > On Sun, Jan 08, 2017 at 11:34:26PM +0100, Ludovic Court??s wrote:
     
     [...]
     
     >        2. Pressing F9 (language) replaces lines with funny characters (???herd
     >           restart term-tty1??? fixes it, so to speak).
     >
     > I think this is because glibc-locales is not part of the installer image.  Unfortunately
     > if we include it, then it adds 50% to the size.  We might have to think about this :(
     
     Maybe it???s not necessary: we can set ???LANGUAGE??? to a language that does
     not necessarily have a corresponding locale, like ???eo???.
     
     >        3. ???Setup the network??? (should be ???Set up????) shows ???Command failed (No
     >           such device???) for a second, and then apparently the installer
     >           crashes and term-tty1 is restarted.
     >
     > Can you send me the results of running "ip -o link" (as root) on the system which 
     > did this?
     
     That was in QEMU without networking:
     
       qemu-system-x86_64 -enable-kvm guixsd-graphical-installer-x86-64-linux -m 512
     
     ???ip -o link??? shows lo and ens3, both down.

That should have worked.  It'd be great if you could get a stack trace.
     
     BTW (guix build syscalls) has procedures to deal with network interfaces
     that might be useful here.

Thanks for the tip.  I'll see if I can do the necesary things in terms of those.

J'

-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-04  7:59 Graphical Installer - Call for Testing John Darrington
                   ` (4 preceding siblings ...)
  2017-01-08 22:34 ` Ludovic Courtès
@ 2017-01-13  5:40 ` Chris Marusich
  2017-01-13  6:35   ` John Darrington
  5 siblings, 1 reply; 40+ messages in thread
From: Chris Marusich @ 2017-01-13  5:40 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1281 bytes --]

John Darrington <john@darrington.wattle.id.au> writes:

> The wip-installer branch is ready for testing and general review.
>
> This branch provides a curses based graphical interface to the disk
> images used for installing GuixSD. It is intended to allow users
> unfamiliar with bash and other aspects of unix-like operating systems
> to easily install GuixSD.   This means, it should allow you to install
> GuixSD on a bare PC, without ever touching a shell (whilst still
> providing that option for those who want it).
>
> Whilst it is still a work in progress it has, in my opinion, got to
> a stage where it is usable.  Before merging into master however, it
> would be great to get feedback from others.
>
> For those of you who don't wish to build a disk-image yourselves,
> Ludo has kindly made available pre-built images for x86_64 and
> i686-linux systems at http://web.fdn.fr/~lcourtes/software/guix/
>
> Please report coding and usability issues.

I want to test this, but I've arrived late to the party.  Does the link
above contain the most recent round(s) of feedback?  I've tried to build
the wip-installer branch, but I found that the installation system tests
failed, so I thought I'd ask before trying to build it myself.

-- 
Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-13  5:40 ` Chris Marusich
@ 2017-01-13  6:35   ` John Darrington
  2017-01-13  7:03     ` Chris Marusich
  2017-01-15  4:06     ` Chris Marusich
  0 siblings, 2 replies; 40+ messages in thread
From: John Darrington @ 2017-01-13  6:35 UTC (permalink / raw)
  To: Chris Marusich; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1833 bytes --]

On Thu, Jan 12, 2017 at 09:40:17PM -0800, Chris Marusich wrote:
     John Darrington <john@darrington.wattle.id.au> writes:
     
     > The wip-installer branch is ready for testing and general review.
     >
     > This branch provides a curses based graphical interface to the disk
     > images used for installing GuixSD. It is intended to allow users
     > unfamiliar with bash and other aspects of unix-like operating systems
     > to easily install GuixSD.   This means, it should allow you to install
     > GuixSD on a bare PC, without ever touching a shell (whilst still
     > providing that option for those who want it).
     >
     > Whilst it is still a work in progress it has, in my opinion, got to
     > a stage where it is usable.  Before merging into master however, it
     > would be great to get feedback from others.
     >
     > For those of you who don't wish to build a disk-image yourselves,
     > Ludo has kindly made available pre-built images for x86_64 and
     > i686-linux systems at http://web.fdn.fr/~lcourtes/software/guix/
     >
     > Please report coding and usability issues.
     
     I want to test this, but I've arrived late to the party.  Does the link
     above contain the most recent round(s) of feedback?  I've tried to build
     the wip-installer branch, but I found that the installation system tests
     failed, so I thought I'd ask before trying to build it myself.
     

Nothing signficant has changed since this image was made.  So your comments will
still be valid and appreciated.

Thanks,

John


-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-13  6:35   ` John Darrington
@ 2017-01-13  7:03     ` Chris Marusich
  2017-01-14 13:24       ` David Craven
  2017-01-15  4:06     ` Chris Marusich
  1 sibling, 1 reply; 40+ messages in thread
From: Chris Marusich @ 2017-01-13  7:03 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1755 bytes --]

John Darrington <john@darrington.wattle.id.au> writes:

> On Thu, Jan 12, 2017 at 09:40:17PM -0800, Chris Marusich wrote:
>      John Darrington <john@darrington.wattle.id.au> writes:
>      
>      > The wip-installer branch is ready for testing and general review.
>      >
>      > This branch provides a curses based graphical interface to the disk
>      > images used for installing GuixSD. It is intended to allow users
>      > unfamiliar with bash and other aspects of unix-like operating systems
>      > to easily install GuixSD.   This means, it should allow you to install
>      > GuixSD on a bare PC, without ever touching a shell (whilst still
>      > providing that option for those who want it).
>      >
>      > Whilst it is still a work in progress it has, in my opinion, got to
>      > a stage where it is usable.  Before merging into master however, it
>      > would be great to get feedback from others.
>      >
>      > For those of you who don't wish to build a disk-image yourselves,
>      > Ludo has kindly made available pre-built images for x86_64 and
>      > i686-linux systems at http://web.fdn.fr/~lcourtes/software/guix/
>      >
>      > Please report coding and usability issues.
>      
>      I want to test this, but I've arrived late to the party.  Does the link
>      above contain the most recent round(s) of feedback?  I've tried to build
>      the wip-installer branch, but I found that the installation system tests
>      failed, so I thought I'd ask before trying to build it myself.
>      
>
> Nothing signficant has changed since this image was made.  So your comments will
> still be valid and appreciated.

OK, I'll check it out and let you know!

-- 
Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-13  7:03     ` Chris Marusich
@ 2017-01-14 13:24       ` David Craven
  2017-01-22 14:41         ` John Darrington
  0 siblings, 1 reply; 40+ messages in thread
From: David Craven @ 2017-01-14 13:24 UTC (permalink / raw)
  To: Chris Marusich; +Cc: guix-devel

Hi John,

I looked at adding btrfs support, and noticed that there was a lot of
trailing white space. Please remove trailing whitespace before
pushing...

Looks really nice!

David

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-13  6:35   ` John Darrington
  2017-01-13  7:03     ` Chris Marusich
@ 2017-01-15  4:06     ` Chris Marusich
  2017-01-15  6:55       ` John Darrington
  2017-07-05 17:27       ` Danny Milosavljevic
  1 sibling, 2 replies; 40+ messages in thread
From: Chris Marusich @ 2017-01-15  4:06 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 8772 bytes --]

John Darrington <john@darrington.wattle.id.au> writes:

> On Thu, Jan 12, 2017 at 09:40:17PM -0800, Chris Marusich wrote:
>      John Darrington <john@darrington.wattle.id.au> writes:
>      
>      > The wip-installer branch is ready for testing and general review.
>      >
>      > This branch provides a curses based graphical interface to the disk
>      > images used for installing GuixSD. It is intended to allow users
>      > unfamiliar with bash and other aspects of unix-like operating systems
>      > to easily install GuixSD.   This means, it should allow you to install
>      > GuixSD on a bare PC, without ever touching a shell (whilst still
>      > providing that option for those who want it).
>      >
>      > Whilst it is still a work in progress it has, in my opinion, got to
>      > a stage where it is usable.  Before merging into master however, it
>      > would be great to get feedback from others.
>      >
>      > For those of you who don't wish to build a disk-image yourselves,
>      > Ludo has kindly made available pre-built images for x86_64 and
>      > i686-linux systems at http://web.fdn.fr/~lcourtes/software/guix/
>      >
>      > Please report coding and usability issues.
>      
>      I want to test this, but I've arrived late to the party.  Does the link
>      above contain the most recent round(s) of feedback?  I've tried to build
>      the wip-installer branch, but I found that the installation system tests
>      failed, so I thought I'd ask before trying to build it myself.
>      
>
> Nothing signficant has changed since this image was made.  So your comments will
> still be valid and appreciated.

Hi!  I successfully installed GuixSD on my Libreboot laptop using the
installer!  It's awesome to see some work in this area.  Thank you!

I've got a lot of feedback.  Some is minor, some is less minor.  Even if
you don't incorporate all of it, I hope that it will help make the
installer better!

* Left-clicking on buttons, entries, etc. had no effect.  I expected it
  to be equivalent to pressing enter or space.

* Left-clicking leaves the clicked square (i.e., row+column
  intersection) highlighted, which is visually distracting.

* The installer should either guide the user through a linear series of
  steps, or explain at the beginning what the user should do.  I wasn't
  sure what to do at first when I was dropped into the installer.  This
  doesn't preclude a non-linear path through the installation phases,
  but I do think a more guided path would be less confusing.

* The installer begins with nothing selected.  This contributed to my
  initial confusion: what am I supposed to do?

* The installer should display a keymap, or a hotkey which displays help
  info (like the help page in cfdisk, or top).

* I think you made the first letter of some commands bold (like the "C"
  in "Continue"), but I didn't notice it until I tried the installation
  on a machine with a different monitor.  More contrast, or an
  underlined character, might help call that out more.

* I'm not sure how, but I got stuck in a menu loop between "Partition
  the disks" and "Choose mount point".  Hitting "Continue" and "Go Back"
  in any order never took me to any other step, or back to the main
  menu.  I worked around the issue by getting a shell and rebooting.

* Partition the disks: when launching cfdisk, consider explaining that
  we're going to launch cfdisk to do the actual partitioning, and the
  user needs to quit cfdisk to come back and continue the installation.

* The interface was at times sluggish - there was a noticeable delay
  (hundreds of milliseconds) between pressing e.g. the left-arrow key
  and the next bottom-menu item being selected.

* By default, this installer provides a lot of manual control over how
  the disks are partitioned, what file systems will be installed, and
  what their mount points will be.  Perhaps by default we should offer
  one or more common configurations - e.g., one partition, containing an
  ext4 file system, mounted at / - and move the finer-grained manual
  controls into a sub-menu of some kind.  For comparison, I've just
  installed Ubuntu and Debian today, and both of their installers offer
  such simplified paths for installation. - useful if someone does not
  know much about that stuff yet or they just want an easy default.

* Following that note, if we presented pre-set combinations of
  partitions/file systems/mount points, I can imagine adding another
  "simple configuration" to that list, for encrypted home partition, or
  an entire encrypted disk.  For various use cases.

* The installer contains various input text boxes (e.g., for file system
  label).  These boxes are invisible; a border would help call them out
  (I almost didn't realize they existed).  Also, left/right arrow keys
  did not scroll left/right, which surprised me, but backspace and
  delete worked well enough.

* The generated operating system configuration should use file system
  UUID or label, if possible, rather than device path.

* Choose mount point: since you can also set the label here, maybe
  change the title of the section to "Choose file system and mount
  point" or something?

* The installer takes a "window within a window" approach for
  installation phases.  This conflicts with the "replace the whole
  window" behavior that occurs when running cfdisk.  I think that using
  a "replace the whole window" approach for the whole installer would
  help unify the overall look and feel.  So, instead of creating a
  window within the installer window for the "Partition the disks"
  phase, just replace the entire window with the relevant interface for
  the sub-menu.

* Choose mount point: clarify what the actions Check, Write, and
  re(Create) mean.  I wasn't sure until I tried them all!

* Passphrase entry (for wireless setup): after inputting my wireless
  network's passphrase, the message "Successfully initiated
  wpa_supplicant" was displayed without a newline on the same line where
  I had just put my passphrase, which looked clunky.

* I couldn't get wireless working, so I had to plug in an ethernet cable
  to continue the installation.  I'm not sure why the wireless failed.

* I didn't realize that "enter" performed a different action than
  "space."  On some menus it seems to matter which one you use, but on
  others, it seems like they behave the same.  I think clarifying the
  keymap/interface will help with this.

* Generate the configuration: for some reason, when I entered this menu,
  I was dropped back into the "Allocate disk partitions" menu, which was
  confusing.  Perhaps I was just confused and hit the wrong button!

* Allocate disk partition: label the header.  I didn't realize there was
  a column for "mount point" until I set up a mount point; a header
  would have helped call out the fact that I had not yet set up a mount
  point.

* Install the system: there was a 10-20 second delay after pressing
  enter to begin the installation, during which I wasn't sure if
  anything was actually being done.  Not sure if that's the installer's
  fault, though.  After that, the installation began.

* Install the system: there were a lot of ^[[ characters at the start of
  the lines which were output in the window showing the progress of the
  installation.  Also, there was a lot of flashing underneath lines like
  "Downloading https://mirror.hydra.gnu.org/... | 3.4 MiB transferred",
  as if the underscore symbol was being moved super fast from the start
  of the line to the end of the line repeatedly.

* Final step: the installer told me to remove the installation device
  and reboot.  I followed these instructions by removing the device.
  When I tried to reboot, the program crashed with a kernel panic - not
  surprising, I guess, since I had removed the entire system out from
  under it...  This was benign, since I was able to just power cycle my
  system, but maybe we need to change the wording or something here?

* My opinion is that the reasonable default is to create a user, or at
  least give an opportunity to ask for the creation of a user.  I
  understand this is not what you want in an installer, since you use
  LDAP for account info, but I suspect most people would expect this.

Thank you again for taking the time to make this installer.  All in all,
it was really easy to use!  The biggest usability issues were failure to
set up wireless, getting lost in a menu loop which required a reboot to
break out of, and the final kernel panic which was benign but scary.

-- 
Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-15  4:06     ` Chris Marusich
@ 2017-01-15  6:55       ` John Darrington
  2017-01-15  9:20         ` Chris Marusich
  2017-07-05 17:27       ` Danny Milosavljevic
  1 sibling, 1 reply; 40+ messages in thread
From: John Darrington @ 2017-01-15  6:55 UTC (permalink / raw)
  To: Chris Marusich; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 8852 bytes --]

Hi Chris,

Thanks for this very comprehensive feedback.  I hope you will forgive
me if I don't respond to every point you have raised.  I have however read
them all, and they are all relevant and useful.  So thanks very much.

Some particular points however:

* Currently there is no mouse support at all.  I hope to add that later.
* It would be great if you could try to find out why your wireless failed.
* I hope, eventually, to remove the reliance on cfdisk.
* From your comments, and those from others it is clear to me that the
  part of the user interface involved with creating filesystems and allocaing
  mount points needs to be redesigned. - so after that, there will be a whole
  different set of issues!
* What would you suggest instead of the "Reboot" message?
     
On Sat, Jan 14, 2017 at 08:06:09PM -0800, Chris Marusich wrote:
     
     Hi!  I successfully installed GuixSD on my Libreboot laptop using the
     installer!  It's awesome to see some work in this area.  Thank you!
     
     I've got a lot of feedback.  Some is minor, some is less minor.  Even if
     you don't incorporate all of it, I hope that it will help make the
     installer better!
     
     * Left-clicking on buttons, entries, etc. had no effect.  I expected it
       to be equivalent to pressing enter or space.
     
     * Left-clicking leaves the clicked square (i.e., row+column
       intersection) highlighted, which is visually distracting.

     * The installer should either guide the user through a linear series of
       steps, or explain at the beginning what the user should do.  I wasn't
       sure what to do at first when I was dropped into the installer.  This
       doesn't preclude a non-linear path through the installation phases,
       but I do think a more guided path would be less confusing.
    
     * The installer begins with nothing selected.  This contributed to my
       initial confusion: what am I supposed to do?
     
     * The installer should display a keymap, or a hotkey which displays help
       info (like the help page in cfdisk, or top).
     
     * I think you made the first letter of some commands bold (like the "C"
       in "Continue"), but I didn't notice it until I tried the installation
       on a machine with a different monitor.  More contrast, or an
       underlined character, might help call that out more.
     
     * I'm not sure how, but I got stuck in a menu loop between "Partition
       the disks" and "Choose mount point".  Hitting "Continue" and "Go Back"
       in any order never took me to any other step, or back to the main
       menu.  I worked around the issue by getting a shell and rebooting.
     
     * Partition the disks: when launching cfdisk, consider explaining that
       we're going to launch cfdisk to do the actual partitioning, and the
       user needs to quit cfdisk to come back and continue the installation.
     
     * The interface was at times sluggish - there was a noticeable delay
       (hundreds of milliseconds) between pressing e.g. the left-arrow key
       and the next bottom-menu item being selected.
     
     * By default, this installer provides a lot of manual control over how
       the disks are partitioned, what file systems will be installed, and
       what their mount points will be.  Perhaps by default we should offer
       one or more common configurations - e.g., one partition, containing an
       ext4 file system, mounted at / - and move the finer-grained manual
       controls into a sub-menu of some kind.  For comparison, I've just
       installed Ubuntu and Debian today, and both of their installers offer
       such simplified paths for installation. - useful if someone does not
       know much about that stuff yet or they just want an easy default.
     
     * Following that note, if we presented pre-set combinations of
       partitions/file systems/mount points, I can imagine adding another
       "simple configuration" to that list, for encrypted home partition, or
       an entire encrypted disk.  For various use cases.
     
     * The installer contains various input text boxes (e.g., for file system
       label).  These boxes are invisible; a border would help call them out
       (I almost didn't realize they existed).  Also, left/right arrow keys
       did not scroll left/right, which surprised me, but backspace and
       delete worked well enough.
     
     * The generated operating system configuration should use file system
       UUID or label, if possible, rather than device path.
     
     * Choose mount point: since you can also set the label here, maybe
       change the title of the section to "Choose file system and mount
       point" or something?
     
     * The installer takes a "window within a window" approach for
       installation phases.  This conflicts with the "replace the whole
       window" behavior that occurs when running cfdisk.  I think that using
       a "replace the whole window" approach for the whole installer would
       help unify the overall look and feel.  So, instead of creating a
       window within the installer window for the "Partition the disks"
       phase, just replace the entire window with the relevant interface for
       the sub-menu.
     
     * Choose mount point: clarify what the actions Check, Write, and
       re(Create) mean.  I wasn't sure until I tried them all!
     
     * Passphrase entry (for wireless setup): after inputting my wireless
       network's passphrase, the message "Successfully initiated
       wpa_supplicant" was displayed without a newline on the same line where
       I had just put my passphrase, which looked clunky.
     
     * I couldn't get wireless working, so I had to plug in an ethernet cable
       to continue the installation.  I'm not sure why the wireless failed.
     
     * I didn't realize that "enter" performed a different action than
       "space."  On some menus it seems to matter which one you use, but on
       others, it seems like they behave the same.  I think clarifying the
       keymap/interface will help with this.
     
     * Generate the configuration: for some reason, when I entered this menu,
       I was dropped back into the "Allocate disk partitions" menu, which was
       confusing.  Perhaps I was just confused and hit the wrong button!
     
     * Allocate disk partition: label the header.  I didn't realize there was
       a column for "mount point" until I set up a mount point; a header
       would have helped call out the fact that I had not yet set up a mount
       point.
     
     * Install the system: there was a 10-20 second delay after pressing
       enter to begin the installation, during which I wasn't sure if
       anything was actually being done.  Not sure if that's the installer's
       fault, though.  After that, the installation began.
     
     * Install the system: there were a lot of ^[[ characters at the start of
       the lines which were output in the window showing the progress of the
       installation.  Also, there was a lot of flashing underneath lines like
       "Downloading https://mirror.hydra.gnu.org/... | 3.4 MiB transferred",
       as if the underscore symbol was being moved super fast from the start
       of the line to the end of the line repeatedly.
     
     * Final step: the installer told me to remove the installation device
       and reboot.  I followed these instructions by removing the device.
       When I tried to reboot, the program crashed with a kernel panic - not
       surprising, I guess, since I had removed the entire system out from
       under it...  This was benign, since I was able to just power cycle my
       system, but maybe we need to change the wording or something here?
     
     * My opinion is that the reasonable default is to create a user, or at
       least give an opportunity to ask for the creation of a user.  I
       understand this is not what you want in an installer, since you use
       LDAP for account info, but I suspect most people would expect this.
     
     Thank you again for taking the time to make this installer.  All in all,
     it was really easy to use!  The biggest usability issues were failure to
     set up wireless, getting lost in a menu loop which required a reboot to
     break out of, and the final kernel panic which was benign but scary.
     
     -- 
     Chris



-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-15  6:55       ` John Darrington
@ 2017-01-15  9:20         ` Chris Marusich
  2017-01-15 11:56           ` John Darrington
  2017-01-16 17:18           ` John Darrington
  0 siblings, 2 replies; 40+ messages in thread
From: Chris Marusich @ 2017-01-15  9:20 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 2052 bytes --]

John Darrington <john@darrington.wattle.id.au> writes:

> Hi Chris,
>
> Thanks for this very comprehensive feedback.  I hope you will forgive
> me if I don't respond to every point you have raised.  I have however read
> them all, and they are all relevant and useful.  So thanks very much.

My pleasure!  It's easy to give feedback; it's hard to write something
that works.  Thank you for writing something that works!

> * It would be great if you could try to find out why your wireless failed.

I'll look into it.  FWIW, the following DOES work for setting up my
wireless from the (usual release) installation image (I know WEP is
insecure, but I use it for certain reasons that are not related to the
topic of this email thread):

--8<---------------cut here---------------start------------->8---
config_file="$(mktemp --tmpdir wireless-XXXXX.cfg)"
trap "rm -f $config_file" EXIT
cat > "$config_file" << EOM
network={
    ssid="my-network-id"
    key_mgmt=NONE
    wep_key0=my-wep-key
}
EOM
wpa_supplicant -i wlp2s0 -c "$config_file" -B
dhclient -v wlp2s0
--8<---------------cut here---------------end--------------->8---

Does your installer assume a specific (non-WEP) wireless encryption
protocol?  That might explain the issue.

> * What would you suggest instead of the "Reboot" message?

I think the USB stick needs to be mounted in order for the system to
function, right?  So it seems like we can't unmount it before
rebooting...  I know that Ubuntu's installer ejects the installation CD
and asks the user to remove it and then reboot, so it must be possible
to arrange for the media to be physically removed without crashing the
system.  I'm not sure how to do that, though.

Until that's figured out, maybe just say something like: "To avoid
accidentally booting into the installation media, please shut down the
computer, remove the installation media, and turn the computer back on."
How's that?  Too verbose?

Anyway, thanks again for the installer.  It's really nice!

-- 
Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-15  9:20         ` Chris Marusich
@ 2017-01-15 11:56           ` John Darrington
  2017-01-16  9:34             ` Ludovic Courtès
  2017-01-16 17:18           ` John Darrington
  1 sibling, 1 reply; 40+ messages in thread
From: John Darrington @ 2017-01-15 11:56 UTC (permalink / raw)
  To: Chris Marusich; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 2013 bytes --]

On Sun, Jan 15, 2017 at 01:20:56AM -0800, Chris Marusich wrote:
     
     --8<---------------cut here---------------start------------->8---
     config_file="$(mktemp --tmpdir wireless-XXXXX.cfg)"
     trap "rm -f $config_file" EXIT
     cat > "$config_file" << EOM
     network={
         ssid="my-network-id"
         key_mgmt=NONE
         wep_key0=my-wep-key
     }
     EOM
     wpa_supplicant -i wlp2s0 -c "$config_file" -B
     dhclient -v wlp2s0
     --8<---------------cut here---------------end--------------->8---
     
     Does your installer assume a specific (non-WEP) wireless encryption
     protocol?  That might explain the issue.

Yes.  That will be the reason.  I've assumed that encryption if present is PSK.
I'm not sure how to determine off air what kind of encryption an AP wants. 
Maybe someone can enlighten me.
     
     > * What would you suggest instead of the "Reboot" message?
     
     I think the USB stick needs to be mounted in order for the system to
     function, right?  So it seems like we can't unmount it before
     rebooting...  I know that Ubuntu's installer ejects the installation CD
     and asks the user to remove it and then reboot, so it must be possible
     to arrange for the media to be physically removed without crashing the
     system.  I'm not sure how to do that, though.
     
     Until that's figured out, maybe just say something like: "To avoid
     accidentally booting into the installation media, please shut down the
     computer, remove the installation media, and turn the computer back on."
     How's that?  Too verbose?
     
I think it's ok in this kind of application to have verbose messages.  I'll think about 
something along the lines you suggest.

J'


-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-15 11:56           ` John Darrington
@ 2017-01-16  9:34             ` Ludovic Courtès
  2017-01-16 12:35               ` John Darrington
  0 siblings, 1 reply; 40+ messages in thread
From: Ludovic Courtès @ 2017-01-16  9:34 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

Hi!

Regarding networking, would it make sense to use Connman (or
NetworkManger? or Wicd?) and simply talk to it?

I’ve never used it but it seems that Connman is a good middle ground.
We can send it RPCs I think, and it then takes care of all the plumbing,
so I suppose that would simplify the user interface (or we could just
launch the Connman CLI).

Thoughts?

Ludo’.

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-16  9:34             ` Ludovic Courtès
@ 2017-01-16 12:35               ` John Darrington
  0 siblings, 0 replies; 40+ messages in thread
From: John Darrington @ 2017-01-16 12:35 UTC (permalink / raw)
  To: Ludovic Court??s; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 856 bytes --]

On Mon, Jan 16, 2017 at 10:34:02AM +0100, Ludovic Court??s wrote:
     Hi!
     
     Regarding networking, would it make sense to use Connman (or
     NetworkManger? or Wicd?) and simply talk to it?
     
     I???ve never used it but it seems that Connman is a good middle ground.
     We can send it RPCs I think, and it then takes care of all the plumbing,
     so I suppose that would simplify the user interface (or we could just
     launch the Connman CLI).
     
     Thoughts?
     

It's a possibility.  However we should watch out that the installer disk-image does
not become too large ...

J'

-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-15  9:20         ` Chris Marusich
  2017-01-15 11:56           ` John Darrington
@ 2017-01-16 17:18           ` John Darrington
  2017-01-18  9:36             ` Chris Marusich
  1 sibling, 1 reply; 40+ messages in thread
From: John Darrington @ 2017-01-16 17:18 UTC (permalink / raw)
  To: Chris Marusich; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1295 bytes --]

On Sun, Jan 15, 2017 at 01:20:56AM -0800, Chris Marusich wrote:
     John Darrington <john@darrington.wattle.id.au> writes:
     
     > * It would be great if you could try to find out why your wireless failed.
     
     I'll look into it.  FWIW, the following DOES work for setting up my
     wireless from the (usual release) installation image (I know WEP is
     insecure, but I use it for certain reasons that are not related to the
     topic of this email thread):
     
     --8<---------------cut here---------------start------------->8---
     config_file="$(mktemp --tmpdir wireless-XXXXX.cfg)"
     trap "rm -f $config_file" EXIT
     cat > "$config_file" << EOM
     network={
         ssid="my-network-id"
         key_mgmt=NONE
         wep_key0=my-wep-key
     }
     EOM
     wpa_supplicant -i wlp2s0 -c "$config_file" -B
     dhclient -v wlp2s0
     --8<---------------cut here---------------end--------------->8---

Can you send me the results of doing

iwlist wlp2s0 scanning 

as root on your system.
     



-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-16 17:18           ` John Darrington
@ 2017-01-18  9:36             ` Chris Marusich
  0 siblings, 0 replies; 40+ messages in thread
From: Chris Marusich @ 2017-01-18  9:36 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1335 bytes --]

John Darrington <john@darrington.wattle.id.au> writes:

> On Sun, Jan 15, 2017 at 01:20:56AM -0800, Chris Marusich wrote:
>      John Darrington <john@darrington.wattle.id.au> writes:
>      
>      > * It would be great if you could try to find out why your wireless failed.
>      
>      I'll look into it.  FWIW, the following DOES work for setting up my
>      wireless from the (usual release) installation image (I know WEP is
>      insecure, but I use it for certain reasons that are not related to the
>      topic of this email thread):
>      
>      --8<---------------cut here---------------start------------->8---
>      config_file="$(mktemp --tmpdir wireless-XXXXX.cfg)"
>      trap "rm -f $config_file" EXIT
>      cat > "$config_file" << EOM
>      network={
>          ssid="my-network-id"
>          key_mgmt=NONE
>          wep_key0=my-wep-key
>      }
>      EOM
>      wpa_supplicant -i wlp2s0 -c "$config_file" -B
>      dhclient -v wlp2s0
>      --8<---------------cut here---------------end--------------->8---
>
> Can you send me the results of doing
>
> iwlist wlp2s0 scanning 
>
> as root on your system.

Certainly.  I will reply privately to you, since the information
contained therein seems somewhat sensitive, and I'm not sure exactly
what it all is.

-- 
Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-14 13:24       ` David Craven
@ 2017-01-22 14:41         ` John Darrington
  0 siblings, 0 replies; 40+ messages in thread
From: John Darrington @ 2017-01-22 14:41 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 426 bytes --]

It now supports btrfs.  Feel free to give it a whirl.

J'

On Sat, Jan 14, 2017 at 02:24:53PM +0100, David Craven wrote:
     Hi John,
     
     I looked at adding btrfs support, 




-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-01-15  4:06     ` Chris Marusich
  2017-01-15  6:55       ` John Darrington
@ 2017-07-05 17:27       ` Danny Milosavljevic
  2017-07-07  4:48         ` Chris Marusich
  1 sibling, 1 reply; 40+ messages in thread
From: Danny Milosavljevic @ 2017-07-05 17:27 UTC (permalink / raw)
  To: Chris Marusich, John Darrington; +Cc: guix-devel

Hi,

> * Left-clicking on buttons, entries, etc. had no effect.  I expected it
>   to be equivalent to pressing enter or space.

I've implemented this for most things now (except for the status bar at the bottom).

> * Left-clicking leaves the clicked square (i.e., row+column
>   intersection) highlighted, which is visually distracting.

Not sure what can be done about this.

> * The installer should either guide the user through a linear series of
>   steps, or explain at the beginning what the user should do.  I wasn't
>   sure what to do at first when I was dropped into the installer.  This
>   doesn't preclude a non-linear path through the installation phases,
>   but I do think a more guided path would be less confusing.

I agree - it was jarring for me as well.

> * The installer begins with nothing selected.  This contributed to my
>   initial confusion: what am I supposed to do?

I agree - providing reasonable defaults would be very good.  The "Install the system" page then should show a summary of it all before doing anything.
 
> * The installer should display a keymap, or a hotkey which displays help
>   info (like the help page in cfdisk, or top).

John added this now.

> * I think you made the first letter of some commands bold (like the "C"
>   in "Continue"), but I didn't notice it until I tried the installation
>   on a machine with a different monitor.  More contrast, or an
>   underlined character, might help call that out more.

Yeah, the HIG standard is underline.  Does underline work in curses on the Linux console?  Apparently it's always auto-mapped to color.

> * I'm not sure how, but I got stuck in a menu loop between "Partition
>   the disks" and "Choose mount point".  Hitting "Continue" and "Go Back"
>   in any order never took me to any other step, or back to the main
>   menu.  I worked around the issue by getting a shell and rebooting.

Yeah, I don't get the nonlinear structure either.

> * Partition the disks: when launching cfdisk, consider explaining that
>   we're going to launch cfdisk to do the actual partitioning, and the
>   user needs to quit cfdisk to come back and continue the installation.

I'm writing guile-parted bindings now :)

> * The interface was at times sluggish - there was a noticeable delay
>   (hundreds of milliseconds) between pressing e.g. the left-arrow key
>   and the next bottom-menu item being selected.

I don't see this when moving around on the page - but I do see it when activating items.  It would be better if the screen was cleared or a progress bar shown or something.

> * By default, this installer provides a lot of manual control over how
>   the disks are partitioned, what file systems will be installed, and
>   what their mount points will be.  Perhaps by default we should offer
>   one or more common configurations - e.g., one partition, containing an
>   ext4 file system, mounted at / - and move the finer-grained manual
>   controls into a sub-menu of some kind.  For comparison, I've just
>   installed Ubuntu and Debian today, and both of their installers offer
>   such simplified paths for installation. - useful if someone does not
>   know much about that stuff yet or they just want an easy default.

There should be defaults - especially when the selected disk is empty, it should just default to a reasonable setup.

> * Following that note, if we presented pre-set combinations of
>   partitions/file systems/mount points, I can imagine adding another
>   "simple configuration" to that list, 

>for encrypted home partition, or

Yes please.

>   an entire encrypted disk.  

Yes please.  I do consulting in strange environments often - so basically if the system can't encrypt, I can't use it.

> * The installer contains various input text boxes (e.g., for file system
>   label).  These boxes are invisible; a border would help call them out
>   (I almost didn't realize they existed).  

John fixed that (they have an opaque background now).

>Also, left/right arrow keys
>   did not scroll left/right, which surprised me, but backspace and
>   delete worked well enough.

Yeah.  There's (ncurses form) which should automatically support all that stuff - but the installer doesn't use it.  Why?  Is (gurses form) more flexible?

> * The generated operating system configuration should use file system
>   UUID or label, if possible, rather than device path.

I didn't get that far yet.  Is that still the case?

> * Choose mount point: since you can also set the label here, maybe
>   change the title of the section to "Choose file system and mount
>   point" or something?

In the long run, I think this all should be "disk setup" and encompass partitioning, lvm, encryption, file system creation and mount point setup.

> * The installer takes a "window within a window" approach for
>   installation phases.  This conflicts with the "replace the whole
>   window" behavior that occurs when running cfdisk.  

Writing the parted bindings... :)

>I think that using
>   a "replace the whole window" approach for the whole installer would
>   help unify the overall look and feel.  So, instead of creating a
>   window within the installer window for the "Partition the disks"
>   phase, just replace the entire window with the relevant interface for
>   the sub-menu.

I actually like the window-within-window approach, especially since it can show some kind of path or status of where the user is nicely.  I wonder whether the nesting works for more than two levels, though.

> * Choose mount point: clarify what the actions Check, Write, and
>   re(Create) mean.  I wasn't sure until I tried them all!

I think that's cfdisk ?  Or where?

> * Passphrase entry (for wireless setup): after inputting my wireless
>   network's passphrase, the message "Successfully initiated
>   wpa_supplicant" was displayed without a newline on the same line where
>   I had just put my passphrase, which looked clunky.

Yeah, I wonder why the terminal emulator widget for curses isn't used for everything.  It's already used by the installer for mkfs like this: (make-window-port ...) (pipe-cmd ...).

> * I didn't realize that "enter" performed a different action than
>   "space."  On some menus it seems to matter which one you use, but on
>   others, it seems like they behave the same.  I think clarifying the
>   keymap/interface will help with this.

There's already a function "select-key?" which is supposed to rectify that, although it doesn't test for Space.  Why not?  I'll just add it ... commit 5cdffcd93415ff9c5d082799734376337ec0cf3e in wip-installer-2 .

> * Generate the configuration: for some reason, when I entered this menu,
>   I was dropped back into the "Allocate disk partitions" menu, which was
>   confusing.  Perhaps I was just confused and hit the wrong button!

I don't know - but the non-linear structure confuses me as well.

> * Allocate disk partition: label the header.  I didn't realize there was
>   a column for "mount point" until I set up a mount point; a header
>   would have helped call out the fact that I had not yet set up a mount
>   point.

Commit 8c27950e3a3eeacbfaa944b50df2baebe8de21c8 adds one.

> * Install the system: there was a 10-20 second delay after pressing
>   enter to begin the installation, during which I wasn't sure if
>   anything was actually being done.  Not sure if that's the installer's
>   fault, though.  After that, the installation began.

The installation page already uses a window port so it shouldn't be so bad.  I didn't test it yet, though.

Maybe adding (force-output window-port) at the beginning of install-page-activate-focused-item would help.

> * Install the system: there were a lot of ^[[ characters at the start of
>   the lines which were output in the window showing the progress of the
>   installation.  Also, there was a lot of flashing underneath lines like
>   "Downloading https://mirror.hydra.gnu.org/... | 3.4 MiB transferred",
>   as if the underscore symbol was being moved super fast from the start
>   of the line to the end of the line repeatedly.

Yeah, that also happens without the graphical installer.

I think the download progress in guix/build/download.scm should be amended to check whether the line actually changed before printing it again.  It has some funky macro but then it proceeds to manually repeat the same form twice; also it seems to support to reroute progress display to another port in the middle of the download.  Does that count as "already written" then or not?  So it's not easy to fix...

Quick and dirty:
diff --git a/guix/build/download.scm b/guix/build/download.scm
index 6ef623334..47be927ab 100644
--- a/guix/build/download.scm
+++ b/guix/build/download.scm
@@ -147,6 +147,14 @@ Otherwise return STORE-PATH."
    (define time-monotonic time-tai))
   (else #t))
 
+(define previous-progress-line #f)
+(define (display-line-if-changed line port)
+  (if previous-progress-line (string=? previous-progress-line line))
+      #f
+      (begin
+        (set! previous-progress-line line)
+        (display line port)))
+
 (define* (progress-proc file size
                         #:optional (log-port (current-output-port))
                         #:key (abbreviation basename))
@@ -184,9 +192,9 @@ used to shorten FILE for display."
                                          (seconds->string elapsed)
                                          (progress-bar %) %)))
                 (display "\r\x1b[K" log-port)
-                (display (string-pad-middle left right
-                                            (current-terminal-columns))
-                         log-port)
+                (display-line-if-changed (string-pad-middle left right
+                                                            (current-terminal-columns))
+                                         log-port)
                 (flush-output-port log-port)
                 (cont))))
           (lambda (transferred cont)
@@ -201,9 +209,9 @@ used to shorten FILE for display."
                                          (seconds->string elapsed)
                                          (byte-count->string transferred))))
                 (display "\r\x1b[K" log-port)
-                (display (string-pad-middle left right
+                (display-line-if-changed (string-pad-middle left right
                                             (current-terminal-columns))
-                         log-port)
+                                            log-port)
                 (flush-output-port log-port)
                 (cont))))))))


> * Final step: the installer told me to remove the installation device
>   and reboot.  I followed these instructions by removing the device.
>   When I tried to reboot, the program crashed with a kernel panic - not
>   surprising, I guess, since I had removed the entire system out from
>   under it...  This was benign, since I was able to just power cycle my
>   system, but maybe we need to change the wording or something here?

John fixed it I think.

> * My opinion is that the reasonable default is to create a user, or at
>   least give an opportunity to ask for the creation of a user.  I
>   understand this is not what you want in an installer, since you use
>   LDAP for account info, but I suspect most people would expect this.

John did this now.

^ permalink raw reply related	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-07-05 17:27       ` Danny Milosavljevic
@ 2017-07-07  4:48         ` Chris Marusich
  2017-07-07  6:13           ` Danny Milosavljevic
  0 siblings, 1 reply; 40+ messages in thread
From: Chris Marusich @ 2017-07-07  4:48 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: guix-devel, John Darrington

[-- Attachment #1: Type: text/plain, Size: 3621 bytes --]

Hi Danny,

Wow!  I just looked, and I see that a lot of changes have been made
since January.  Is the wip-installer-2 branch the one I should test with
now?  What's the difference between the wip-installer and
wip-installer-2 branches?  What steps should I take to create a disk
image with the installer (or is a testable image available already)?

I will see if I can test it again in the next couple of weeks.

Danny Milosavljevic <dannym@scratchpost.org> writes:

>> * I think you made the first letter of some commands bold (like the "C"
>>   in "Continue"), but I didn't notice it until I tried the installation
>>   on a machine with a different monitor.  More contrast, or an
>>   underlined character, might help call that out more.
>
> Yeah, the HIG standard is underline.  Does underline work in curses on the Linux console?  Apparently it's always auto-mapped to color.

I don't know.

>> * Partition the disks: when launching cfdisk, consider explaining that
>>   we're going to launch cfdisk to do the actual partitioning, and the
>>   user needs to quit cfdisk to come back and continue the installation.
>
> I'm writing guile-parted bindings now :)

Cool!

>> * The generated operating system configuration should use file system
>>   UUID or label, if possible, rather than device path.
>
> I didn't get that far yet.  Is that still the case?

I don't know.  When I test it again, I'll check.

>> * Choose mount point: since you can also set the label here, maybe
>>   change the title of the section to "Choose file system and mount
>>   point" or something?
>
> In the long run, I think this all should be "disk setup" and encompass partitioning, lvm, encryption, file system creation and mount point setup.

I think it would be fantastic to accomplish all of the following:

* It's easy to configure the disks for the common use cases.

* It's possible to customize the configuration for any use case.

* The installer doesn't overwhelm people with knowledge that they might
  not (yet!) possess, but it invites them to take control and to learn.

I think each of those bullet points is in the spirit of Guix.

>> * The installer takes a "window within a window" approach for
>>   installation phases.  This conflicts with the "replace the whole
>>   window" behavior that occurs when running cfdisk.  
>
> Writing the parted bindings... :)

Excellent!

>>   I think that using a "replace the whole window" approach for the
>>   whole installer would help unify the overall look and feel.  So,
>>   instead of creating a window within the installer window for the
>>   "Partition the disks" phase, just replace the entire window with
>>   the relevant interface for the sub-menu.
>
> I actually like the window-within-window approach, especially since it
> can show some kind of path or status of where the user is nicely.  I
> wonder whether the nesting works for more than two levels, though.

That would work, too.  As long as the choice is consistent, it'll be a
better user interface.

>> * Choose mount point: clarify what the actions Check, Write, and
>>   re(Create) mean.  I wasn't sure until I tried them all!
>
> I think that's cfdisk ?  Or where?

It's been a few months, but I don't think that was in the cfdisk menu.
Maybe that section of the installer has been changed since I last tested
it.  I think it was in a section called "choose mount point".

I'm happy to see that this branch has remained active!  I'm sure having
a graphical installer will encourage more people to try GuixSD.

-- 
Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-07-07  4:48         ` Chris Marusich
@ 2017-07-07  6:13           ` Danny Milosavljevic
  2017-07-07 11:37             ` Ludovic Courtès
  0 siblings, 1 reply; 40+ messages in thread
From: Danny Milosavljevic @ 2017-07-07  6:13 UTC (permalink / raw)
  To: Chris Marusich; +Cc: guix-devel, John Darrington

Hi,

On Thu, 06 Jul 2017 21:48:47 -0700
Chris Marusich <cmmarusich@gmail.com> wrote:

> Is the wip-installer-2 branch the one I should test with now?

Yes, if you want :)

>  What's the difference between the wip-installer and
> wip-installer-2 branches?

I didn't want to fuck up the wip-installer branch so I created a new one starting from master, merged all the wip-installer commits into wip-installer-2 as far as possible (took a lot of manual conflict resolution) and edited the branch until the installer worked again.  Then I added some new stuff.

>  What steps should I take to create a disk
> image with the installer (or is a testable image available already)?

Good question.  I'm not sure.

John adapted the gnu/system/install.scm - installation-os to add an invocation of the graphical installer.

Hydra does (system-disk-image installation-os
                                          #:disk-image-size
                                          (* 1024 MiB))))).

Try doing the same in the Guile interpreter, like so:

guile -L .
,use (gnu system vm)
,use (gnu system install)
(system-disk-image installation-os #:disk-image-size (* 1024 MiB)))))

But I think that's a monadic value and one would still call run-with-store with some store and the result?

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-07-07  6:13           ` Danny Milosavljevic
@ 2017-07-07 11:37             ` Ludovic Courtès
  2017-07-12 11:30               ` Danny Milosavljevic
  0 siblings, 1 reply; 40+ messages in thread
From: Ludovic Courtès @ 2017-07-07 11:37 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: guix-devel, John Darrington

Danny Milosavljevic <dannym@scratchpost.org> skribis:

> Hydra does (system-disk-image installation-os
>                                           #:disk-image-size
>                                           (* 1024 MiB))))).
>
> Try doing the same in the Guile interpreter, like so:
>
> guile -L .
> ,use (gnu system vm)
> ,use (gnu system install)
> (system-disk-image installation-os #:disk-image-size (* 1024 MiB)))))

BTW, the default value of #:disk-image-size is now 'guess, and, if
everything goes well, it should compute a correct estimate of the image
size.  So I’d encourage you to rely on it (and to adjust the heuristics
of the estimate turns out to be wrong :-)).

> But I think that's a monadic value and one would still call run-with-store with some store and the result?

Yes.  At the REPL, you can do:

  ,use(guix)
  ,run-in-store (system-disk-image installation-os)

HTH!

Ludo’.

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-07-07 11:37             ` Ludovic Courtès
@ 2017-07-12 11:30               ` Danny Milosavljevic
  2017-07-12 17:31                 ` Danny Milosavljevic
  2017-07-17 13:34                 ` Ludovic Courtès
  0 siblings, 2 replies; 40+ messages in thread
From: Danny Milosavljevic @ 2017-07-12 11:30 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel, John Darrington

Hi Ludo,

> Yes.  At the REPL, you can do:
> 
>   ,use(guix)
>   ,run-in-store (system-disk-image installation-os)

I tried:

,use (gnu system vm)
,use (gnu system install)
,use (guix)
,run-in-store (system-disk-image installation-os)
(derivation->output-path $3)

and get

$3 = #<derivation /gnu/store/wqba6wghk3j9jk1sxqb4a2lv730jpcmp-disk-image.drv => /gnu/store/pjrkpnz4bgpiqgdix8ldz0psp53zr4kr-disk-image b0bbe60>
$5 = "/gnu/store/pjrkpnz4bgpiqgdix8ldz0psp53zr4kr-disk-image"

But /gnu/store/pjrkpnz4bgpiqgdix8ldz0psp53zr4kr-disk-image doesn't exist yet.

What should I do to make guix build the image?

Also, what do you think of us providing a "guix system" command for this?

It's kinda difficult to use otherwise...

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-07-12 11:30               ` Danny Milosavljevic
@ 2017-07-12 17:31                 ` Danny Milosavljevic
  2017-07-17 13:34                 ` Ludovic Courtès
  1 sibling, 0 replies; 40+ messages in thread
From: Danny Milosavljevic @ 2017-07-12 17:31 UTC (permalink / raw)
  To: guix-devel

> Also, what do you think of us providing a "guix system" command for this?

guix system disk-image -t iso9660 gnu/system/install.scm

Adapted for my purposes, from the manual :)

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: Graphical Installer - Call for Testing.
  2017-07-12 11:30               ` Danny Milosavljevic
  2017-07-12 17:31                 ` Danny Milosavljevic
@ 2017-07-17 13:34                 ` Ludovic Courtès
  1 sibling, 0 replies; 40+ messages in thread
From: Ludovic Courtès @ 2017-07-17 13:34 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: guix-devel, John Darrington

Danny Milosavljevic <dannym@scratchpost.org> skribis:

> Hi Ludo,
>
>> Yes.  At the REPL, you can do:
>> 
>>   ,use(guix)
>>   ,run-in-store (system-disk-image installation-os)
>
> I tried:
>
> ,use (gnu system vm)
> ,use (gnu system install)
> ,use (guix)
> ,run-in-store (system-disk-image installation-os)
> (derivation->output-path $3)
>
> and get
>
> $3 = #<derivation /gnu/store/wqba6wghk3j9jk1sxqb4a2lv730jpcmp-disk-image.drv => /gnu/store/pjrkpnz4bgpiqgdix8ldz0psp53zr4kr-disk-image b0bbe60>
> $5 = "/gnu/store/pjrkpnz4bgpiqgdix8ldz0psp53zr4kr-disk-image"
>
> But /gnu/store/pjrkpnz4bgpiqgdix8ldz0psp53zr4kr-disk-image doesn't exist yet.
>
> What should I do to make guix build the image?

You should build the derivation, either from the REPL:

  ,run-in-store (built-derivations (list $3))

or from the shell:

  guix build /gnu/store/wqba6wghk3j9jk1sxqb4a2lv730jpcmp-disk-image.drv

HTH!

Ludo’.

^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2017-07-17 13:35 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-04  7:59 Graphical Installer - Call for Testing John Darrington
2017-01-04 13:18 ` Thomas Danckaert
2017-01-04 18:44   ` John Darrington
2017-01-04 15:54 ` dian_cecht
2017-01-04 16:36   ` Ricardo Wurmus
2017-01-04 18:52   ` John Darrington
2017-01-06  3:23 ` Thompson, David
2017-01-07 16:02   ` Christopher Allan Webber
2017-01-06 20:53 ` myglc2
2017-01-06 21:50   ` John Darrington
2017-01-07  2:18     ` myglc2
2017-01-07  4:55       ` myglc2
2017-01-07 20:35         ` Alex Kost
2017-01-07  8:05       ` John Darrington
2017-01-08 18:47       ` Taylan Ulrich Bayırlı/Kammer
2017-01-08 19:28         ` John Darrington
2017-01-08 22:34 ` Ludovic Courtès
2017-01-09 12:31   ` John Darrington
2017-01-10  8:39     ` Ludovic Courtès
2017-01-10 11:57       ` John Darrington
2017-01-13  5:40 ` Chris Marusich
2017-01-13  6:35   ` John Darrington
2017-01-13  7:03     ` Chris Marusich
2017-01-14 13:24       ` David Craven
2017-01-22 14:41         ` John Darrington
2017-01-15  4:06     ` Chris Marusich
2017-01-15  6:55       ` John Darrington
2017-01-15  9:20         ` Chris Marusich
2017-01-15 11:56           ` John Darrington
2017-01-16  9:34             ` Ludovic Courtès
2017-01-16 12:35               ` John Darrington
2017-01-16 17:18           ` John Darrington
2017-01-18  9:36             ` Chris Marusich
2017-07-05 17:27       ` Danny Milosavljevic
2017-07-07  4:48         ` Chris Marusich
2017-07-07  6:13           ` Danny Milosavljevic
2017-07-07 11:37             ` Ludovic Courtès
2017-07-12 11:30               ` Danny Milosavljevic
2017-07-12 17:31                 ` Danny Milosavljevic
2017-07-17 13:34                 ` Ludovic Courtès

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.