all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* RFC: Install Wizard considerations
@ 2016-03-25 19:35 myglc2
  2016-03-27  6:02 ` Thomas Ingram
  0 siblings, 1 reply; 3+ messages in thread
From: myglc2 @ 2016-03-25 19:35 UTC (permalink / raw)
  To: guix-devel

There have been a few install wizard proposals for GSOC.  They seem to
all focus on making GuixSD easy to install.  But I think we should
consider:

o) At the moment, a Guix binary install is easier than a GuixSD USB
   install and much more likely to leave the user with a fully working
   system.

o) Since GuixSD is much more bleeding-edge than Guix, if we make it
   easier to install GuixSD, we make it easier for new users to bleed.

o) The fact of the matter is that GuixSD hardware support is weak
   (examples: no boot from MDADM, missing solutions for non-free
   hardware). If we make it easy for new users to go in this direction
   by making it easy to install, we know that many will hit these issues
   and become discouraged.

o) OTOH, if we make it easy to install Guix/GNU/Linux, the odds are that
   the install will go smoothly. On this path the retention of new users
   is based on how well Guix user-level package management works rather
   than the issues noted above.

o) From a software end-user's point of view, there may be only a
   relatively small incremental benefit to running GuixSD instead of
   Guix/GNU/Linux.

So, IMO, if we want to make it easier for new users to try Guix, right
now we need a Guix/GNU/Linxu install wizard much more than we need a
GuixSD install wizard.

Looking at the big picture, the ideal installer would seamlessly handle
Guix/GNU/Linux and GuixSD installs. It might do something like the
following:

Examine the environment & determine the possible ways that Guix and/or
GuixSD can be installed, then walk the user through choices, for
example:

- netboot?
 - fdisk & GuixSD?
- GNU/Linux system?
 - ?root user?
  - install Guix?
  - put GuixSD netboot on USB?
  - install GuixSD to disk?
  - install GuixSD dual boot?
 - running in user space?
  - guix installed?
   - set up git clone?
  - guix not present?
   - can you sudo?
    - yes - got to '?root user' above
    - no
     - install Guix in user space?
     - put GuixSD netboot on USB?

In any event, the end user should end up with a functioning Guix setup
in which all guix features described in the manual are working, (except
those requiring root, e.g. guix system reconfigure).

Back to GSoC: Admittedly this would be a large scope for a GSoC
project. But there are multiple GSoC proposers that want to work on
installation.  Maybe they could collaborate on a "universal Guix
installer" with a fall back plan of producing GuixSD AND Guix/GNU/Linux
installers.

- George

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

* Re: RFC: Install Wizard considerations
  2016-03-25 19:35 RFC: Install Wizard considerations myglc2
@ 2016-03-27  6:02 ` Thomas Ingram
  2016-03-27 19:26   ` myglc2
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas Ingram @ 2016-03-27  6:02 UTC (permalink / raw)
  To: guix-devel



On 03/25/2016 03:35 PM, myglc2 wrote:
> o) Since GuixSD is much more bleeding-edge than Guix, if we make it
>     easier to install GuixSD, we make it easier for new users to bleed.
>
> o) The fact of the matter is that GuixSD hardware support is weak
>     (examples: no boot from MDADM, missing solutions for non-free
>     hardware). If we make it easy for new users to go in this direction
>     by making it easy to install, we know that many will hit these issues
>     and become discouraged.

I agree that GuixSD is currently limited and still beta software, but 
when GuixSD is more feature complete do we want it to be approachable to 
general users or do we want it limited to Guix power users?

My thinking was one day we would want a general user to be able to 
easily use GuixSD, so at some point we'll need a nice friendly 
installer. Maybe I'm misunderstanding the end goals of GuixSD though.

> So, IMO, if we want to make it easier for new users to try Guix, right
> now we need a Guix/GNU/Linxu install wizard much more than we need a
> GuixSD install wizard.
>
> Looking at the big picture, the ideal installer would seamlessly handle
> Guix/GNU/Linux and GuixSD installs. It might do something like the
> following:
>
> Examine the environment & determine the possible ways that Guix and/or
> GuixSD can be installed, then walk the user through choices, for
> example:
>
> - netboot?
>   - fdisk & GuixSD?
> - GNU/Linux system?
>   - ?root user?
>    - install Guix?
>    - put GuixSD netboot on USB?
>    - install GuixSD to disk?
>    - install GuixSD dual boot?
>   - running in user space?
>    - guix installed?
>     - set up git clone?
>    - guix not present?
>     - can you sudo?
>      - yes - got to '?root user' above
>      - no
>       - install Guix in user space?
>       - put GuixSD netboot on USB?
>
> In any event, the end user should end up with a functioning Guix setup
> in which all guix features described in the manual are working, (except
> those requiring root, e.g. guix system reconfigure).
I completely agree that to expand Guix's user base we need to get more 
people using it on any GNU/Linux. I really appreciate the feedback 
although I'm worried I'm a bit too inexperienced, I don't know if I have 
the skill to write something to handle such a diverse set of installs.

This is why I've been aiming to write the GuixSD installer where much of 
it can be easily automated through the lovely operating-system 
declaration which (it's my understand that) is exclusive to GuixSD. 
Perhaps Dyan, who also proposed for GSoC a Guix installer could work on 
this general Guix installer and I could focus on a installer for GuixSD, 
he seems more experienced than me so he would probably have a better 
shot at handling a more complicated install process on other distros.

---
Thomas Ingram

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

* Re: RFC: Install Wizard considerations
  2016-03-27  6:02 ` Thomas Ingram
@ 2016-03-27 19:26   ` myglc2
  0 siblings, 0 replies; 3+ messages in thread
From: myglc2 @ 2016-03-27 19:26 UTC (permalink / raw)
  To: guix-devel

Thomas Ingram <taingram@mtu.edu> writes:

> On 03/25/2016 03:35 PM, myglc2 wrote:
>> o) Since GuixSD is much more bleeding-edge than Guix, if we make it
>>     easier to install GuixSD, we make it easier for new users to bleed.
>>
>> o) The fact of the matter is that GuixSD hardware support is weak
>>     (examples: no boot from MDADM, missing solutions for non-free
>>     hardware). If we make it easy for new users to go in this direction
>>     by making it easy to install, we know that many will hit these issues
>>     and become discouraged.
>
> I agree that GuixSD is currently limited and still beta software, but
> when GuixSD is more feature complete do we want it to be approachable
> to general users or do we want it limited to Guix power users?

It seems clear that current users are mostly 'Guix power users'. As a
metric, take a look at how active the user list is.

On the other hand my GuixSD and GUIX/Debian installs have been rock
solid and indistinguishable from my Debian installs from a reliability
point of view. And, they have the later versions of software I want --
so I am a very happy user ;)

The primary reason I would not recommend GUIX to someone is the horrible
amount of time it took me to understand Guix concepts. But end users
that just want software probably don't care about Guix Concepts.

So it seems to me that an installer that helps the user get up and
running with a good install and workable config goes a long way to
making Guix available to "general users." And even for a prospective
power user it will for sure save time.

> My thinking was one day we would want a general user to be able to
> easily use GuixSD, so at some point we'll need a nice friendly
> installer. Maybe I'm misunderstanding the end goals of GuixSD though.

I certainly don't represent the current community. I am a noobie, using
Guix for just the last 2 months. So the install/setup experience is
fresh in my mind which is why I am being vocal. 

A bigger issue for the community is that when you make it easy to
install Guix the pressure for support will increase
dramatically. E.g. Imagine that to install ubuntu you had to run zile to
edit ubuntu.scm. How many people would be using it? Now, imagine there
is a push-button install, now how many people will try it and and ask
for support?

>> So, IMO, if we want to make it easier for new users to try Guix, right
>> now we need a Guix/GNU/Linxu install wizard much more than we need a
>> GuixSD install wizard.
>>
>> Looking at the big picture, the ideal installer would seamlessly handle
>> Guix/GNU/Linux and GuixSD installs. It might do something like the
>> following:
>>
>> Examine the environment & determine the possible ways that Guix and/or
>> GuixSD can be installed, then walk the user through choices, for
>> example:
>>
>> - netboot?
>>   - fdisk & GuixSD?
>> - GNU/Linux system?
>>   - ?root user?
>>    - install Guix?
>>    - put GuixSD netboot on USB?
>>    - install GuixSD to disk?
>>    - install GuixSD dual boot?
>>   - running in user space?
>>    - guix installed?
>>     - set up git clone?
>>    - guix not present?
>>     - can you sudo?
>>      - yes - got to '?root user' above
>>      - no
>>       - install Guix in user space?
>>       - put GuixSD netboot on USB?
>>
>> In any event, the end user should end up with a functioning Guix setup
>> in which all guix features described in the manual are working, (except
>> those requiring root, e.g. guix system reconfigure).
> I completely agree that to expand Guix's user base we need to get more
> people using it on any GNU/Linux. I really appreciate the feedback
> although I'm worried I'm a bit too inexperienced, I don't know if I
> have the skill to write something to handle such a diverse set of
> installs.

I agree the scenario above is too much. But if it can be thought about
when you set your direction you might end up with more flexible tools.

> This is why I've been aiming to write the GuixSD installer where much
> of it can be easily automated through the lovely operating-system
> declaration which (it's my understand that) is exclusive to
> GuixSD. Perhaps Dyan, who also proposed for GSoC a Guix installer
> could work on this general Guix installer and I could focus on a
> installer for GuixSD, he seems more experienced than me so he would
> probably have a better shot at handling a more complicated install
> process on other distros.

As noted in my other post, setting up config.scm only gets GuixSD
running. For a user to actually do anything cool they also need to do
some package management. I know this from experience because at first I
tried to configure all my packages into config.scm. This amounts to
trying to use Guix system configuration as a replacement for the Debian
package manager. As it turns out, this is not a good way to use Guix. So
it would be a bad idea to start new users down this path with the
installer.

Maybe the way to think about this is as two wizards, one for GuixSD
system configuration (with initial scope to be for first installation)
and one for Guix package management (with initial scope to be use by a
new user).

These tools could be done by two different people with some
collaboration to keep the UI consistent. Later they might be combined
with a "system examination" wizard that looks around, offers the user
choices, and runs these wizards.

HTH - George

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

end of thread, other threads:[~2016-03-27 19:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-25 19:35 RFC: Install Wizard considerations myglc2
2016-03-27  6:02 ` Thomas Ingram
2016-03-27 19:26   ` myglc2

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.