From mboxrd@z Thu Jan 1 00:00:00 1970 From: myglc2 Subject: Re: RFC: Install Wizard considerations Date: Sun, 27 Mar 2016 15:26:33 -0400 Message-ID: <86vb47g1sm.fsf@gmail.com> References: <86d1qiz6yu.fsf@gmail.com> <56F77783.9000809@mtu.edu> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44307) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1akGKs-0007yb-D9 for guix-devel@gnu.org; Sun, 27 Mar 2016 15:26:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1akGKp-0003Ti-5e for guix-devel@gnu.org; Sun, 27 Mar 2016 15:26:54 -0400 Received: from plane.gmane.org ([80.91.229.3]:60023) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1akGKo-0003Ta-Re for guix-devel@gnu.org; Sun, 27 Mar 2016 15:26:51 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1akGKn-00025z-9x for guix-devel@gnu.org; Sun, 27 Mar 2016 21:26:49 +0200 Received: from c-73-167-118-254.hsd1.ma.comcast.net ([73.167.118.254]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 27 Mar 2016 21:26:49 +0200 Received: from myglc2 by c-73-167-118-254.hsd1.ma.comcast.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 27 Mar 2016 21:26:49 +0200 List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org Thomas Ingram 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