* Come back and graphical installer @ 2018-10-20 15:07 Mathieu Othacehe 2018-10-20 15:25 ` Pierre Neidhardt ` (4 more replies) 0 siblings, 5 replies; 74+ messages in thread From: Mathieu Othacehe @ 2018-10-20 15:07 UTC (permalink / raw) To: Guix-devel Hi Guix ! First mail since a while ! I'm currently finishing a long bicycle trip, and was able to start hacking again. I picked up the "Graphical installer" task. After studying the branch wip-installer-2, I choose to rewrite it for multiple reasons: * I found the guile-ncurses approach too low level and think that many bugs in the current installer could be avoided with a higher level library. * As suggested by Ludo[1], using a network manager seems to be a better idea that calling iw, ip and other low level tools. * I prefer relying on a Guile-parted library rather than calling cfdisk and again interfacing with various partioning tools. While a lot of work have been accomplished by John and Danny, fixing the above issues mean rewrite it almost completely anyway. So, I wrote Guile bindings for newt[2], which can be found here[3]. Newt is the library used by Debian installer and the Anaconda installer (RedHat, Centos, ...). I choose to interface with Connman via connmanctl. It would have been better to use DBus but it implies writing Guile-dbus and I did not have the courage. Based on this, I have a first draft for a new installer here[4]. I plan to push it on a wip savannah branch soon. Most of the basic features are implemented and the last missing part it the partioning one (also the bigger ...). I will soon share some iso files to have some feedbacks. Even if it might be too late already, I think that releasing the 1.0 with a graphical installer would be a big plus. Mathieu [1]: https://lists.gnu.org/archive/html/guix-devel/2017-01/msg01255.html [2]: https://en.wikipedia.org/wiki/Newt_(programming_library) [3]: https://gitlab.com/mothacehe/guile-newt [4]: https://github.com/mothacehe/guix/tree/installer ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-10-20 15:07 Come back and graphical installer Mathieu Othacehe @ 2018-10-20 15:25 ` Pierre Neidhardt 2018-10-20 15:48 ` Mathieu Othacehe 2018-10-20 20:57 ` Chris Marusich ` (3 subsequent siblings) 4 siblings, 1 reply; 74+ messages in thread From: Pierre Neidhardt @ 2018-10-20 15:25 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel [-- Attachment #1: Type: text/plain, Size: 613 bytes --] Hi Mathieu, It's very nice that you picked up the task, I guess it's a very important step for Guix! Thanks for the hard work! :) I'm a bit late to the discussion, so maybe this was discussed before, but what about a graphical installer (X / Wayland)? I think it would offer more appeal to a wider audience. People acquainted to curses-like interfaces are usually also familiar with commandline, which is the current way of installing For example, I think Antergos (https://antergos.com/) has a very nice and well polished installer. Thoughts? -- Pierre Neidhardt https://ambrevar.xyz/ [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-10-20 15:25 ` Pierre Neidhardt @ 2018-10-20 15:48 ` Mathieu Othacehe 2018-10-22 12:37 ` Ludovic Courtès 2018-10-22 13:58 ` Danny Milosavljevic 0 siblings, 2 replies; 74+ messages in thread From: Mathieu Othacehe @ 2018-10-20 15:48 UTC (permalink / raw) To: Pierre Neidhardt; +Cc: Guix-devel Hi Pierre, > I'm a bit late to the discussion, so maybe this was discussed before, but what > about a graphical installer (X / Wayland)? I think it would offer more appeal > to a wider audience. People acquainted to curses-like interfaces are usually > also familiar with commandline, which is the current way of installing I remember this topic has been discussed here: http://lists.gnu.org/archive/html/guix-devel/2017-09/msg00247.html To give you my opinion, I think that having a X/Wayland installer would be really nice and totally agree. However, I also think it is important to capitalize on the work already done. Plus, writting this kind of installer is quite complicated because: * Using Anaconda[1] as suggested by Harmut would mean interfacing a huge codebase in Python, written for FHS based distributions. * To write this kind of installer in Guile, we need bindings for a nice high level graphical library and we have to be careful not to increase too much the installer footprint. So this seems that something we want in the future but that is a bit out of reach for the 1.0 release. Mathieu [1]: https://en.wikipedia.org/wiki/Anaconda_(installer) ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-10-20 15:48 ` Mathieu Othacehe @ 2018-10-22 12:37 ` Ludovic Courtès 2018-10-22 13:58 ` Danny Milosavljevic 1 sibling, 0 replies; 74+ messages in thread From: Ludovic Courtès @ 2018-10-22 12:37 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel Hello! Mathieu Othacehe <m.othacehe@gmail.com> skribis: > To give you my opinion, I think that having a X/Wayland installer would > be really nice and totally agree. However, I also think it is important > to capitalize on the work already done. Plus, writting this kind of > installer is quite complicated because: > > * Using Anaconda[1] as suggested by Harmut would mean interfacing a huge > codebase in Python, written for FHS based distributions. > * To write this kind of installer in Guile, we need bindings for a nice > high level graphical library and we have to be careful not to increase > too much the installer footprint. > > So this seems that something we want in the future but that is a bit out > of reach for the 1.0 release. Seconded. To me the graphical installer is in the nice-to-have category and not in the 1.0-blocker category. Ludo’. ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-10-20 15:48 ` Mathieu Othacehe 2018-10-22 12:37 ` Ludovic Courtès @ 2018-10-22 13:58 ` Danny Milosavljevic 1 sibling, 0 replies; 74+ messages in thread From: Danny Milosavljevic @ 2018-10-22 13:58 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel [-- Attachment #1: Type: text/plain, Size: 16189 bytes --] Hi, On Sat, 20 Oct 2018 21:48:34 +0600 Mathieu Othacehe <m.othacehe@gmail.com> wrote: > * Using Anaconda[1] as suggested by Harmut would mean interfacing a huge > codebase in Python, written for FHS based distributions. I just want to throw this over the fence... *runs away*: ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org> ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (wip anaconda) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages admin) #:use-module (gnu packages autotools) #:use-module (gnu packages backup) #:use-module (gnu packages base) #:use-module (gnu packages check) #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages disk) #:use-module (gnu packages flex) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gnuzilla) #:use-module (gnu packages gtk) #:use-module (gnu packages linux) #:use-module (gnu packages nettle) #:use-module (gnu packages networking) #:use-module (gnu packages time) #:use-module (gnu packages package-management) #:use-module (gnu packages pkg-config) #:use-module (gnu packages popt) #:use-module (gnu packages python) #:use-module (gnu packages python-web) #:use-module (gnu packages selinux) #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #:use-module (gnu packages xml) #:use-module (gnu packages xorg)) (define-public python-blivet (package (name "python-blivet") (version "0.61.15") (source (origin (method url-fetch) (uri (string-append "https://github.com/storaged-project/blivet/archive/blivet-" version ".tar.gz")) (sha256 (base32 "0j01wjb2drz1r9f4006xn0g9r7hiqm679diczi4z7hsh850v85f7")))) (build-system python-build-system) (home-page "https://fedoraproject.org/wiki/Blivet") (synopsis "Installer") (description "Installer.") (license license:gpl2))) ; FIXME (define-public python2-blivet (package-with-python2 python-blivet)) (define-public python-ordered-set (package (name "python-ordered-set") (version "2.0.2") (source (origin (method url-fetch) (uri (pypi-uri "ordered-set" version)) (sha256 (base32 "1swh7b75qz9d2179z36ll4n41vf2b8wgngg9rgan01svgmfssb4l")))) (build-system python-build-system) (native-inputs `(("python-nose" ,python-nose))) (home-page "http://github.com/LuminosoInsight/ordered-set") (synopsis "MutableSet that remembers its order in Python") (description "A MutableSet that remembers its order, so that every entry has an index.") (license #f))) (define-public python2-ordered-set (package-with-python2 python-ordered-set)) (define-public python-pykickstart (package (name "python-pykickstart") (version "3.7") (source (origin (method url-fetch) (uri (pypi-uri "pykickstart" version)) (sha256 (base32 "09fp4n8sz8xvcljhhs09w9m1gca0bbcxbcmyd0bdc9xxp0sy4576")))) (build-system python-build-system) (propagated-inputs `(("python-ordered-set" ,python-ordered-set))) (home-page "http://fedoraproject.org/wiki/pykickstart") (synopsis "Python module for manipulating kickstart files") (description "Python module for manipulating kickstart files") (license #f))) ; FIXME (define-public python2-pykickstart (package-with-python2 python-pykickstart)) (define-public python-langtable (package (name "python-langtable") (version "0.0.38") (source (origin (method url-fetch) (uri (string-append "https://github.com/mike-fabian/langtable/archive/" version ".tar.gz")) (sha256 (base32 "00634x2hjrvf45a3wsjb38cni7rc2bdb39a86rvzyz8syv9igxy1")))) (build-system python-build-system) (home-page "https://fedoraproject.org/wiki/Anaconda") (synopsis "Langtable") (description "Langtable.") (license license:gpl3+))) ; FIXME and MIT (define-public python2-langtable (package-with-python2 python-langtable)) ;; FIXME make an independent package. (define-public python2-selinux (package (inherit libselinux) (name "python2-selinux") (native-inputs (cons* `("flex" ,flex) `("python-2" ,python-2) (package-native-inputs libselinux))) (inputs `()) (arguments (substitute-keyword-arguments (package-arguments libselinux) ((#:make-flags flags) `(cons* "PYTHON=python2" (string-append "LIBSEPOLA=" (assoc-ref %build-inputs "libsepol") "/lib/libsepol.a") (string-append "PYSITEDIR=" (assoc-ref %outputs "out") "/lib/python" ,(version-major+minor (package-version python-2)) "/site-packages/") (let ((out (assoc-ref %outputs "out"))) (list (string-append "PREFIX=" out) (string-append "DESTDIR=" out) (string-append "MAN3DIR=" out "/share/man/man3") (string-append "MAN5DIR=" out "/share/man/man5") (string-append "MAN8DIR=" out "/share/man/man8") (string-append "LDFLAGS=-Wl,-rpath=" out "/lib") "CC=gcc")) )))))) (define-public python-ntplib (package (name "python-ntplib") (version "0.3.3") (source (origin (method url-fetch) (uri (pypi-uri "ntplib" version)) (sha256 (base32 "1piy4x71lp6ra8vligcbh6zzn1mgnjh1p9yrkcflds8bsmj1nqn4")))) (build-system python-build-system) (home-page "http://code.google.com/p/ntplib/") (synopsis "NTP client library for Python") (description "This package provides an Network Time Protocol client.") (license license:expat))) (define-public python2-ntplib (package-with-python2 python-ntplib)) (define-public python-urlgrabber (package (name "python-urlgrabber") (version "3.10.2") (source (origin (method url-fetch) (uri (pypi-uri "urlgrabber" version)) (sha256 (base32 "0w1h7hlsq406bxfy2pn4i9bd003bwl0q9b7p03z3g6yl0d21ddq5")))) (build-system python-build-system) (propagated-inputs `(("python2-pycurl" ,python2-pycurl))) (home-page "http://urlgrabber.baseurl.org/") (synopsis "A high-level cross-protocol url-grabber") (description "A high-level cross-protocol url-grabber") (license #f))) (define-public python2-urlgrabber (package-with-python2 python-urlgrabber)) (define-public python-meh (package (name "python-meh") (version "1.2.1") (source (origin (method url-fetch) (uri (pypi-uri "Meh" version)) (sha256 (base32 "0hwg3vqpiqb80ff7is3v202cz98b764nizlizpq9h2m2xn99vpf1")))) (build-system python-build-system) (arguments `(#:tests? #f)) (home-page "https://github.com/PhilipTrauner/Meh") (synopsis "Python configuration files in Python.") (description "Python configuration files in Python.") (license #f))) (define-public python2-meh (package-with-python2 python-meh)) (define-public python-rpmfluff (package (name "python-rpmfluff") (version "0.5.4") (source (origin (method url-fetch) (uri (string-append "https://releases.pagure.org/rpmfluff/rpmfluff-" version ".tar.xz")) (sha256 (base32 "16q38v575yn3m8nf417sfhnhfj856c1wxghhngkzlbcjqkv1lj90")))) (build-system python-build-system) (arguments `(#:tests? #f)) (home-page "https://github.com/PhilipTrauner/Meh") (synopsis "Python configuration files in Python.") (description "Python configuration files in Python.") (license #f))) (define-public python2-rpmfluff (package-with-python2 python-rpmfluff)) (define-public anaconda (package (name "anaconda") (version "21.48.22.133-1") (source (origin (method url-fetch) (uri (string-append "https://github.com/rhinstaller/anaconda/archive/" name "-" version ".tar.gz")) (sha256 (base32 "186sp1j9n31r147nh2b5iv5sj22qmxbaz3p2lmsllanp42129akd")))) (build-system gnu-build-system) (arguments `(#:make-flags '("V=1") #:phases (modify-phases %standard-phases (add-before 'bootstrap 'patch-bootstrapper (lambda* (#:key inputs #:allow-other-keys) (substitute* "widgets/autogen.sh" (("/bin/bash") (which "bash")) (("/usr/share/gettext") (string-append (assoc-ref inputs "gettext") "/share/gettext"))) #t)) (add-after 'unpack 'patch-out-rpm (lambda _ (substitute* "tests/glade/run_glade_tests.sh" ((" rpm -q ") " true ")) #t)) (add-after 'configure 'configure-widgets (lambda* (#:key outputs #:allow-other-keys) (chdir "widgets") (setenv "CONFIG_SHELL" (which "sh")) (invoke (which "sh") "./configure" (string-append "CONFIG_SHELL=" (which "sh")) (string-append "--prefix=" (assoc-ref outputs "out"))) (chdir "..") #t)) (add-after 'configure-widgets 'msginit (lambda* (#:key inputs #:allow-other-keys) (define (filter-environment! filter-predicate environment-variable-names) (for-each (lambda (env-name) (let* ((env-value (getenv env-name)) (search-path (search-path-as-string->list env-value)) (new-search-path (filter filter-predicate search-path)) (new-env-value (list->search-path-as-string new-search-path ":"))) (setenv env-name new-env-value))) environment-variable-names)) (substitute* "utils/dd/Makefile" ;(("LDFLAGS =") (string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref inputs "nss") "/lib/nss")) ;; It's using $(LDFLAGS) before setting LDFLAGS. (("[$][(]LDFLAGS[)]") (string-append "-R " (assoc-ref inputs "nss") "/lib/nss" " -L" (assoc-ref inputs "nss") "/lib/nss"))) (substitute* "tests/pylint/runpylint.sh" ((" /bin/sh ") " sh ")) (substitute* "tests/pyanaconda_tests/iutil_test.py" (("\"/bin/sh\"") "\"sh\"") (("\"/bin/true\"") "\"true\"") (("\"/bin/echo\"") "\"echo\"")) ;; Someone injects enum34 - and that's incompatible with Python3.6. (filter-environment! (lambda (name) (not (string-contains name "enum34"))) '("PYTHONPATH")) ;; FIXME: hardcode it in pyanaconda somehow. (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")) (chdir "po") ;; FIXME: Fetch those files. (for-each (lambda (x) (invoke "msginit" "--no-translator" "-o" x)) '("af.po" "am.po" "ar.po" "as.po" "ast.po" "be.po" "bg.po" "bn.po" "bn_IN.po" "bs.po" "ca.po" "cs.po" "cy.po" "da.po" "de.po" "de_CH.po" "el.po" "en_GB.po" "es.po" "et.po" "eu.po" "fa.po" "fi.po" "fr.po" "gl.po" "gu.po" "hi.po" "hr.po" "hu.po" "ia.po" "id.po" "ilo.po" "is.po" "it.po" "ja.po" "ka.po" "kk.po" "kn.po" "ko.po" "lt.po" "lv.po" "ne.po" "nl.po" "nso.po" "or.po" "pa.po" "pl.po" "pt.po" "pt_BR.po" "ro.po" "ru.po" "si.po" "sk.po" "sl.po" "sq.po" "sr.po" "sr@latin.po" "sv.po" "ta.po" "te.po" "tg.po" "th.po" "tr.po" "uk.po" "ur.po" "vi.po" "zh_CN.po" "zh_TW.po" "zu.po" "mai.po" "mk.po" "mr.po" "ml.po" "mr.po" "ms.po" "nb.po")) (chdir "..") #t)) (add-before 'check 'set-typelib-path (lambda* (#:key inputs #:allow-other-keys) (setenv "GI_TYPELIB_PATH" (string-append (assoc-ref inputs "gtk+") "/share/gir-1.0:" (string-append (assoc-ref inputs "network-manager") "/share/gir-1.0"))) #t)) (add-after 'install 'install-widgets (lambda _ #t))))) (inputs `(("audit" ,audit) ("bdb" ,bdb) ("gettext" ,gettext-minimal) ; widgets ("glade3" ,glade3) ; widgets ("glib" ,glib) ("gtk+" ,gtk+) ; widgets ("gobject-introspection" ,gobject-introspection) ("libarchive" ,libarchive) ("libx11" ,libx11) ("libxklavier" ,libxklavier) ("libxml2" ,libxml2) ("nettle" ,nettle) ("network-manager" ,network-manager) ("nss" ,nss) ("popt" ,popt) ("python-2" ,python-2) ("tzdata" ,tzdata) ("rpm" ,rpm))) (propagated-inputs `(("python2-blivet" ,python2-blivet) ("python2-dbus" ,python2-dbus) ("python2-ipy" ,python2-ipy) ("python2-urlgrabber" ,python2-urlgrabber) ("python2-ntplib" ,python2-ntplib) ("python2-parted" ,python2-parted) ("python2-pytz" ,python2-pytz) ("python2-requests" ,python2-requests) ("python2-meh" ,python2-meh) ("libostree" ,libostree) ("python2-pygobject" ,python2-pygobject))) ; FIXME regular inputs. (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("gettext" ,gettext-minimal) ("glib-bin" ,glib "bin") ("gnome-icon-theme" ,gnome-icon-theme) ("gtk-doc" ,gtk-doc) ("intltool" ,intltool) ("libtool" ,libtool) ("pkg-config" ,pkg-config) ("python-2" ,python-2) ("python2-lxml" ,python2-lxml) ("python2-pylint" ,python2-pylint) ("python2-polib" ,python2-polib) ("python2-nose" ,python2-nose) ("python2-mock" ,python2-mock) ("python2-pykickstart" ,python2-pykickstart) ("python2-selinux" ,python2-selinux) ("python2-langtable" ,python2-langtable) ("python2-rpmfluff" ,python2-rpmfluff) ; FIXME add gi.repository: NetworkManager Gtk Gdk TimezoneMap Pango NMClient GdkPixbuf Keybinder AnacondaWidgets GdkX11 Xkl NM ("cppcheck" ,cppcheck))) (home-page "https://fedoraproject.org/wiki/Anaconda") (synopsis "Installer") (description "Installer.") (license license:gpl2))) ; libuser blivet.util pwquality[runpath problems] [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-10-20 15:07 Come back and graphical installer Mathieu Othacehe 2018-10-20 15:25 ` Pierre Neidhardt @ 2018-10-20 20:57 ` Chris Marusich 2018-10-21 9:50 ` Pierre Neidhardt 2018-10-22 12:48 ` Ludovic Courtès ` (2 subsequent siblings) 4 siblings, 1 reply; 74+ messages in thread From: Chris Marusich @ 2018-10-20 20:57 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel [-- Attachment #1: Type: text/plain, Size: 766 bytes --] Mathieu Othacehe <m.othacehe@gmail.com> writes: > First mail since a while ! I'm currently finishing a long bicycle trip, > and was able to start hacking again. Welcome back. I hope you had a great, refreshing trip! > I picked up the "Graphical installer" task. After studying the branch > wip-installer-2, I choose to rewrite it for multiple reasons: > > [...] > > Based on this, I have a first draft for a new installer here[4]. I plan > to push it on a wip savannah branch soon. Most of the basic features are > implemented and the last missing part it the partioning one (also the > bigger ...). Wow! This is great to hear. I'll look into trying this soon, and give you feedback when I do. Many thanks for working on it! -- Chris [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 832 bytes --] ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-10-20 20:57 ` Chris Marusich @ 2018-10-21 9:50 ` Pierre Neidhardt 0 siblings, 0 replies; 74+ messages in thread From: Pierre Neidhardt @ 2018-10-21 9:50 UTC (permalink / raw) To: Chris Marusich; +Cc: Guix-devel [-- Attachment #1: Type: text/plain, Size: 470 bytes --] > * To write this kind of installer in Guile, we need bindings for a nice > high level graphical library and we have to be careful not to increase > too much the installer footprint. This could be a great opportunity to revamp Guile-gnome ;) > So this seems that something we want in the future but that is a bit out > of reach for the 1.0 release. I'd be very interested to work on this at some point. -- Pierre Neidhardt https://ambrevar.xyz/ [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-10-20 15:07 Come back and graphical installer Mathieu Othacehe 2018-10-20 15:25 ` Pierre Neidhardt 2018-10-20 20:57 ` Chris Marusich @ 2018-10-22 12:48 ` Ludovic Courtès 2018-10-23 3:39 ` Mathieu Othacehe 2018-10-22 15:07 ` Danny Milosavljevic 2018-11-16 13:20 ` Mathieu Othacehe 4 siblings, 1 reply; 74+ messages in thread From: Ludovic Courtès @ 2018-10-22 12:48 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel Hello Mathieu! Mathieu Othacehe <m.othacehe@gmail.com> skribis: > First mail since a while ! I'm currently finishing a long bicycle trip, > and was able to start hacking again. Welcome back, I hope you had a good time! > I picked up the "Graphical installer" task. After studying the branch > wip-installer-2, I choose to rewrite it for multiple reasons: > > * I found the guile-ncurses approach too low level and think that many > bugs in the current installer could be avoided with a higher level > library. > * As suggested by Ludo[1], using a network manager seems to be a better > idea that calling iw, ip and other low level tools. > * I prefer relying on a Guile-parted library rather than calling cfdisk > and again interfacing with various partioning tools. > > While a lot of work have been accomplished by John and Danny, fixing the > above issues mean rewrite it almost completely anyway. > > So, I wrote Guile bindings for newt[2], which can be found here[3]. Newt > is the library used by Debian installer and the Anaconda installer > (RedHat, Centos, ...). > > I choose to interface with Connman via connmanctl. It would have been > better to use DBus but it implies writing Guile-dbus and I did not have > the courage. > > Based on this, I have a first draft for a new installer here[4]. I plan > to push it on a wip savannah branch soon. Most of the basic features are > implemented and the last missing part it the partioning one (also the > bigger ...). Woow, that’s an impressive comeback! :-) The installer you wrote does seem to be much more compact that the one John and Danny wrote, which seems to confirm your argument in favor of Newt rather than Ncurses. I really like the clean interfaces you can came up with for networking, keymaps, timezones, etc. For Connman, I wonder if we could talk directly to the daemon without going through ‘connmanctl’ (which could perhaps provide tighter control over error reports, etc.), but that’s a minor issue. > I will soon share some iso files to have some feedbacks. Even if it > might be too late already, I think that releasing the 1.0 with a > graphical installer would be a big plus. Definitely. I’m really happy that you took a stab at this and I’m looking forward to running test images! BTW, if your bicycle trip stops by Paris, do not miss <https://libreplanet.org/wiki/Group:Guix/ParisGathering2018>: you’d have nice stories to tell us about. :-) Cheers, Ludo’. ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-10-22 12:48 ` Ludovic Courtès @ 2018-10-23 3:39 ` Mathieu Othacehe 2018-10-23 8:17 ` Björn Höfling 0 siblings, 1 reply; 74+ messages in thread From: Mathieu Othacehe @ 2018-10-23 3:39 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel Hi Ludo! > Woow, that’s an impressive comeback! :-) Thank you :) > BTW, if your bicycle trip stops by Paris, do not miss > <https://libreplanet.org/wiki/Group:Guix/ParisGathering2018>: you’d have > nice stories to tell us about. :-) Haha, it would have been with pleasure, but I'll still be in Japan. However, I should be able to attend Fosdem this year! Thanks, Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-10-23 3:39 ` Mathieu Othacehe @ 2018-10-23 8:17 ` Björn Höfling 0 siblings, 0 replies; 74+ messages in thread From: Björn Höfling @ 2018-10-23 8:17 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel [-- Attachment #1: Type: text/plain, Size: 583 bytes --] On Tue, 23 Oct 2018 12:39:54 +0900 Mathieu Othacehe <m.othacehe@gmail.com> wrote: > Hi Ludo! > > > Woow, that’s an impressive comeback! :-) > > Thank you :) > > > BTW, if your bicycle trip stops by Paris, do not miss > > <https://libreplanet.org/wiki/Group:Guix/ParisGathering2018>: you’d > > have nice stories to tell us about. :-) > > Haha, it would have been with pleasure, but I'll still be in > Japan. However, I should be able to attend Fosdem this year! I would doubt that. But would be nice to see you in the beginning of 2019 :-) Björn [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 181 bytes --] ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-10-20 15:07 Come back and graphical installer Mathieu Othacehe ` (2 preceding siblings ...) 2018-10-22 12:48 ` Ludovic Courtès @ 2018-10-22 15:07 ` Danny Milosavljevic 2018-10-23 2:47 ` bill-auger ` (2 more replies) 2018-11-16 13:20 ` Mathieu Othacehe 4 siblings, 3 replies; 74+ messages in thread From: Danny Milosavljevic @ 2018-10-22 15:07 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel [-- Attachment #1: Type: text/plain, Size: 1564 bytes --] Hi Mathieu, welcome back! > I picked up the "Graphical installer" task. After studying the branch > wip-installer-2, I choose to rewrite it for multiple reasons: > > * I found the guile-ncurses approach too low level and think that many > bugs in the current installer could be avoided with a higher level > library. Yeah, it's also why I didn't really continue it except for finishing what's already there. It's just to low-level. I mean it can be done the low-level way, but widget libraries are a solved problem and the "redraw it only now" stuff is seriously 1980s. > * As suggested by Ludo[1], using a network manager seems to be a better > idea that calling iw, ip and other low level tools. I agree. Note that back then network-manager was not used in guix. > * I prefer relying on a Guile-parted library rather than calling cfdisk > and again interfacing with various partioning tools. I agree. I've been meaning to write parted bindings for guile, but I got side-tracked with https://github.com/daym/guile-gcc-unit which can extract prototypes out of gcc source files (in order to automate wrapper generation). Now I'm motivated to pick it up again. Maybe I should just have written the bindings manually - I would have been done a long time ago ;-) > Based on this, I have a first draft for a new installer here[4]. I plan > to push it on a wip savannah branch soon. Most of the basic features are > implemented and the last missing part it the partioning one (also the > bigger ...). Cool! [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-10-22 15:07 ` Danny Milosavljevic @ 2018-10-23 2:47 ` bill-auger 2018-10-23 2:55 ` bill-auger 2018-10-23 3:48 ` Mathieu Othacehe 2018-10-24 13:23 ` Ludovic Courtès 2 siblings, 1 reply; 74+ messages in thread From: bill-auger @ 2018-10-23 2:47 UTC (permalink / raw) To: guix-devel FWIW, i will add that the bulk of effort required to have a pretty user-friendly mouse-centric installer for guixsd is not with the installer itself, but in making a liveISO that boots a graphical environment - i would not consider ncurses to be "graphical" and most casual users would not either - if non-technical people are ever going to try guixsd, then a fully graphical liveISO X desktop environment with a mouse-centric installer will be essential i have experience with the calamares installer which is very much a ready-made, modular, distro-agnostic solution - all that would be required for calamares is to write a new module that scripts a standard command line install procedure and everything else (the GUI, partitioning, a pretty slideshow) is included for free and maintained upstream - about a year ago i discussed this with rekado and offered that i would be willing to adapt it for guix but it was seen then (as it apparently still is now) to be low-priority, so i left it at that ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-10-23 2:47 ` bill-auger @ 2018-10-23 2:55 ` bill-auger 0 siblings, 0 replies; 74+ messages in thread From: bill-auger @ 2018-10-23 2:55 UTC (permalink / raw) To: guix-devel On Mon, 22 Oct 2018 22:47:29 -0400 bill-auger wrote: > if non-technical people are ever going > to try guixsd, then a fully graphical liveISO X desktop environment > with a mouse-centric installer will be essential i should qualify that statement as well to note that a graphical package manager would be just as essential for non-technical users - if there is not yet any graphical package manager, then there is little need for a graphical installer either, as the distro is clearly targeting only "power users" and very much excluding the largest group of potential users which are not so comfortable on the command line ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-10-22 15:07 ` Danny Milosavljevic 2018-10-23 2:47 ` bill-auger @ 2018-10-23 3:48 ` Mathieu Othacehe 2018-10-24 13:23 ` Ludovic Courtès 2 siblings, 0 replies; 74+ messages in thread From: Mathieu Othacehe @ 2018-10-23 3:48 UTC (permalink / raw) To: Danny Milosavljevic; +Cc: Guix-devel Hey Danny, > welcome back! Thank you :) > I agree. I've been meaning to write parted bindings for guile, but > I got side-tracked with https://github.com/daym/guile-gcc-unit which > can extract prototypes out of gcc source files (in order to automate > wrapper generation). Now I'm motivated to pick it up again. I was thinking of writing Guile FFI based bindings in the same spirit as for Guile-git or Guile-newt. However, if we can write a nice higher level abstraction above generated bindings, I guess it would be ok too. Pyparted which was mainly written for Anaconda adopted the strategy of exporting libparted functions in Python via 1:1 function mapping and then writting a higher level abstraction built on that. Anyway, your help would be much appreciated on this part that will be the trickier :) Thank you, Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-10-22 15:07 ` Danny Milosavljevic 2018-10-23 2:47 ` bill-auger 2018-10-23 3:48 ` Mathieu Othacehe @ 2018-10-24 13:23 ` Ludovic Courtès 2 siblings, 0 replies; 74+ messages in thread From: Ludovic Courtès @ 2018-10-24 13:23 UTC (permalink / raw) To: Danny Milosavljevic; +Cc: Guix-devel Hello Danny! Danny Milosavljevic <dannym@scratchpost.org> skribis: > I agree. I've been meaning to write parted bindings for guile, but > I got side-tracked with https://github.com/daym/guile-gcc-unit which > can extract prototypes out of gcc source files (in order to automate > wrapper generation). Now I'm motivated to pick it up again. Fun, and an interesting approach! In a similar vein, did you read about Matt Wette’s “FFI helper” that comes with Nyacc? It shares the same goal of automatic generation of Guile bindings and apparently it works well enough that Matt has been able to use it for pretty large and non-trivial libraries. > Maybe I should just have written the bindings manually - I would have > been done a long time ago ;-) Heheh, talk about shaving yaks. :-) Personally I’m not entirely sure automatic binding generation is worth the effort in general, because “good” bindings necessarily require manual intervention, at least to provide an API that meshes well with the target language and its conventions. Parted has a streamlined consistent object-oriented API, so I think it Shouldn’t Be Hard (ah ha!) to write bindings, with or without automatic generation tools. Ludo’. ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-10-20 15:07 Come back and graphical installer Mathieu Othacehe ` (3 preceding siblings ...) 2018-10-22 15:07 ` Danny Milosavljevic @ 2018-11-16 13:20 ` Mathieu Othacehe 2018-11-16 21:29 ` Ludovic Courtès 2018-11-18 19:43 ` Come back and graphical installer Thorsten Wilms 4 siblings, 2 replies; 74+ messages in thread From: Mathieu Othacehe @ 2018-11-16 13:20 UTC (permalink / raw) To: Guix-devel Hello, I updated the wip-newt-installer, with a first testable version of the installer. As it requires to rebuild the world and it is not built by berlin yet, here's an iso version of the installer. https://drive.google.com/file/d/1OoVhlok1QMRcItwGBZfYn8Ocma-h2oGL/view?usp=sharing It can be tested with Qemu with the command line: qemu-system-x86_64 -m 1024 -smp 1 -boot menu=on -drive file=<iso-path> -vga std Or, on a real hardware, for the bravest :p Note that remains to be done: * The partitioning page * The page to select a desktop environment (gnome, xfce, ...) * The final step of system reconfiguration Since my last email, I also added an abstraction layout (in the gnu/bootloader.scm idea), so that if we want to add a new (gtk3?) installer in the future, we can still use the same grounds. I feel that now is a good time to gather remarks/ideas/patches before diving into the last part. Plus, I'm terrible UI design so any help tuning logo, colors and button placement would be much appreciated :) Thanks, Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-11-16 13:20 ` Mathieu Othacehe @ 2018-11-16 21:29 ` Ludovic Courtès 2018-11-17 3:51 ` Mathieu Othacehe 2018-11-18 19:43 ` Come back and graphical installer Thorsten Wilms 1 sibling, 1 reply; 74+ messages in thread From: Ludovic Courtès @ 2018-11-16 21:29 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel Hello! Mathieu Othacehe <m.othacehe@gmail.com> skribis: > I updated the wip-newt-installer, with a first testable version of the > installer. As it requires to rebuild the world and it is not built by > berlin yet, here's an iso version of the installer. > > https://drive.google.com/file/d/1OoVhlok1QMRcItwGBZfYn8Ocma-h2oGL/view?usp=sharing Arf, sorry we haven’t set up berlin yet. Now there’s no risk of having a disk space shortage there so we should really do it. Now, is the full rebuild caused by the installation of the i18n/SUPPORTED file in the glibc package? If the answer is yes, what about creating a separate package (or simply a ‘computed-file’) that would contain nothing but that file? That would allow us to avoid the full rebuild this time, and thus we could push the new interface out sooner. (Also, we wouldn’t have to connect to Google Drive. :-)) WDYT? > Since my last email, I also added an abstraction layout (in the > gnu/bootloader.scm idea), so that if we want to add a new (gtk3?) > installer in the future, we can still use the same grounds. Sounds really nice! > I feel that now is a good time to gather remarks/ideas/patches before > diving into the last part. Plus, I'm terrible UI design so any help > tuning logo, colors and button placement would be much appreciated :) Minor issue: I think ‘configure.ac’ should not abort when Newt is missing; in general, I think we’ll want to build Guix without Newt and without building the installer. Likewise, in (guix self), we should create a special “node” containing (gnu installer …) and arrange so that it’s not compiled; it makes no sense to have it compiled here, except for testing. WDYT? Thank you! Ludo’, who’d like to give it a try soon! ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-11-16 21:29 ` Ludovic Courtès @ 2018-11-17 3:51 ` Mathieu Othacehe 2018-11-17 13:30 ` L p R n d n 0 siblings, 1 reply; 74+ messages in thread From: Mathieu Othacehe @ 2018-11-17 3:51 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel Hello, > Now, is the full rebuild caused by the installation of the > i18n/SUPPORTED file in the glibc package? Yes. > > If the answer is yes, what about creating a separate package (or simply > a ‘computed-file’) that would contain nothing but that file? That would > allow us to avoid the full rebuild this time, and thus we could push the > new interface out sooner. (Also, we wouldn’t have to connect to Google > Drive. :-)) > > WDYT? Done, I re-created wip-newt-installer without the glibc patch dependency, it can now be built much faster :) For people not used to create disk-images, the commands I use are: ./pre-inst-env guix system disk-image gnu/system/install.scm -> /gnu/store/xxx-disk-image sudo cp /gnu/store/xxx-disk-image /tmp/iso sudo chmod o+rw /tmp/iso qemu-system-x86_64 -m 1024 -smp 1 -net user -net nic,model=virtio -boot menu=on -drive file=/tmp/iso -vga std > Minor issue: I think ‘configure.ac’ should not abort when Newt is > missing; in general, I think we’ll want to build Guix without Newt and > without building the installer. Likewise, in (guix self), we should > create a special “node” containing (gnu installer …) and arrange so that > it’s not compiled; it makes no sense to have it compiled here, except > for testing. > > WDYT? Yes, it makes sense, I'll remove this dependency. Thanks for your fast answer :), Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-11-17 3:51 ` Mathieu Othacehe @ 2018-11-17 13:30 ` L p R n d n 2018-11-17 13:05 ` Mathieu Othacehe 0 siblings, 1 reply; 74+ messages in thread From: L p R n d n @ 2018-11-17 13:30 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel [-- Attachment #1: Type: text/plain, Size: 361 bytes --] Hello, Tryed to test the installer this morning, like instructed in Matthieu's message but I'm getting an error. The message is cycling (showing/unshowing) so here are the last lines. "ERROR: In procedure scm-error: no code for module (gnu installer keymap)" Couldn't interact with the vm so I join a *nicely* timed screenshot whit the full error. Lprndn [-- Attachment #2: 2018-11-17 13-24-25.png --] [-- Type: image/png, Size: 80065 bytes --] ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-11-17 13:30 ` L p R n d n @ 2018-11-17 13:05 ` Mathieu Othacehe 2018-11-17 14:21 ` L p R n d n 0 siblings, 1 reply; 74+ messages in thread From: Mathieu Othacehe @ 2018-11-17 13:05 UTC (permalink / raw) To: L p R n d n; +Cc: Guix-devel Hey, Thanks for trying to test :) > "ERROR: In procedure scm-error: > no code for module (gnu installer keymap)" Was it with the iso-image from google-drive or did you build the installer from wip-installer-branch ? Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-11-17 13:05 ` Mathieu Othacehe @ 2018-11-17 14:21 ` L p R n d n 2018-11-17 13:36 ` Mathieu Othacehe 0 siblings, 1 reply; 74+ messages in thread From: L p R n d n @ 2018-11-17 14:21 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel Hey, I built the disk image from the wip-newt-installer branch. Lprndn ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-11-17 14:21 ` L p R n d n @ 2018-11-17 13:36 ` Mathieu Othacehe 2018-11-17 15:05 ` L p R n d n 0 siblings, 1 reply; 74+ messages in thread From: Mathieu Othacehe @ 2018-11-17 13:36 UTC (permalink / raw) To: L p R n d n; +Cc: Guix-devel > I built the disk image from the wip-newt-installer branch. Ok so could you run: guix gc -R /gnu/store/xxx-your-disk-image | grep installer It should return you the installer script in store (/gnu/store/xxx-installer). Replying to this email with this file in attachment would maybe help me understand what's going wrong. Thanks, Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-11-17 13:36 ` Mathieu Othacehe @ 2018-11-17 15:05 ` L p R n d n 2018-11-17 14:36 ` Mathieu Othacehe 0 siblings, 1 reply; 74+ messages in thread From: L p R n d n @ 2018-11-17 15:05 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel [-- Attachment #1: Type: text/plain, Size: 443 bytes --] Mathieu Othacehe <m.othacehe@gmail.com> writes: >> I built the disk image from the wip-newt-installer branch. > > Ok so could you run: > > guix gc -R /gnu/store/xxx-your-disk-image | grep installer > > It should return you the installer script in store > (/gnu/store/xxx-installer). Replying to this email with this file in > attachment would maybe help me understand what's going wrong. > > Thanks, > > Mathieu Here it is! Thanks, Lprndn [-- Attachment #2: installer --] [-- Type: application/octet-stream, Size: 4302 bytes --] #!/gnu/store/1mr5izrbxwd7cbq8m1xrqm45rzkibpsj-guile-2.2.3/bin/guile --no-auto-compile !# (eval-when (expand load eval) (set! %load-path (cons "/gnu/store/xlsn612abqz25gl0bxdxdpax9z8ngaxn-module-import" (append (map (lambda (extension) (string-append extension "/share/guile/site/" (effective-version))) (quote ("/gnu/store/qbzw2ygy1nq2h0nq6sl9cgg1c5mq5g8z-guile-gcrypt-0.1.0" "/gnu/store/dks0d1f20n2md5vww523g5f14z5nxlc0-guile-newt-0-3.f19b02d12" "/gnu/store/sw3wxk3ylxd1kc2z4z4kb5191x9pf17n-guile-json-1.2.0"))) %load-path))) (set! %load-compiled-path (cons "/gnu/store/g967vsq3dix4w5zjhpcp9p4f30hcmnsm-module-import-compiled" (append (map (lambda (extension) (string-append extension "/lib/guile/" (effective-version) "/site-ccache")) (quote ("/gnu/store/qbzw2ygy1nq2h0nq6sl9cgg1c5mq5g8z-guile-gcrypt-0.1.0" "/gnu/store/dks0d1f20n2md5vww523g5f14z5nxlc0-guile-newt-0-3.f19b02d12" "/gnu/store/sw3wxk3ylxd1kc2z4z4kb5191x9pf17n-guile-json-1.2.0"))) %load-compiled-path))))(begin (use-modules (gnu installer keymap) (gnu installer steps) (gnu installer locale) (newt) (gnu installer newt page) (gnu installer newt utils) (gnu installer newt wifi) (guix i18n) (guix build utils) (ice-9 match)) (begin (bindtextdomain "guix" (string-append "/gnu/store/v5lad91n9wsnxqfqdy76mmsjc1fm8v0c-guix-0.15.0-7.f5a2724" "/share/locale")) (textdomain "guix")) (let* ((inputs (quote ("/gnu/store/q4b3s9y4i0da36drp7zfq9yqcf43s47v-bash-4.4.19" "/gnu/store/vjmmcq0s5z7s0pgdcw6p3gfn0a8a5fl6-connman-1.36" "/gnu/store/1g9r9lk412srqwggv1wv33j4fby7jpg1-shadow-4.6" "/gnu/store/63gkgnixg6xj3m9cgl25ib2zxl51ngw0-coreutils-8.29")))) (with-output-to-port (%make-void-port "w") (lambda () (set-path-environment-variable "PATH" (quote ("bin" "sbin")) inputs)))) (begin (newt-init) (clear-screen) (set-screen-size!)) (catch #t (lambda () (run-installer-steps #:rewind-strategy (quote menu) #:menu-proc (lambda (steps) (run-menu-page steps)) #:steps (list (installer-step (id (quote welcome)) (compute (lambda _ (run-welcome-page "/gnu/store/36h59r4pb7nw3wk9k0ipar3hgf3cqlnx-logo.txt")))) (installer-step (id (quote locale)) (description (G_ "Locale selection")) (compute (lambda _ (let ((result ((lambda* (#:key supported-locales iso639-languages iso3166-territories) (run-locale-page #:supported-locales supported-locales #:iso639-languages iso639-languages #:iso3166-territories iso3166-territories)) #:supported-locales (load-compiled (string-append "/gnu/store/lbxg6l6yj6xh7yr1avlja1mm9lpxsf34-locales" "/" "locales" ".go")) #:iso639-languages (load-compiled (string-append "/gnu/store/rn3vhgkbr132xs4vpwm6pxp0p2i51rl0-iso639-languages" "/" "iso639-languages" ".go")) #:iso3166-territories (load-compiled (string-append "/gnu/store/s3vazy50fvc1r24lcfi0cssy70zamibf-iso3166-territories" "/" "iso3166-territories" ".go"))))) ((lambda (locale-name) (false-if-exception (setlocale LC_ALL locale-name))) result))))) (installer-step (id (quote timezone)) (description (G_ "Timezone selection")) (compute (lambda _ ((lambda* (zonetab) (run-timezone-page zonetab)) (string-append "/gnu/store/2b2md66fbzyspsmd5dj6zkj9hilac40r-tzdata-2018e" "/share/zoneinfo/zone.tab"))))) (installer-step (id (quote keymap)) (description (G_ "Keyboard mapping selection")) (compute (lambda _ (let ((result (call-with-values (lambda () (xkb-rules->models+layouts (string-append "/gnu/store/ypc2xp67lxc1hpznajcpcwzqb4pw9p1v-xkeyboard-config-2.23.1" "/share/X11/xkb/rules/base.xml"))) (lambda (models layouts) ((lambda* (#:key models layouts) (run-keymap-page #:models models #:layouts layouts)) #:models models #:layouts layouts))))) ((match-lambda ((model layout variant) (kmscon-update-keymap model layout variant))) result))))) (installer-step (id (quote hostname)) (description (G_ "Hostname selection")) (compute (lambda _ (run-hostname-page)))) (installer-step (id (quote network)) (description (G_ "Network selection")) (compute (lambda _ (run-network-page)))) (installer-step (id (quote hostname)) (description (G_ "User selection")) (compute (lambda _ (run-user-page))))))) (const #f) (lambda (key . args) ((lambda (key args) (newt-finish)) key args) (call-with-output-file "/tmp/error" (lambda (port) (display-backtrace (make-stack #t) port) (print-exception port (stack-ref (make-stack #t) 1) key args))) (primitive-exit 1))) (begin (newt-finish))) ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-11-17 15:05 ` L p R n d n @ 2018-11-17 14:36 ` Mathieu Othacehe 2018-11-17 18:05 ` L p R n d n 2018-11-18 23:03 ` Ludovic Courtès 0 siblings, 2 replies; 74+ messages in thread From: Mathieu Othacehe @ 2018-11-17 14:36 UTC (permalink / raw) To: L p R n d n; +Cc: Guix-devel > Here it is! Thanks, it seems pretty ok. One last request, could you execute those two commands and send me the result? tree /gnu/store/xlsn612abqz25gl0bxdxdpax9z8ngaxn-module-import tree /gnu/store/g967vsq3dix4w5zjhpcp9p4f30hcmnsm-module-import-compiled Sorry for the hassle, Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-11-17 14:36 ` Mathieu Othacehe @ 2018-11-17 18:05 ` L p R n d n 2018-11-18 3:21 ` Mathieu Othacehe 2018-11-18 23:03 ` Ludovic Courtès 1 sibling, 1 reply; 74+ messages in thread From: L p R n d n @ 2018-11-17 18:05 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel No problem. ;) Here they are: /gnu/store/xlsn612abqz25gl0bxdxdpax9z8ngaxn-module-import ├── gnu │ └── installer │ ├── connman.scm │ ├── newt │ │ ├── page.scm │ │ ├── utils.scm │ │ └── wifi.scm │ ├── steps.scm │ └── utils.scm └── guix ├── build │ └── utils.scm ├── config.scm ├── i18n.scm └── records.scm 5 directories, 10 files and /gnu/store/g967vsq3dix4w5zjhpcp9p4f30hcmnsm-module-import-compiled ├── gnu │ └── installer │ ├── connman.go │ ├── newt │ │ ├── page.go │ │ ├── utils.go │ │ └── wifi.go │ ├── steps.go │ └── utils.go └── guix ├── build │ └── utils.go ├── config.go ├── i18n.go └── records.go 5 directories, 10 files Lprndn ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-11-17 18:05 ` L p R n d n @ 2018-11-18 3:21 ` Mathieu Othacehe 2018-11-18 12:45 ` swedebugia 2018-11-23 11:08 ` L p R n d n 0 siblings, 2 replies; 74+ messages in thread From: Mathieu Othacehe @ 2018-11-18 3:21 UTC (permalink / raw) To: L p R n d n; +Cc: Guix-devel Hey, > Here they are: > > /gnu/store/xlsn612abqz25gl0bxdxdpax9z8ngaxn-module-import > ├── gnu > │ └── installer Ok, so its where the problem is, somehow scheme-modules in the 'modules' procedure of (gnu installer newt) fails to load most of the modules. I don't really understand why, plus I can't reproduce it :( I replaced scheme-modules -> scheme-modules* in 0c4dcc187. If you could fetch the branch and try to build a new disk-image, it would be great! Thanks in advance, Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-11-18 3:21 ` Mathieu Othacehe @ 2018-11-18 12:45 ` swedebugia 2018-11-23 11:08 ` L p R n d n 1 sibling, 0 replies; 74+ messages in thread From: swedebugia @ 2018-11-18 12:45 UTC (permalink / raw) To: Mathieu Othacehe, L p R n d n; +Cc: Guix-devel On 2018-11-18 04:21, Mathieu Othacehe wrote: > > Hey, > >> Here they are: >> >> /gnu/store/xlsn612abqz25gl0bxdxdpax9z8ngaxn-module-import >> ├── gnu >> │ └── installer > > Ok, so its where the problem is, somehow scheme-modules in the 'modules' > procedure of (gnu installer newt) fails to load most of the modules. I > don't really understand why, plus I can't reproduce it :( > > I replaced scheme-modules -> scheme-modules* in 0c4dcc187. If you could > fetch the branch and try to build a new disk-image, it would be great! > It works now :) Congratulations! Took half an hour to build (in guixsd guest in qemu on a 2ghz machine using 1 cpu) -- Cheers Swedebugia ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-11-18 3:21 ` Mathieu Othacehe 2018-11-18 12:45 ` swedebugia @ 2018-11-23 11:08 ` L p R n d n 2018-11-23 11:11 ` L p R n d n 1 sibling, 1 reply; 74+ messages in thread From: L p R n d n @ 2018-11-23 11:08 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel Hello, Sorry for the late answer. I can confirm it works for me too. ;) I won't add any suggestions for now. Thorsten already did a great job. (Replacing the Guix logo by the GuixSD one could be nice tho. To avoid propagating terms misconceptions.) But I think we could already start talking about how we want the installer to evolve. I found Architect[1], an installer for Arch which, I think, is a good example for us as it probably targets a user base close to Guixs'. A seen in another thread, we could make use of a non-maillinglist and collaborative space to think/comment every steps of the user journey. Does Guix already has/use something like this? Have a nice day, Lprndn ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-11-23 11:08 ` L p R n d n @ 2018-11-23 11:11 ` L p R n d n 0 siblings, 0 replies; 74+ messages in thread From: L p R n d n @ 2018-11-23 11:11 UTC (permalink / raw) To: guix-devel L p R n d n <guix@lprndn.info> writes: > Hello, > > Sorry for the late answer. I can confirm it works for me too. ;) > I won't add any suggestions for now. Thorsten already did a great job. > (Replacing the Guix logo by the GuixSD one could be nice tho. To avoid > propagating terms misconceptions.) > > But I think we could already start talking about how we want the > installer to evolve. > I found Architect[1], an installer for Arch which, I think, is a good > example for us as it probably targets a user base close to Guixs'. > A seen in another thread, we could make use of a non-maillinglist and > collaborative space to think/comment every steps of the user journey. > Does Guix already has/use something like this? > > Have a nice day, > > Lprndn Hmmff... The link: [1] http://landoflinux.com/linux_install_architect_linux.html ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-11-17 14:36 ` Mathieu Othacehe 2018-11-17 18:05 ` L p R n d n @ 2018-11-18 23:03 ` Ludovic Courtès 2018-11-19 2:26 ` Mathieu Othacehe 1 sibling, 1 reply; 74+ messages in thread From: Ludovic Courtès @ 2018-11-18 23:03 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel Hi Mathieu, I gave the installer a try in ‘guix system vm’ from commit 2bc8f10a35f24ecfa9f0be6b1e26b4f7af0a275c: impressive piece of work! I agree with most of Thorsten’s suggestions, but I think we can address them incrementally. It’s already nice IMO. In ‘guix system vm’ the process stopped after trying to use “wired” network. At that point I realized I couldn’t switch to other VCs using Alt-F2 & co. Is that something specific to kmscon? Anything we can do about it? I think it’d be nice to have the new installer UI on tty1 and yet be able to just switch to root terminals or the manual on the other VCs. Thank you! Ludo’. ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-11-18 23:03 ` Ludovic Courtès @ 2018-11-19 2:26 ` Mathieu Othacehe 2018-11-19 20:38 ` Ludovic Courtès 0 siblings, 1 reply; 74+ messages in thread From: Mathieu Othacehe @ 2018-11-19 2:26 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel Hi Ludo, > I gave the installer a try in ‘guix system vm’ from commit > 2bc8f10a35f24ecfa9f0be6b1e26b4f7af0a275c: impressive piece of work! Thanks a lot :) > In ‘guix system vm’ the process stopped after trying to use “wired” > network. At that point I realized I couldn’t switch to other VCs using > Alt-F2 & co. Is that something specific to kmscon? Anything we can do > about it? It might be a bug because the last step is supposed to be "User selection". Currently after this step, the program exits and is restarted (as the installer is the shell of the root process). For me it is possible to switch tty with ctrl-alt-fx on real hardware and with alt-f2, sendctrlkey ctrl-alt-fx on Qemu. However, besides tty2 which I kept as documentation, other tty are also root kmscon terminals spawning the installer. > > I think it’d be nice to have the new installer UI on tty1 and yet be > able to just switch to root terminals or the manual on the other VCs. You mean, switching from tty1: installer tty2: documentation tty3-6: installer to, tty1: installer tty2: documentation tty3-6: plain root terminals right? That would require to find a new solution to spawn the installer on tty1. I tried the 'login-program' way but I don't like it because the installer does not have access to PAM env variables. Any other idea? Thanks for your feedback :) Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-11-19 2:26 ` Mathieu Othacehe @ 2018-11-19 20:38 ` Ludovic Courtès 2018-11-20 1:25 ` Mathieu Othacehe 0 siblings, 1 reply; 74+ messages in thread From: Ludovic Courtès @ 2018-11-19 20:38 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel Hi! Mathieu Othacehe <m.othacehe@gmail.com> skribis: >> In ‘guix system vm’ the process stopped after trying to use “wired” >> network. At that point I realized I couldn’t switch to other VCs using >> Alt-F2 & co. Is that something specific to kmscon? Anything we can do >> about it? > > It might be a bug because the last step is supposed to be "User > selection". Currently after this step, the program exits and is > restarted (as the installer is the shell of the root process). > > For me it is possible to switch tty with ctrl-alt-fx on real hardware > and with alt-f2, sendctrlkey ctrl-alt-fx on Qemu. However, besides tty2 > which I kept as documentation, other tty are also root kmscon terminals > spawning the installer. Oh indeed, it’s ctrl-alt instead of alt. Perhaps this should be written on the welcome page of the installer? >> I think it’d be nice to have the new installer UI on tty1 and yet be >> able to just switch to root terminals or the manual on the other VCs. > > You mean, switching from > > tty1: installer > tty2: documentation > tty3-6: installer > > to, > > tty1: installer > tty2: documentation > tty3-6: plain root terminals > > right? Right. > That would require to find a new solution to spawn the installer on > tty1. I tried the 'login-program' way but I don't like it because the > installer does not have access to PAM env variables. Any other idea? I was going to suggest the ‘login-program’ way. :-) What’s the story with PAM env variables? Thanks, Ludo’. ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-11-19 20:38 ` Ludovic Courtès @ 2018-11-20 1:25 ` Mathieu Othacehe 2018-11-22 9:13 ` Merging ‘wip-newt-installer’ in master? Ludovic Courtès 0 siblings, 1 reply; 74+ messages in thread From: Mathieu Othacehe @ 2018-11-20 1:25 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel Hey, > Oh indeed, it’s ctrl-alt instead of alt. Perhaps this should be written > on the welcome page of the installer? Yes, I'll add it! > I was going to suggest the ‘login-program’ way. :-) What’s the story > with PAM env variables? The LANG env variable is important so that the installer can install the right locale at start. However, it is not available yet when using login-program. Any idea how to overcome this? Thanks, Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Merging ‘wip-newt-installer’ in master? 2018-11-20 1:25 ` Mathieu Othacehe @ 2018-11-22 9:13 ` Ludovic Courtès 2018-11-22 14:57 ` Mathieu Othacehe 0 siblings, 1 reply; 74+ messages in thread From: Ludovic Courtès @ 2018-11-22 9:13 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel Hi, Mathieu Othacehe <m.othacehe@gmail.com> skribis: >> I was going to suggest the ‘login-program’ way. :-) What’s the story >> with PAM env variables? > > The LANG env variable is important so that the installer can install the > right locale at start. However, it is not available yet when using > login-program. Any idea how to overcome this? If you add it to /etc/environment (through ‘session-environment-service-type’) it should be fine no? I’d like to make a release within 10 days, meaning ‘core-updates’ is merged by then. Do we go ahead and use the installer in the image as well? That would get real-world testing. The conditions for this IMO would be that: 1. ./configure and (guix self) are adjusted to not build the installer, at least by default. 2. The “old” installation method remains prominently available, either by making it clear people can use ctrl-alt-f2 & co. to switch to a terminal, and maybe adding a message on the welcome page stating that the installer is “beta” or something. 3. The manual is updated to at least mention the new installer, maybe not in detail. How does that sound? It seems to me that it’s OK to push it quickly because it looks pretty good already and if it happens to be buggy, people can always use the old method. WDYT? Thanks, Ludo’. ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2018-11-22 9:13 ` Merging ‘wip-newt-installer’ in master? Ludovic Courtès @ 2018-11-22 14:57 ` Mathieu Othacehe 2018-11-23 13:49 ` Ludovic Courtès 0 siblings, 1 reply; 74+ messages in thread From: Mathieu Othacehe @ 2018-11-22 14:57 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel Hey Ludo, > If you add it to /etc/environment (through > ‘session-environment-service-type’) it should be fine no? LANG is already part of /etc/environment variables which are loaded by the login program which is PAM aware. The installer isn't PAM aware and it replaces the login program thus LANG is never loaded. > 1. ./configure and (guix self) are adjusted to not build the > installer, at least by default. > > 2. The “old” installation method remains prominently available, either > by making it clear people can use ctrl-alt-f2 & co. to switch to a > terminal, and maybe adding a message on the welcome page stating > that the installer is “beta” or something. > > 3. The manual is updated to at least mention the new installer, maybe > not in detail. > > How does that sound? I agree it would be great :), I'm currently focusing on parted support but, I'll shift to the 3 points you described above so that it can be merged on time. > It seems to me that it’s OK to push it quickly because it looks pretty > good already and if it happens to be buggy, people can always use the > old method. Sure, it is a big addition to the codebase, so its important people can start debugging it as soon as possible. Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2018-11-22 14:57 ` Mathieu Othacehe @ 2018-11-23 13:49 ` Ludovic Courtès 2018-11-23 14:48 ` Mathieu Othacehe 0 siblings, 1 reply; 74+ messages in thread From: Ludovic Courtès @ 2018-11-23 13:49 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel Hello! Mathieu Othacehe <m.othacehe@gmail.com> skribis: >> If you add it to /etc/environment (through >> ‘session-environment-service-type’) it should be fine no? > > LANG is already part of /etc/environment variables which are loaded by > the login program which is PAM aware. The installer isn't PAM aware and > it replaces the login program thus LANG is never loaded. Oh, got it. Now, why does the default value of LANG matter anyway? I mean, the installer starts out with a default language, presumably English, right? So you can simply add, say, (setenv "LC_ALL" "en_US.utf8") when starting the installer, can’t you? >> 1. ./configure and (guix self) are adjusted to not build the >> installer, at least by default. >> >> 2. The “old” installation method remains prominently available, either >> by making it clear people can use ctrl-alt-f2 & co. to switch to a >> terminal, and maybe adding a message on the welcome page stating >> that the installer is “beta” or something. >> >> 3. The manual is updated to at least mention the new installer, maybe >> not in detail. Also: 4. The installation system tests still work (e.g., “make check-system TESTS=installed-os”.) Normally they won’t require any modifications since they just run a Bash installation script directly through the marionette. >> How does that sound? > > I agree it would be great :), I'm currently focusing on parted support > but, I'll shift to the 3 points you described above so that it can be > merged on time. Awesome. When do you think we could merge? I’d like to release by the end of next week or the week after at the latest. (If you think you can’t make it, that’s fine too, no pressure!) Thanks! Ludo’. ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2018-11-23 13:49 ` Ludovic Courtès @ 2018-11-23 14:48 ` Mathieu Othacehe 2018-11-23 15:31 ` Ludovic Courtès 0 siblings, 1 reply; 74+ messages in thread From: Mathieu Othacehe @ 2018-11-23 14:48 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel Hey! > Now, why does the default value of LANG matter anyway? I mean, the > installer starts out with a default language, presumably English, right? > So you can simply add, say, (setenv "LC_ALL" "en_US.utf8") when starting > the installer, can’t you? Yup its a way, but in the higly improbable case we want to distribute install images with the 'locale' field of 'installation-os' set to something else than en_US.utf8, then LANG matters. I found a hack consisting in loading everything in /etc/environment just before starting the installer but I'm not very proud of it! > 4. The installation system tests still work (e.g., > “make check-system TESTS=installed-os”.) Normally they won’t > require any modifications since they just run a Bash installation > script directly through the marionette. Yup, I'll check! > When do you think we could merge? I’d like to release by the end of > next week or the week after at the latest. (If you think you can’t make > it, that’s fine too, no pressure!) I just pushed to wip-newt-installer some commits. Most of what you described in points 1, 2 and 3 should be ok. The part, I'm not sure about and I would like you to have a look is the (guix self) part. I'm not sure I understand the point of having a *installer-modules* scheme-node if we don't want to build and distribute the installer via (guix self). So what I did is removing (gnu system install) from *system-modules* so that, all references to the installer is absent from (guix self), but maybe it's not the right thing to do. Thanks, Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2018-11-23 14:48 ` Mathieu Othacehe @ 2018-11-23 15:31 ` Ludovic Courtès 2018-11-24 3:57 ` Mathieu Othacehe 0 siblings, 1 reply; 74+ messages in thread From: Ludovic Courtès @ 2018-11-23 15:31 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel Mathieu Othacehe <m.othacehe@gmail.com> skribis: >> Now, why does the default value of LANG matter anyway? I mean, the >> installer starts out with a default language, presumably English, right? >> So you can simply add, say, (setenv "LC_ALL" "en_US.utf8") when starting >> the installer, can’t you? > > Yup its a way, but in the higly improbable case we want to distribute > install images with the 'locale' field of 'installation-os' set to > something else than en_US.utf8, then LANG matters. I found a hack > consisting in loading everything in /etc/environment just before > starting the installer but I'm not very proud of it! Heheh. Another option would be to pass the locale name to the installer right from (gnu system install). That way, if people want to build an image with a different default locale, they can do it. Fundamentally though, it’s the installer’s job to offer a choice of languages early on, which it does pretty well already! > I just pushed to wip-newt-installer some commits. Most of what you > described in points 1, 2 and 3 should be ok. The part, I'm not sure > about and I would like you to have a look is the (guix self) part. I'm > not sure I understand the point of having a *installer-modules* > scheme-node if we don't want to build and distribute the installer via > (guix self). > > So what I did is removing (gnu system install) from *system-modules* so > that, all references to the installer is absent from (guix self), but > maybe it's not the right thing to do. I think we want to distribute (gnu installer …) modules, just not build them. The thing is, they should be “build-side only” modules, and thus we don’t need to compile them; it’s like (guix man-db), for instance. So I think gnu/installer/*.scm could go in the *system-modules* node as #:extra-files. Does that make sense? Thanks, Ludo’. ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2018-11-23 15:31 ` Ludovic Courtès @ 2018-11-24 3:57 ` Mathieu Othacehe 2018-11-28 9:07 ` Mathieu Othacehe 0 siblings, 1 reply; 74+ messages in thread From: Mathieu Othacehe @ 2018-11-24 3:57 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel Hi, > Heheh. Another option would be to pass the locale name to the installer > right from (gnu system install). That way, if people want to build an > image with a different default locale, they can do it. > > Fundamentally though, it’s the installer’s job to offer a choice of > languages early on, which it does pretty well already! Ok you convinced me, I'll just call 'setlocale' at installer start, this is less dirty. > I think we want to distribute (gnu installer …) modules, just not build > them. The thing is, they should be “build-side only” modules, and thus > we don’t need to compile them; it’s like (guix man-db), for instance. > > So I think gnu/installer/*.scm could go in the *system-modules* node as > #:extra-files. > > Does that make sense? Yes I understand now. The idea of using only build code is quite nice, it simplifies a lot of things. So now, (gnu install) is the tip of the iceberg and everything under gnu/installer/ is build side code (and set as #:extra-files of *system-modules* in (guix self)). I pushed a new commit on the branch to fix all of this, it seems ok now. Thanks for your help, Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2018-11-24 3:57 ` Mathieu Othacehe @ 2018-11-28 9:07 ` Mathieu Othacehe 2018-11-28 13:14 ` Ludovic Courtès 0 siblings, 1 reply; 74+ messages in thread From: Mathieu Othacehe @ 2018-11-28 9:07 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel Hi, I just pushed one commit on the branch to fix install tests. They now seem to all pass with success. Tell me if you see any remaining stuff to be done before merging :) Thanks, Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2018-11-28 9:07 ` Mathieu Othacehe @ 2018-11-28 13:14 ` Ludovic Courtès 2018-11-29 1:23 ` Mathieu Othacehe 0 siblings, 1 reply; 74+ messages in thread From: Ludovic Courtès @ 2018-11-28 13:14 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel [-- Attachment #1: Type: text/plain, Size: 882 bytes --] Hello Mathieu, Mathieu Othacehe <m.othacehe@gmail.com> skribis: > I just pushed one commit on the branch to fix install tests. They now > seem to all pass with success. > > Tell me if you see any remaining stuff to be done before merging :) I stumbled upon a typo leading to an unbound variable error after the last step (patch attached; I let you apply it.) Other than that, something I hadn’t realized earlier (sorry for being foolish!): the installer actually stops after the user account selection and does nothing more, right? It doesn’t generate a config file nor does it run ‘guix system init’, does it? If this is correct, we should probably delay merging until after the release as people may be confused when they realize the installer has no effect. WDYT? Thanks, and apologies for not following closely enough so far! Ludo’. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: Type: text/x-patch, Size: 567 bytes --] diff --git a/gnu/installer.scm b/gnu/installer.scm index b3eb2a6b08..d64a66e09d 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm @@ -289,8 +289,8 @@ selected keymap." (print-exception port (stack-ref (make-stack #t) 1) key args))) - (primitive-exit 1)))) - ((installer-exit current-installer)))))) + (primitive-exit 1))) + ((installer-exit current-installer))))))) (program-file "installer" ^ permalink raw reply related [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2018-11-28 13:14 ` Ludovic Courtès @ 2018-11-29 1:23 ` Mathieu Othacehe 2018-11-29 5:44 ` Brett Gilio 2018-11-29 10:36 ` Ludovic Courtès 0 siblings, 2 replies; 74+ messages in thread From: Mathieu Othacehe @ 2018-11-29 1:23 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel Hey Ludo! > Other than that, something I hadn’t realized earlier (sorry for being > foolish!): the installer actually stops after the user account selection > and does nothing more, right? It doesn’t generate a config file nor > does it run ‘guix system init’, does it? Nope you're correct, for now it does nothing more. > If this is correct, we should probably delay merging until after the > release as people may be confused when they realize the installer has no > effect. WDYT? Sure, I though I would be able to add config generation part before the release, but the partition step keeps me quite busy! Thanks for your patch :) Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2018-11-29 1:23 ` Mathieu Othacehe @ 2018-11-29 5:44 ` Brett Gilio 2018-11-29 10:36 ` Ludovic Courtès 1 sibling, 0 replies; 74+ messages in thread From: Brett Gilio @ 2018-11-29 5:44 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel Mathieu Othacehe writes: > Hey Ludo! > >> Other than that, something I hadn’t realized earlier (sorry for being >> foolish!): the installer actually stops after the user account selection >> and does nothing more, right? It doesn’t generate a config file nor >> does it run ‘guix system init’, does it? > > Nope you're correct, for now it does nothing more. > >> If this is correct, we should probably delay merging until after the >> release as people may be confused when they realize the installer has no >> effect. WDYT? > > Sure, I though I would be able to add config generation part before the > release, but the partition step keeps me quite busy! > > Thanks for your patch :) > > Mathieu Thank you for your work here, Mathieu. I will be looking forward to testing it after the merge. ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2018-11-29 1:23 ` Mathieu Othacehe 2018-11-29 5:44 ` Brett Gilio @ 2018-11-29 10:36 ` Ludovic Courtès 2018-12-05 13:23 ` Mathieu Othacehe 1 sibling, 1 reply; 74+ messages in thread From: Ludovic Courtès @ 2018-11-29 10:36 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel Hi Mathieu, Mathieu Othacehe <m.othacehe@gmail.com> skribis: >> Other than that, something I hadn’t realized earlier (sorry for being >> foolish!): the installer actually stops after the user account selection >> and does nothing more, right? It doesn’t generate a config file nor >> does it run ‘guix system init’, does it? > > Nope you're correct, for now it does nothing more. Cool, that’s already a lot anyway! >> If this is correct, we should probably delay merging until after the >> release as people may be confused when they realize the installer has no >> effect. WDYT? > > Sure, I though I would be able to add config generation part before the > release, but the partition step keeps me quite busy! Understood. Let’s keep it as a nice present for the next release then. Thanks for all the work! Ludo’. ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2018-11-29 10:36 ` Ludovic Courtès @ 2018-12-05 13:23 ` Mathieu Othacehe 2018-12-05 23:50 ` swedebugia 2019-01-05 22:50 ` Ludovic Courtès 0 siblings, 2 replies; 74+ messages in thread From: Mathieu Othacehe @ 2018-12-05 13:23 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel Hello, I pushed a few commits to the branch. All main features are now implemented. The only important stuff missing (in my opinion) is the encryption support during partitioning (as well as RAID and LVM I guess). I also took most of Thorsten remarks into account. I'll keep tinkering the branch in the next few days, but it is now possible to have a complete experience and install a real system! Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2018-12-05 13:23 ` Mathieu Othacehe @ 2018-12-05 23:50 ` swedebugia 2019-01-05 22:50 ` Ludovic Courtès 1 sibling, 0 replies; 74+ messages in thread From: swedebugia @ 2018-12-05 23:50 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel, Guix-devel On 2018-12-05 14:23, Mathieu Othacehe wrote: > Hello, > > I pushed a few commits to the branch. All main features are now > implemented. The only important stuff missing (in my opinion) is the > encryption support during partitioning (as well as RAID and LVM I > guess). I also took most of Thorsten remarks into account. > > I'll keep tinkering the branch in the next few days, but it is now > possible to have a complete experience and install a real system! Wow! Nice. What a comeback+delivery it was indeed. Thanks for keeping up the steam on this. I look forward to test it soon. :D I will have to repartition my devpc to make it possible to have a 2-3 GB test-init partition for testing it. -- Cheers Swedebugia ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2018-12-05 13:23 ` Mathieu Othacehe 2018-12-05 23:50 ` swedebugia @ 2019-01-05 22:50 ` Ludovic Courtès 2019-01-12 19:25 ` Mathieu Othacehe 1 sibling, 1 reply; 74+ messages in thread From: Ludovic Courtès @ 2019-01-05 22:50 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel Hi Mathieu, Mathieu Othacehe <m.othacehe@gmail.com> skribis: > I pushed a few commits to the branch. All main features are now > implemented. The only important stuff missing (in my opinion) is the > encryption support during partitioning (as well as RAID and LVM I > guess). I also took most of Thorsten remarks into account. > > I'll keep tinkering the branch in the next few days, but it is now > possible to have a complete experience and install a real system! Sorry for the long delay! I gave it a try with ‘guix system vm gnu/system/install.scm’ and overall it looks really nice to me! A few random things: • On the first screen, should “Graphical install” come first? • Should the choice of a locale come before the welcome screen? • Should the keyboard layout default to “English (US)” rather than “Afghani”? Likewise for the layout variant. • s/Ok/OK/ :-) • For the partition encryption passphrase, we should probably ask for confirmation, no? • There’s a debug dialog box called “user-partitions” that pops up after hitting “Ok” on the partition choice. :-) • In the “Desktop environments” screen, we should we allow for no desktop environments, and then (or before?) have a second screen where users can choose between a headless server kind of install or a lightweight-X11-desktop kind of install? • At the end, after seeing the complete OS definition, I got “execlp: cryptsetup: Operation not permitted” written at the top of the “Congratulations” screen, and it looks like nothing was actually installed (I had chosen the encrypted-root setup). After that I got: ERROR: pty: failed to exec child /gnu/store/…-installer: Operation not permitted (exec_child() in src/pty.c:299) in a loop and the VM became unusable. Not sure what happened! So what are the next steps? IMO we should consider merging real soon and get people to test. WDYT? Thanks! Ludo’. ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2019-01-05 22:50 ` Ludovic Courtès @ 2019-01-12 19:25 ` Mathieu Othacehe 2019-01-13 17:09 ` Mathieu Othacehe ` (2 more replies) 0 siblings, 3 replies; 74+ messages in thread From: Mathieu Othacehe @ 2019-01-12 19:25 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel Hey Ludo! Thanks for your review. My comments below. > • On the first screen, should “Graphical install” come first? Done in 0cc05606ddae0ec0bf6244418571ffc1478eeb9. > > • Should the choice of a locale come before the welcome screen? I'm not sure about this one. I prefer to welcome the user and expose available options directly, instead of diving directly into locale selection. > • Should the keyboard layout default to “English (US)” rather than > “Afghani”? Likewise for the layout variant. Sure, done in e4be764186be7638d7d4bf0a94998d1e4fd694d4. > > • s/Ok/OK/ :-) Done in 23d30dcad7baaeaa0fd4a7835e69137bc3c8dfb2. > > • For the partition encryption passphrase, we should probably ask for > confirmation, no? Done in 86f86f5a8029cd4d00360d6251891486f0eca5ed. > > • There’s a debug dialog box called “user-partitions” that pops up > after hitting “Ok” on the partition choice. :-) Removed in d1b52bdb6fb270bc5dbad54c165e781888114276. > > • In the “Desktop environments” screen, we should we allow for no > desktop environments, and then (or before?) have a second screen > where users can choose between a headless server kind of install or > a lightweight-X11-desktop kind of install? Seems like a good idea, I add it to my todo list :) > > • At the end, after seeing the complete OS definition, I got “execlp: > cryptsetup: Operation not permitted” written at the top of the > “Congratulations” screen, and it looks like nothing was actually > installed (I had chosen the encrypted-root setup). After that I > got: > > ERROR: pty: failed to exec child /gnu/store/…-installer: Operation not permitted (exec_child() in src/pty.c:299) > > in a loop and the VM became unusable. Not sure what happened! Hmm at least I can reproduce this issue, not sure what's happening. This error does not happend when creating a disk-image and running qemu manually. I'll try to investigate it soon. > > So what are the next steps? IMO we should consider merging real soon > and get people to test. WDYT? Sure, it would be great to merge this branch, so that we can move forward, and hopefully have everything ready for 1.0 release. Anyway, I plan to give a short talk about this installer and its future at fosdem. Sorry for my late answer, Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2019-01-12 19:25 ` Mathieu Othacehe @ 2019-01-13 17:09 ` Mathieu Othacehe 2019-01-13 21:13 ` Ludovic Courtès 2019-01-16 17:12 ` Ludovic Courtès 2019-01-16 18:25 ` Ludovic Courtès 2 siblings, 1 reply; 74+ messages in thread From: Mathieu Othacehe @ 2019-01-13 17:09 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel Hey, >> ERROR: pty: failed to exec child /gnu/store/…-installer: Operation not permitted (exec_child() in src/pty.c:299) >> >> in a loop and the VM became unusable. Not sure what happened! > > Hmm at least I can reproduce this issue, not sure what's > happening. This error does not happend when creating a disk-image and > running qemu manually. I'll try to investigate it soon. The problem seem to be related to cow-store on VM produced by guix system vm. I can reproduce it on "master" by running: guix system vm /gnu/system/install.scm and appending -drive format=raw,file=/home/mathieu/vm-test.img to the produced script. Then, mount /dev/sda1 /mnt herd start cow-store /mnt -> Every command (like ls ou mount) fails because /gnu/store does not seem to be reachable anymore. Is this a known issue, or am I missing something? Thanks, Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2019-01-13 17:09 ` Mathieu Othacehe @ 2019-01-13 21:13 ` Ludovic Courtès 0 siblings, 0 replies; 74+ messages in thread From: Ludovic Courtès @ 2019-01-13 21:13 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel Hi, Mathieu Othacehe <m.othacehe@gmail.com> skribis: >>> ERROR: pty: failed to exec child /gnu/store/…-installer: Operation not permitted (exec_child() in src/pty.c:299) >>> >>> in a loop and the VM became unusable. Not sure what happened! >> >> Hmm at least I can reproduce this issue, not sure what's >> happening. This error does not happend when creating a disk-image and >> running qemu manually. I'll try to investigate it soon. > > The problem seem to be related to cow-store on VM produced by guix > system vm. I can reproduce it on "master" by running: > > guix system vm /gnu/system/install.scm and appending -drive > format=raw,file=/home/mathieu/vm-test.img to the produced script. > > Then, > > mount /dev/sda1 /mnt > herd start cow-store /mnt > > -> Every command (like ls ou mount) fails because /gnu/store does not > seem to be reachable anymore. Oh indeed. I think that’s because / is already an overlayfs in ‘guix system vm’, so somehow we can’t just stack another overlayfs there. I should test in a standalone image produced by ‘guix system vm-image’ instead. Sorry for the confusion! Ludo’. ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2019-01-12 19:25 ` Mathieu Othacehe 2019-01-13 17:09 ` Mathieu Othacehe @ 2019-01-16 17:12 ` Ludovic Courtès 2019-01-16 17:55 ` Mathieu Othacehe 2019-01-16 18:25 ` Ludovic Courtès 2 siblings, 1 reply; 74+ messages in thread From: Ludovic Courtès @ 2019-01-16 17:12 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel Hi! I’ve done some more testing, this time using a full-blown ISO image. Upon a failed install, I noticed that restarting the installer doesn’t go far because we hit: (error "Unable to locate keymap update file") Indeed, /tmp lacks the kmscon file, which I think is because cow-store bind-mounts /tmp to /mnt/tmp. I’m not sure how to address this. Ideas? Thanks, Ludo’. ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2019-01-16 17:12 ` Ludovic Courtès @ 2019-01-16 17:55 ` Mathieu Othacehe 2019-01-16 22:28 ` Ludovic Courtès 0 siblings, 1 reply; 74+ messages in thread From: Mathieu Othacehe @ 2019-01-16 17:55 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel Hey Ludo, Sadly I think its kind of the same problem as the one I described here: https://lists.gnu.org/archive/html/guix-devel/2018-12/msg00161.html. As we are not able to undo what's done by the cow-store service, once restarted, the installer can't be used properly anymore. So I guess the solution to both of these problems would be to force a reboot if the installer fails after the cow-store service has been started. WDYT? Thanks, Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2019-01-16 17:55 ` Mathieu Othacehe @ 2019-01-16 22:28 ` Ludovic Courtès 0 siblings, 0 replies; 74+ messages in thread From: Ludovic Courtès @ 2019-01-16 22:28 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel Hi! Mathieu Othacehe <m.othacehe@gmail.com> skribis: > Sadly I think its kind of the same problem as the one I described here: > https://lists.gnu.org/archive/html/guix-devel/2018-12/msg00161.html. > > As we are not able to undo what's done by the cow-store service, > once restarted, the installer can't be used properly anymore. True, that’s indeed what you described before. > So I guess the solution to both of these problems would be to force a > reboot if the installer fails after the cow-store service has been > started. Hmm yes, maybe? Or maybe we can unshare(2) the installer process so it still sees the original file system layout? Or, conversely, run the installation process in a separate name space? Needs more thought… Ludo’. ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2019-01-12 19:25 ` Mathieu Othacehe 2019-01-13 17:09 ` Mathieu Othacehe 2019-01-16 17:12 ` Ludovic Courtès @ 2019-01-16 18:25 ` Ludovic Courtès 2019-01-16 19:14 ` John Soo ` (2 more replies) 2 siblings, 3 replies; 74+ messages in thread From: Ludovic Courtès @ 2019-01-16 18:25 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel Hi again! I pushed a few commits to ‘wip-newt-installer’. I was able to test it with (roughly): guix system disk-image --file-system-type=iso9660 gnu/system/install.scm qemu-img create -f qcow2 /tmp/t.img 2100M qemu-system-x86_64 -enable-kvm -m 512 -cdrom /gnu/store/…-image.iso \ -hda /tmp/t.img The config file was properly generated (hurray!). The actual installation eventually failed because substitutes are taken from hydra.gnu.org, and somehow at one point it would try to download linux-libre, which would fail (quite surprisingly: I’d expected the download fallback to work, dunno what happened.) Anyway, can we rebase the branch on ‘master’? It seems to me that it’s in a good shape. The installer is really pleasant to use! Thanks, Ludo’. ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2019-01-16 18:25 ` Ludovic Courtès @ 2019-01-16 19:14 ` John Soo 2019-01-16 19:43 ` Mathieu Othacehe 2019-01-16 20:07 ` Jan Nieuwenhuizen 2 siblings, 0 replies; 74+ messages in thread From: John Soo @ 2019-01-16 19:14 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel Hi all! I was working on adding more configuration options to the kmscon service. Do you think the service can take advantage of the config file, too? Thanks! John > On Jan 16, 2019, at 10:25 AM, Ludovic Courtès <ludo@gnu.org> wrote: > > Hi again! > > I pushed a few commits to ‘wip-newt-installer’. > > I was able to test it with (roughly): > > guix system disk-image --file-system-type=iso9660 gnu/system/install.scm > qemu-img create -f qcow2 /tmp/t.img 2100M > qemu-system-x86_64 -enable-kvm -m 512 -cdrom /gnu/store/…-image.iso \ > -hda /tmp/t.img > > The config file was properly generated (hurray!). The actual > installation eventually failed because substitutes are taken from > hydra.gnu.org, and somehow at one point it would try to download > linux-libre, which would fail (quite surprisingly: I’d expected the > download fallback to work, dunno what happened.) > > Anyway, can we rebase the branch on ‘master’? > > It seems to me that it’s in a good shape. The installer is really > pleasant to use! > > Thanks, > Ludo’. > ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2019-01-16 18:25 ` Ludovic Courtès 2019-01-16 19:14 ` John Soo @ 2019-01-16 19:43 ` Mathieu Othacehe 2019-01-17 0:04 ` Ludovic Courtès 2019-01-16 20:07 ` Jan Nieuwenhuizen 2 siblings, 1 reply; 74+ messages in thread From: Mathieu Othacehe @ 2019-01-16 19:43 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel Hey again, > The config file was properly generated (hurray!). The actual > installation eventually failed because substitutes are taken from > hydra.gnu.org, and somehow at one point it would try to download > linux-libre, which would fail (quite surprisingly: I’d expected the > download fallback to work, dunno what happened.) Good that you were able to generate a config file :) > Anyway, can we rebase the branch on ‘master’? Fine with me, the rebase shouldn't be too painful. Please go ahead if it's ok for you :) > It seems to me that it’s in a good shape. The installer is really > pleasant to use! Thanks, I'm really happy of your feedback! Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2019-01-16 19:43 ` Mathieu Othacehe @ 2019-01-17 0:04 ` Ludovic Courtès 2019-01-17 7:44 ` Ricardo Wurmus 2019-01-17 8:48 ` Mathieu Othacehe 0 siblings, 2 replies; 74+ messages in thread From: Ludovic Courtès @ 2019-01-17 0:04 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel Hello, Mathieu Othacehe <m.othacehe@gmail.com> skribis: >> Anyway, can we rebase the branch on ‘master’? > > Fine with me, the rebase shouldn't be too painful. Please go ahead if > it's ok for you :) Done! I think we can now merge on ‘master’. There might still be rough edges but the guts of it is in good shape AFAICS so we can polish it on ‘master’. Mathieu, Ricardo, WDYT? Thanks, Ludo’. ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2019-01-17 0:04 ` Ludovic Courtès @ 2019-01-17 7:44 ` Ricardo Wurmus 2019-01-17 8:48 ` Mathieu Othacehe 1 sibling, 0 replies; 74+ messages in thread From: Ricardo Wurmus @ 2019-01-17 7:44 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel > I think we can now merge on ‘master’. There might still be rough edges > but the guts of it is in good shape AFAICS so we can polish it on > ‘master’. No objections from me. Thank you, Mathieu, for the great work! -- Ricardo ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2019-01-17 0:04 ` Ludovic Courtès 2019-01-17 7:44 ` Ricardo Wurmus @ 2019-01-17 8:48 ` Mathieu Othacehe 2019-01-17 13:13 ` Ludovic Courtès 1 sibling, 1 reply; 74+ messages in thread From: Mathieu Othacehe @ 2019-01-17 8:48 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel [-- Attachment #1: Type: text/plain, Size: 332 bytes --] Hey, > I think we can now merge on ‘master’. There might still be rough edges > but the guts of it is in good shape AFAICS so we can polish it on > ‘master’. Yes I think we can continue the polishing on master :). Here's a small patch to the TODO file with some suggestions made by Björn and you. Mathieu [-- Attachment #2: TODO --] [-- Type: application/octet-stream, Size: 4113 bytes --] -*- mode: org; coding: utf-8; -*- #+TITLE: What's left to do? #+STARTUP: content hidestars Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org> Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. * MAYBE Add a substituter that uses the GNUnet DHT or [[http://libswift.org][libswift]] Would be neat if binaries could be pushed to and pulled from the GNUnet DHT or rather libswift (since DHTs aren’t suited for large payloads). Guix users would sign their binaries, and define which binaries they trust. Use UPnP and similar to traverse NAT, like ‘filegive’ does. * user interface ** add guile-ncurses interface * extend <package> ** add ‘recommends’ field For instance, glibc, binutils, gcc, and ld-wrapper would recommend each other. ‘guix package -i’ could ask interactively (?), or allow users to follow all or none of the recommendations. ** add a ‘user-environment-hook’ This should specify builder code to be run when building a user environment with ‘guix-package’. For instance, Texinfo’s hook would create a new ‘dir’. ** extend ‘propagated-build-inputs’ with support for multiple outputs #+BEGIN_SRC scheme (outputs '("out" "include")) (propagated-build-inputs `(((("i1" ,p1 "o1") ("i2" ,p2)) => "include") ("i3" ,p3))) #+END_SRC * synchronize non-GNU package descriptions with the [[http://directory.fsf.org][FSD]] Meta-data for GNU packages, including descriptions and synopses, can be dumped from the FSD: http://directory.fsf.org/wiki?title=GNU/Export&action=purge . We could periodically synchronize with that. * add a guildhall build system The Guildhall is Guile’s packaging system. It should be easy to add a ‘guildhall-build-system’ that does the right thing based on guildhall recipes. * union Support sophisticated collision handling when building a union: honor per-package priorities, etc. * add GUIX_ALLOW_EXPENSIVE_TESTS Tests that need to download stuff or otherwise take a long time would only be run when that is defined. * guix build utils ** MAYBE Change ‘ld-wrapper’ to add RPATH for libs passed by file name ** MAYBE Add equivalent to chrpath that uses [[https://gitorious.org/guile-dlhacks/guile-dlhacks/][guile-dlhacks]] ** MAYBE Add a hash-rewriting thing for deep dependency replacement without rebuild See [[https://github.com/NixOS/nixpkgs/commit/d1662d715514e6ef9d3dc29f132f1b3d8e608a18][Shea Levy's `replace-dependency' in Nixpkgs]]. * distro ** port to GNU/Hurd, aka. ‘i686-gnu’ Problems include that current glibc releases do not build on GNU/Hurd. In addition, there haven’t been stable releases of GNU Mach, MiG, and Hurd, which would be a pre-condition. * Installer ** Fix impossibility to restart on error after cow-store has been started See https://lists.gnu.org/archive/html/guix-devel/2018-12/msg00161.html. - Force reboot upon installer failure - Unshare the installer process - Run the installer process in a separate namespace ** Partitioning *** Add RAID support *** Add more partitioning schemes The actual schemes are taken from Debian Installer but some are not implemented yet: like "Separate partitions for /home /var and /tmp". *** Replace wait page "Partition formating is in progress, please wait" Create a new waiting page describing what's being done: [ 20% ] Running mkfs.ext4 on /dev/sda2 ... [ 40% ] Running mkfs.ext4 on /dev/sda3 ... ** Desktop environments *** Allow for no desktop environments Propose to choose between "headless server" and "lightweight X11" in a new page. *** Add services selection feature Add a services page to the configuration. Ask for services to be installed like SSH, bluetooth, TLP in a checkbox list? ** Locale and keymap *** Try to guess user locale and keymap by probing BIOS or HW (dmidecode) ** Timezone *** Regroup everything in one single page Under the form: (UTC + 1) Europe/Paris (UTC + 2) Africa/Cairo ... ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2019-01-17 8:48 ` Mathieu Othacehe @ 2019-01-17 13:13 ` Ludovic Courtès 2019-01-19 18:26 ` Pierre Neidhardt 0 siblings, 1 reply; 74+ messages in thread From: Ludovic Courtès @ 2019-01-17 13:13 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel Heya! Mathieu Othacehe <m.othacehe@gmail.com> skribis: >> I think we can now merge on ‘master’. There might still be rough edges >> but the guts of it is in good shape AFAICS so we can polish it on >> ‘master’. > > Yes I think we can continue the polishing on master :). Here's a small > patch to the TODO file with some suggestions made by Björn and you. Pushed to ‘master’, along with the TODO update on your behalf. I realize that rebasing probably wasn’t so wise for a long-lived branch like this after all, especially since it led me to resign all your commits. Oh well. To everyone: please test, hack, and have fun with the installer! Ludo’. ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2019-01-17 13:13 ` Ludovic Courtès @ 2019-01-19 18:26 ` Pierre Neidhardt 2019-01-21 8:33 ` Mathieu Othacehe 0 siblings, 1 reply; 74+ messages in thread From: Pierre Neidhardt @ 2019-01-19 18:26 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel [-- Attachment #1: Type: text/plain, Size: 1485 bytes --] I've had a quick go and I must say I like it a lot! Great job, Mathieu! A few things: - When booting on my desktop with a RX580 GPU, I end up with a blank screen. Turns out that only the display is somehow failing (still investigating), but pressing Ctrl-Alt-F2 brings me to the documentation! I suggest we add a 10 second-timeout to the graphical installer so that if there is no user interaction, it automatically switches back to TTY3 with an explanatory message, e.g. --8<---------------cut here---------------start------------->8--- There was no user activity on the graphical installer which may be due to a display issue. You can proceed with the installation via command line from here. Press Ctrl-Alt-F2 to go to the documentation screen. Press Ctrl-Alt-F1 to go back to the graphical installer screen. --8<---------------cut here---------------end--------------->8--- - Add and extra warning before partitioning! I did it wrong at first but I did not expect the installer to proceed straight away, I thought I would have a second chance at reviewing the changes before proceeding. - More generally, I like the idea of a two-stage process: first collect the details from the user (without actually performing any change), then show a summary of the changes, ask for confirmation and only then apply all the changes in one go. Thanks again for the great contribution! Cheers! -- Pierre Neidhardt https://ambrevar.xyz/ [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2019-01-19 18:26 ` Pierre Neidhardt @ 2019-01-21 8:33 ` Mathieu Othacehe 2019-01-21 8:39 ` Pierre Neidhardt 0 siblings, 1 reply; 74+ messages in thread From: Mathieu Othacehe @ 2019-01-21 8:33 UTC (permalink / raw) To: Pierre Neidhardt; +Cc: Guix-devel Hey! > I've had a quick go and I must say I like it a lot! Great job, Mathieu! Thanks Pierre :) > - Add and extra warning before partitioning! I did it wrong at first but I did > not expect the installer to proceed straight away, I thought I would have a > second chance at reviewing the changes before proceeding. > > - More generally, I like the idea of a two-stage process: first collect the > details from the user (without actually performing any change), then show a > summary of the changes, ask for confirmation and only then apply all the > changes in one go. I added both of your suggestions to the "Installer" section of the TODO file! Thanks for your feedback, Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2019-01-21 8:33 ` Mathieu Othacehe @ 2019-01-21 8:39 ` Pierre Neidhardt 2019-01-21 9:03 ` Mathieu Othacehe 0 siblings, 1 reply; 74+ messages in thread From: Pierre Neidhardt @ 2019-01-21 8:39 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel [-- Attachment #1: Type: text/plain, Size: 223 bytes --] > I added both of your suggestions to the "Installer" section of the TODO > file! Thanks! But what about the first one with the timeout and incompatible displays? ;) -- Pierre Neidhardt https://ambrevar.xyz/ [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2019-01-21 8:39 ` Pierre Neidhardt @ 2019-01-21 9:03 ` Mathieu Othacehe 2019-01-21 9:06 ` Pierre Neidhardt 0 siblings, 1 reply; 74+ messages in thread From: Mathieu Othacehe @ 2019-01-21 9:03 UTC (permalink / raw) To: Pierre Neidhardt; +Cc: Guix-devel > Thanks! But what about the first one with the timeout and incompatible > displays? ;) Well no clue for where this display issue comes from, it might be related to kmscon/framebuffer support on your GPU. Your fallback timeout message seems like a good idea to me, even though I'm not sure how to implement it yet. I added an entry in the TODO/Installer section about it. Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2019-01-21 9:03 ` Mathieu Othacehe @ 2019-01-21 9:06 ` Pierre Neidhardt 2019-02-06 13:56 ` Pierre Neidhardt 0 siblings, 1 reply; 74+ messages in thread From: Pierre Neidhardt @ 2019-01-21 9:06 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel [-- Attachment #1: Type: text/plain, Size: 57 bytes --] Thanks! -- Pierre Neidhardt https://ambrevar.xyz/ [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2019-01-21 9:06 ` Pierre Neidhardt @ 2019-02-06 13:56 ` Pierre Neidhardt 2019-02-08 22:00 ` Ludovic Courtès 0 siblings, 1 reply; 74+ messages in thread From: Pierre Neidhardt @ 2019-02-06 13:56 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: Guix-devel [-- Attachment #1: Type: text/plain, Size: 496 bytes --] I confirm that the RX580 does not have framebuffer/KMS support with the ATI driver. There is KMS support with the AMDGPU driver, sadly it requires some proprietary blob :( During the Guix days you mentioned that you went for KMSCON because of encoding issues if I recall correctly. So what about this: on startup, test if KMS is supported. If not, fall back to the default TTY, and too bad for the limited encoding :p Would that work? -- Pierre Neidhardt https://ambrevar.xyz/ [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2019-02-06 13:56 ` Pierre Neidhardt @ 2019-02-08 22:00 ` Ludovic Courtès 0 siblings, 0 replies; 74+ messages in thread From: Ludovic Courtès @ 2019-02-08 22:00 UTC (permalink / raw) To: Pierre Neidhardt; +Cc: Guix-devel, Mathieu Othacehe Pierre Neidhardt <mail@ambrevar.xyz> skribis: > I confirm that the RX580 does not have framebuffer/KMS support with the ATI > driver. > There is KMS support with the AMDGPU driver, sadly it requires some proprietary > blob :( I’d expect the framebuffer to always work, at least through VESA, no? > During the Guix days you mentioned that you went for KMSCON because of encoding > issues if I recall correctly. So what about this: on startup, test if KMS is > supported. If not, fall back to the default TTY, and too bad for the limited > encoding :p Would that work? That would be a reasonable workaround. Ludo’. ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Merging ‘wip-newt-installer’ in master? 2019-01-16 18:25 ` Ludovic Courtès 2019-01-16 19:14 ` John Soo 2019-01-16 19:43 ` Mathieu Othacehe @ 2019-01-16 20:07 ` Jan Nieuwenhuizen 2 siblings, 0 replies; 74+ messages in thread From: Jan Nieuwenhuizen @ 2019-01-16 20:07 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel Ludovic Courtès writes: > I was able to test it with (roughly): > > guix system disk-image --file-system-type=iso9660 gnu/system/install.scm > qemu-img create -f qcow2 /tmp/t.img 2100M > qemu-system-x86_64 -enable-kvm -m 512 -cdrom /gnu/store/…-image.iso \ > -hda /tmp/t.img That's helpful instruction! I got a different lucky ISO number, but getting a config.scm generated worked very nicely. Impressive work! janneke -- Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-11-16 13:20 ` Mathieu Othacehe 2018-11-16 21:29 ` Ludovic Courtès @ 2018-11-18 19:43 ` Thorsten Wilms 2018-11-18 20:14 ` swedebugia 2018-11-19 2:10 ` Mathieu Othacehe 1 sibling, 2 replies; 74+ messages in thread From: Thorsten Wilms @ 2018-11-18 19:43 UTC (permalink / raw) To: guix-devel Hi Guix! On 16/11/2018 14.20, Mathieu Othacehe wrote: > I feel that now is a good time to gather remarks/ideas/patches before > diving into the last part. Plus, I'm terrible UI design so any help > tuning logo, colors and button placement would be much appreciated :) Ah, this reminds me of 2007, when I worked my way through Ubuntu's installation and made a presentation about issues and suggestions with a few mockups. I know what's there right now didn't fall from the sky and there's effort to every little change. If any of the following reads like a demand or demanding to you, please be assured that I just tried to get straight to the point in what essentially are just suggestions. Dialog buttons: Note that I come to this textmode interface with expectations and habits shaped by graphical interfaces. That will be true of other users, too, though. There is "Cancel", but no "Select"/"OK"/"Forward", not even a hint like "Press Enter to select". "Cancel Installation" would be clearer, but maybe a bit long. Maybe "Exit"? There should be a "Back" button (bound to left-arrow and maybe also Escape). Having a "Back" button would also emphasize that "Cancel" is not just that. Dialog buttons should be right-aligned, with [ Cancel | OK/default ] order (GNOME and Apple style). "Language selection": Lists like this are so much nicer to use if you know that you can type a letter to jump to the first item that starts with it. In this sense, a hint about this feature would be great, though it's tricky to explain this short and clear enough. Would it be feasible to change this to a completion-list instead of working on initials only? "English" should probably be preselected. As odd as the list scrolled down a good bit right from the start may look, this is the one choice that may speed things up for the largest group of users. Unlike "Afar". Is it possible to detect the BIOS language settings? Any other way to make an informed guess? Language names should be localized, e.g. "Deutsch" instead of "German". There may be issues regarding character set and list navigation, though. "Location selection": A shortlist based on language selection is not acceptable. You just made me relocate to the United Kingdom as nearest choice ;) "Code selection": A few more words what this is about should help, assuming Guix is meant to reach less technical users (at some point). "Timezone selection": This should happen after Location selection. The text should explain that selection happens in 2 steps, via a region, then a city. Along the lines of: "First select a region, then a city (next page), to set a timezone". It may be better to use one list of timezones, each with the UTC offset, followed by a list of major cities. "Keyboard model selection": Hmm, Ubuntu's graphical installer gets away with just layout and variant, no mention of model. Some graphical installers have a test box and/or a detection scheme (asking the user to press certain keys). "Technology selection": Should be "Internet access". It seems like with "technology" a bit of the implementation language slipped through? "User selection": This could start right in "User creation" for the first, required user. Actually, I wonder if the installer should even offer creation of several users? In general, don't do what can easily be done after installation. Consider to leave "selection" out of all page titles. -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/ ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-11-18 19:43 ` Come back and graphical installer Thorsten Wilms @ 2018-11-18 20:14 ` swedebugia 2018-11-19 2:13 ` Mathieu Othacehe 2018-11-19 2:10 ` Mathieu Othacehe 1 sibling, 1 reply; 74+ messages in thread From: swedebugia @ 2018-11-18 20:14 UTC (permalink / raw) To: t_w_, guix-devel Hi On 2018-11-18 20:43, Thorsten Wilms wrote: snip +1 to all Thorstens suggestions. In addition I was reminded of the debian installer. Could we change the colors from blue/red to something more outstanding? black/yellow? :) GuixSD really stands out to me so having the colors reflect this would be nice :) -- Cheers Swedebugia ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-11-18 20:14 ` swedebugia @ 2018-11-19 2:13 ` Mathieu Othacehe 0 siblings, 0 replies; 74+ messages in thread From: Mathieu Othacehe @ 2018-11-19 2:13 UTC (permalink / raw) To: swedebugia; +Cc: guix-devel Hi swedebugia, Thanks for your feedback. > In addition I was reminded of the debian installer. Could we change > the colors from blue/red to something more outstanding? black/yellow? > :) Yes I use the same library (newt) so the look is really close. Yes it is totally possible to customize colors for most elements. But as I said before, I'm terrible at this little game so I'll pass, but you're very welcome to give it a try :) Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-11-18 19:43 ` Come back and graphical installer Thorsten Wilms 2018-11-18 20:14 ` swedebugia @ 2018-11-19 2:10 ` Mathieu Othacehe 2018-11-19 11:31 ` Thorsten Wilms 2018-11-21 14:55 ` swedebugia 1 sibling, 2 replies; 74+ messages in thread From: Mathieu Othacehe @ 2018-11-19 2:10 UTC (permalink / raw) To: t_w_; +Cc: guix-devel Hi Thorsten, > I know what's there right now didn't fall from the sky and there's > effort to every little change. If any of the following reads like a > demand or demanding to you, please be assured that I just tried to get > straight to the point in what essentially are just suggestions. Thanks a lot taking the time to test the installer and writting down all those suggestions. Most of them are reasonable, some are made difficult by technical limitations, but I'll discuss them one by one below. > There is "Cancel", but no "Select"/"OK"/"Forward", not even a hint > like "Press Enter to select". "Cancel Installation" would be clearer, > but maybe a bit long. Maybe "Exit"? The newt API offers one "help-line" at the bottom of the screen for a help text. It might be the place to indicate that <Enter> selects. > > There should be a "Back" button (bound to left-arrow and maybe also > Escape). Having a "Back" button would also emphasize that "Cancel" is > not just that. Ok adding a "Back" button and turning "Cancel" into "Exit" seams like a good idea. > Lists like this are so much nicer to use if you know that you can type > a letter to jump to the first item that starts with it. In this sense, > a hint about this feature would be great, though it's tricky to > explain this short and clear enough. > > Would it be feasible to change this to a completion-list instead of > working on initials only? You're right, the "initial jump" feature has to be advertised. About the "completion-list" it would be great but it requires a patch to newt library that is not trivial. > > "English" should probably be preselected. As odd as the list scrolled > down a good bit right from the start may look, this is the one choice > that may speed things up for the largest group of users. Unlike > "Afar". Sure! > Is it possible to detect the BIOS language settings? Any other way to > make an informed guess? I'm not aware of such a possibility I agree it would be nice. > > Language names should be localized, e.g. "Deutsch" instead of > "German". There may be issues regarding character set and list > navigation, though. I took the language name from the ISO639 standard where it is not localized. However, I see that Wikipedia has an ISO language <-> Native name (endonym) correspondance. Maybe we could copy this table somewhere and display language endonyms (or both like the Debian installer)? > "Location selection": > > A shortlist based on language selection is not acceptable. You just > made me relocate to the United Kingdom as nearest choice ;) Aha sadly, the glibc only has a small subset of supported locales. If you speak Dutch, only those locales are supported: nl_AW UTF-8 nl_BE.UTF-8 UTF-8 nl_BE ISO-8859-1 nl_BE@euro ISO-8859-15 nl_NL.UTF-8 UTF-8 nl_NL ISO-8859-1 nl_NL@euro ISO-8859-15 Which means you can not select a "territory" different from Aruba, Belgium or Nederlands. I'm not sure how to overcome this, maybe an explicative text, what do you think? > "Code selection": > > A few more words what this is about should help, assuming Guix is > meant to reach less technical users (at some point). > Ok! > "Timezone selection": > > This should happen after Location selection. The text should explain > that selection happens in 2 steps, via a region, then a city. Along > the lines of: "First select a region, then a city (next page), to set > a timezone". > > It may be better to use one list of timezones, each with the UTC > offset, followed by a list of major cities. Even though it is harder to implement, it would be better I agree. The tricky part is to gather a list of cities representing the timezone. > > "Keyboard model selection": > > Hmm, Ubuntu's graphical installer gets away with just layout and > variant, no mention of model. Some graphical installers have a test > box and/or a detection scheme (asking the user to press certain keys). Well now "pc105" is the standard and other models are mostly relics from the past. I think I'll just assume the model to be pc105 and let user select a layout and variant then. > > > "Technology selection": > > Should be "Internet access". It seems like with "technology" a bit of > the implementation language slipped through? You're right ;) I'll rename it. > "User selection": > > This could start right in "User creation" for the first, required > user. Actually, I wonder if the installer should even offer creation > of several users? In general, don't do what can easily be done after > installation. Well I was hesitating too as multiple user adds complexity to the form. What do other people think, one or multiple users selection :)? > > > Consider to leave "selection" out of all page titles. Ok. Thanks again for your suggestions, it is really appreciated! Mathieu ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-11-19 2:10 ` Mathieu Othacehe @ 2018-11-19 11:31 ` Thorsten Wilms 2018-11-21 14:55 ` swedebugia 1 sibling, 0 replies; 74+ messages in thread From: Thorsten Wilms @ 2018-11-19 11:31 UTC (permalink / raw) To: Mathieu Othacehe; +Cc: guix-devel On 19/11/2018 03.10, Mathieu Othacehe wrote: > The newt API offers one "help-line" at the bottom of the screen for a > help text. It might be the place to indicate that <Enter> selects. Some graphical interface dialogs put emphasis on the button that is currently bound to Enter, but this convention isn't followed everywhere and there are probably many users being unaware. Since long ago I have been thinking that actually drawing a enter-key-icon in the button might be an improvement. Since we don't have such options here, "Press Enter to select and continue" should do. > You're right, the "initial jump" feature has to be advertised. About the > "completion-list" it would be great but it requires a patch to newt > library that is not trivial. As expected. I always look for ways to improve the user experience, but since this would only help some users once in a while, it may not be worth your time. >> Is it possible to detect the BIOS language settings? Any other way to >> make an informed guess? > > I'm not aware of such a possibility I agree it would be nice. All a quick search brought up is dmidecode: $: sudo dmidecode --type 13 # dmidecode 3.1 Getting SMBIOS data from sysfs. SMBIOS 2.5 present. Handle 0x0030, DMI type 13, 22 bytes BIOS Language Information Language Description Format: Abbreviated Installable Languages: 1 en|US|iso8859-1 Currently Installed Language: en|US|iso8859-1 dmidecode reads the information provided by the Linux kernel, which contains a SMBIOS decoder. I guess most systems are never configured away from a default en|US, anyway ... >> Language names should be localized, e.g. "Deutsch" instead of >> "German". There may be issues regarding character set and list >> navigation, though. > > I took the language name from the ISO639 standard where it is not > localized. However, I see that Wikipedia has an ISO language <-> Native > name (endonym) correspondance. Maybe we could copy this table somewhere > and display language endonyms (or both like the Debian installer)? Looks like the Fedora installer does that, too: https://www.linuxtechi.com/wp-content/uploads/2014/12/select-installation-fedora-21.jpg Either installer source might include a hint where the data comes from? >> "Location selection": >> >> A shortlist based on language selection is not acceptable. You just >> made me relocate to the United Kingdom as nearest choice ;) > > Aha sadly, the glibc only has a small subset of supported locales. If > you speak Dutch, only those locales are supported: > > nl_AW UTF-8 > nl_BE.UTF-8 UTF-8 > nl_BE ISO-8859-1 > nl_BE@euro ISO-8859-15 > nl_NL.UTF-8 UTF-8 > nl_NL ISO-8859-1 > nl_NL@euro ISO-8859-15 > > Which means you can not select a "territory" different from Aruba, > Belgium or Nederlands. I'm not sure how to overcome this, maybe an > explicative text, what do you think? There was a misunderstanding here, of which I think it may happen to others, too. I took this in the sense of "where am I", not "which locale", though with a bit more thinking, I should have made the connection! Presented with anything of the pattern as exemplified in "nl_NL.UTF-8 UTF-8", or the keyword "locale", I would have known. For less informed users, we may want to explain the implications in short, but still correct, fashion. Something like "Please Select a locale. This is a regional variant of your language, encompassing number, date and currency format, among other details.". (I'm not too happy about "regional variant".) https://en.wikipedia.org/wiki/Locale_(computer_software) BTW, if the installer doesn't have translations for all languages that Guix can be installed with, language selection will have to be split up, installer and system. >> "Timezone selection": >> It may be better to use one list of timezones, each with the UTC >> offset, followed by a list of major cities. > > Even though it is harder to implement, it would be better I agree. The > tricky part is to gather a list of cities representing the timezone. Best I found is https://en.wikipedia.org/wiki/List_of_tz_database_time_zones Though I wouldn't know how to "fold" that list. Here's how it's done for tzdata, with pretty good language: https://www.digitalocean.com/community/tutorials/additional-recommended-steps-for-new-ubuntu-14-04-servers#configure-timezones-and-network-time-protocol-synchronization > Thanks again for your suggestions, it is really appreciated! I'm happy to help! -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/ ^ permalink raw reply [flat|nested] 74+ messages in thread
* Re: Come back and graphical installer 2018-11-19 2:10 ` Mathieu Othacehe 2018-11-19 11:31 ` Thorsten Wilms @ 2018-11-21 14:55 ` swedebugia 1 sibling, 0 replies; 74+ messages in thread From: swedebugia @ 2018-11-21 14:55 UTC (permalink / raw) To: guix-devel Hi :) On 2018-11-19 03:10, Mathieu Othacehe wrote: > > Hi Thorsten, snip >> >> "Keyboard model selection": >> >> Hmm, Ubuntu's graphical installer gets away with just layout and >> variant, no mention of model. Some graphical installers have a test >> box and/or a detection scheme (asking the user to press certain keys). > > Well now "pc105" is the standard and other models are mostly relics from > the past. I think I'll just assume the model to be pc105 and let user > select a layout and variant then. Sounds good. The manual install is for all the special weird cases. snip > >> "User selection": >> >> This could start right in "User creation" for the first, required >> user. Actually, I wonder if the installer should even offer creation >> of several users? In general, don't do what can easily be done after >> installation. > > Well I was hesitating too as multiple user adds complexity to the > form. What do other people think, one or multiple users selection :)? Single user is preferred. You can hide al the group name and stuff too and just focus on the username. Ubuntu makes it possible to choose a hostname. I never used that to anything so I would just set it to the username or just "guixsd". -- Cheers Swedebugia ^ permalink raw reply [flat|nested] 74+ messages in thread
end of thread, other threads:[~2019-02-08 22:00 UTC | newest] Thread overview: 74+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-10-20 15:07 Come back and graphical installer Mathieu Othacehe 2018-10-20 15:25 ` Pierre Neidhardt 2018-10-20 15:48 ` Mathieu Othacehe 2018-10-22 12:37 ` Ludovic Courtès 2018-10-22 13:58 ` Danny Milosavljevic 2018-10-20 20:57 ` Chris Marusich 2018-10-21 9:50 ` Pierre Neidhardt 2018-10-22 12:48 ` Ludovic Courtès 2018-10-23 3:39 ` Mathieu Othacehe 2018-10-23 8:17 ` Björn Höfling 2018-10-22 15:07 ` Danny Milosavljevic 2018-10-23 2:47 ` bill-auger 2018-10-23 2:55 ` bill-auger 2018-10-23 3:48 ` Mathieu Othacehe 2018-10-24 13:23 ` Ludovic Courtès 2018-11-16 13:20 ` Mathieu Othacehe 2018-11-16 21:29 ` Ludovic Courtès 2018-11-17 3:51 ` Mathieu Othacehe 2018-11-17 13:30 ` L p R n d n 2018-11-17 13:05 ` Mathieu Othacehe 2018-11-17 14:21 ` L p R n d n 2018-11-17 13:36 ` Mathieu Othacehe 2018-11-17 15:05 ` L p R n d n 2018-11-17 14:36 ` Mathieu Othacehe 2018-11-17 18:05 ` L p R n d n 2018-11-18 3:21 ` Mathieu Othacehe 2018-11-18 12:45 ` swedebugia 2018-11-23 11:08 ` L p R n d n 2018-11-23 11:11 ` L p R n d n 2018-11-18 23:03 ` Ludovic Courtès 2018-11-19 2:26 ` Mathieu Othacehe 2018-11-19 20:38 ` Ludovic Courtès 2018-11-20 1:25 ` Mathieu Othacehe 2018-11-22 9:13 ` Merging ‘wip-newt-installer’ in master? Ludovic Courtès 2018-11-22 14:57 ` Mathieu Othacehe 2018-11-23 13:49 ` Ludovic Courtès 2018-11-23 14:48 ` Mathieu Othacehe 2018-11-23 15:31 ` Ludovic Courtès 2018-11-24 3:57 ` Mathieu Othacehe 2018-11-28 9:07 ` Mathieu Othacehe 2018-11-28 13:14 ` Ludovic Courtès 2018-11-29 1:23 ` Mathieu Othacehe 2018-11-29 5:44 ` Brett Gilio 2018-11-29 10:36 ` Ludovic Courtès 2018-12-05 13:23 ` Mathieu Othacehe 2018-12-05 23:50 ` swedebugia 2019-01-05 22:50 ` Ludovic Courtès 2019-01-12 19:25 ` Mathieu Othacehe 2019-01-13 17:09 ` Mathieu Othacehe 2019-01-13 21:13 ` Ludovic Courtès 2019-01-16 17:12 ` Ludovic Courtès 2019-01-16 17:55 ` Mathieu Othacehe 2019-01-16 22:28 ` Ludovic Courtès 2019-01-16 18:25 ` Ludovic Courtès 2019-01-16 19:14 ` John Soo 2019-01-16 19:43 ` Mathieu Othacehe 2019-01-17 0:04 ` Ludovic Courtès 2019-01-17 7:44 ` Ricardo Wurmus 2019-01-17 8:48 ` Mathieu Othacehe 2019-01-17 13:13 ` Ludovic Courtès 2019-01-19 18:26 ` Pierre Neidhardt 2019-01-21 8:33 ` Mathieu Othacehe 2019-01-21 8:39 ` Pierre Neidhardt 2019-01-21 9:03 ` Mathieu Othacehe 2019-01-21 9:06 ` Pierre Neidhardt 2019-02-06 13:56 ` Pierre Neidhardt 2019-02-08 22:00 ` Ludovic Courtès 2019-01-16 20:07 ` Jan Nieuwenhuizen 2018-11-18 19:43 ` Come back and graphical installer Thorsten Wilms 2018-11-18 20:14 ` swedebugia 2018-11-19 2:13 ` Mathieu Othacehe 2018-11-19 2:10 ` Mathieu Othacehe 2018-11-19 11:31 ` Thorsten Wilms 2018-11-21 14:55 ` swedebugia
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.