summaryrefslogtreecommitdiff
path: root/gnu/installer
Commit message (Collapse)AuthorAge
* maint: Switch to Guile-JSON 3.x.Ludovic Courtès2019-07-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Guile-JSON 3.x is incompatible with Guile-JSON 1.x, which we relied on until now: it maps JSON dictionaries to alists (instead of hash tables), and JSON arrays to vectors (instead of lists). This commit is about adjusting all the existing code to this new mapping. * m4/guix.m4 (GUIX_CHECK_GUILE_JSON): New macro. * configure.ac: Use it. * doc/guix.texi (Requirements): Mention the Guile-JSON version. * guix/git-download.scm (git-fetch)[guile-json]: Use GUILE-JSON-3. * guix/import/cpan.scm (string->license): Expect vectors instead of lists. (module->dist-name): Use 'json-fetch' instead of 'json-fetch-alist'. (cpan-fetch): Likewise. * guix/import/crate.scm (crate-fetch): Likewise, and call 'vector->list' for DEPS. * guix/import/gem.scm (rubygems-fetch): Likewise. * guix/import/json.scm (json-fetch-alist): Remove. * guix/import/pypi.scm (pypi-fetch): Use 'json-fetch' instead of 'json-fetch-alist'. (latest-source-release, latest-wheel-release): Call 'vector->list' on RELEASES. * guix/import/stackage.scm (stackage-lts-info-fetch): Use 'json-fetch' instead of 'json-fetch-alist'. (lts-package-version): Use 'vector->list'. * guix/import/utils.scm (hash-table->alist): Remove. (alist->package): Pass 'vector->list' on the inputs fields, and default to the empty vector. * guix/scripts/import/json.scm (guix-import-json): Remove call to 'hash-table->alist'. * guix/swh.scm (define-json-reader): Expect pair? or null? instead of hash-table?. [extract-field]: Use 'assoc-ref' instead of 'hash-ref'. (json->branches): Use 'map' instead of 'hash-map->list'. (json->checksums): Likewise. (json->directory-entries, origin-visits): Call 'vector->list' on the result of 'json->scm'. * tests/import-utils.scm ("alist->package with dependencies"): New test. * gnu/installer.scm (build-compiled-file)[builder]: Use GUILE-JSON-3. * gnu/installer.scm (installer-program)[installer-builder]: Likewise. * gnu/installer/locale.scm (iso639->iso639-languages): Use 'assoc-ref' instead of 'hash-ref', and pass vectors through 'vector->list'. (iso3166->iso3166-territories): Likewise. * gnu/system/vm.scm (system-docker-image)[build]: Use GUILE-JSON-3. * guix/docker.scm (manifest, config): Adjust for Guile-JSON 3. * guix/scripts/pack.scm (docker-image)[build]: Use GUILE-JSON-3. * guix/import/github.scm (fetch-releases-or-tags): Update docstring. (latest-released-version): Use 'assoc-ref' instead of 'hash-ref'. Pass the result of 'fetch-releases-or-tags' to 'vector->list'. * guix/import/launchpad.scm (latest-released-version): Likewise.
* installer: Fix typo.Tobias Geerinckx-Rice2019-06-08
| | | | * gnu/installer/newt/network.scm (run-technology-page): Fix plural typo.
* installer: Install xterm alongside ratpoison.Ludovic Courtès2019-06-07
| | | | | * gnu/installer/services.scm (%system-services) <"ratpoison">: Add xterm.
* installer: Install companion packages alongside i3.Ludovic Courtès2019-06-07
| | | | | | | | Fixes <http://bugs.gnu.org/36008>. Suggested by Giovanni Biscuolo <g@xelera.eu>. * gnu/installer/services.scm (%system-services) <"i3">: Add i3status, dmenu, and st.
* Add (gnu build locale).Ludovic Courtès2019-06-07
| | | | | | | | | | * gnu/build/locale.scm: New file. * gnu/local.mk (MODULES_NOT_COMPILED): Add it. * gnu/installer/locale.scm (normalize-codeset): Remove. * gnu/system/locale.scm (localedef-command): Remove. (single-locale-directory): Use (gnu build locale). (glibc-supported-locales)[build]: Likewise, and remove 'read-supported-locales'.
* installer: Always add '%base-initrd-modules' to 'initrd-modules'.Ludovic Courtès2019-06-05
| | | | | | | | Fixes <https://bugs.gnu.org/36099>. Reported by Jonathan Brielmaier <jonathan.brielmaier@web.de>. * gnu/installer/parted.scm (initrd-configuration): Add %BASE-INITRD-MODULES to the 'initrd-modules' field.
* installer: Fix wifi menu crash with hidden SSIDs.Mathieu Othacehe2019-05-29
| | | | | | | | | | This fixes https://issues.guix.gnu.org/issue/35622. * gnu/installer/connman.scm (<service>): Mention that name may be false. * gnu/installer/newt/wifi.scm (wifi-services): Filter out wifi services without name. Co-authored by: Pierre Neidhardt <mail@ambrevar.xyz>
* installer: Fix Guile-Parted crash on i686.Ludovic Courtès2019-05-19
| | | | | | | | | | | | | Fixes <https://bugs.gnu.org/35783>. This is a followup to 7d567af46b4e10ffafb1d0f76b524f5781460598. * gnu/installer/parted.scm (auto-partition!): Append ESP-PARTITION, when it is true, to the result of 'create-adjacent-partitions!'. * gnu/installer/newt/partition.scm (run-partioning-page): Remove 'initial-partitions' variable, and remove call to 'create-special-user-partitions'. Co-authored-by: Mathieu Othacehe <m.othacehe@gmail.com>
* installer: Rename 'auto-partition' to 'auto-partition!'.Ludovic Courtès2019-05-15
| | | | | | | | | | | This is a followup to 7d567af46b4e10ffafb1d0f76b524f5781460598. * gnu/installer/parted.scm (create-adjacent-partitions): Rename to... (create-adjacent-partitions!): ... this. Make private. (auto-partition): Rename to... (auto-partition!): ... this. * gnu/installer/newt/partition.scm (run-partioning-page): Adjust accordingly.
* installer: Mount ESP once only.Ludovic Courtès2019-05-15
| | | | | | | | | | | | Fixes <https://bugs.gnu.org/35731>. * gnu/installer/newt/partition.scm (run-partioning-page)[run-page]: Introduce 'initial-partitions' variable. Previously we'd call 'disk-partitions' after 'auto-partition' had done its job of creating new partitions, and thus its result would contain the just-created partitions. Consequently, 'create-special-user-partitions' would return the ESP partition we just created, and thus it would appear twice in the list.
* installer: Add fat16.Danny Milosavljevic2019-05-14
| | | | * gnu/installer/newt/partition.scm (run-fs-type-page): Add fat16.
* installer: Reflow run-file-textbox-page text.Mathieu Othacehe2019-05-14
| | | | | | * gnu/installer/newt/page.scm (run-file-textbox-page): Reflow text. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
* installer: Fix docstring.Danny Milosavljevic2019-05-14
| | | | * gnu/installer/parted.scm (create-fat32-file-system): Fix docstring.
* installer: Add fat16.Danny Milosavljevic2019-05-14
| | | | | | | * gnu/installer/parted.scm (user-fs-type-name): Add fat16. (user-fs-type->mount-type): Add fat16. (create-fat16-file-system): New procedure. (format-user-partitions): Use it.
* installer: Allow for arbitrary long passphrases and passwords.Ludovic Courtès2019-05-14
| | | | | | | | | | Fixes <https://bugs.gnu.org/35716>. Reported by sirmacik <sirmacik@wioo.waw.pl>. * gnu/installer/newt/page.scm (run-input-page): Add FLAG-SCROLL to INPUT-FLAGS*. * gnu/installer/newt/user.scm (run-user-add-page): Add FLAG-SCROLL to ENTRY-PASSWORD.
* installer: Create btrfs file system.Danny Milosavljevic2019-05-14
| | | | | | | Fixes <https://bugs.gnu.org/35655>. * gnu/installer/parted.scm (create-btrfs-file-system): New procedure. (format-user-partitions): Use it.
* installer: Use 'glibc-supported-locales'.Ludovic Courtès2019-05-13
| | | | | | | | | | | | The list of locales supported by glibc is now built from source. * gnu/installer/locale.scm (locale-string->locale): Add optional 'codeset' parameter and honor it. (supported-locales->locales): Rewrite to 'read' from SUPPORTED-LOCALES. * gnu/installer.scm (compute-locale-step): Pass the result of 'glibc-supported-locales' instead of the "aux-files/SUPPORTED" file. * gnu/installer/aux-files/SUPPORTED: Remove. * gnu/local.mk (dist_installer_DATA): Remove it.
* installer: Add missing 'G_' call.Ludovic Courtès2019-05-09
| | | | | * gnu/installer/newt/user.scm (run-user-page): Add 'G_' call for "User creation".
* installer: "Exit" button in user page actually exits.Ludovic Courtès2019-05-07
| | | | | | | | Fixes <https://bugs.gnu.org/35607>. Reported by Florian Pelz <pelzflorian@pelzflorian.de>. * gnu/installer/newt/user.scm (run-user-page): Add 'cond' clause for ARGUMENT = EXIT-BUTTON.
* installer: Add password 'hide' checkbox.Mathieu Othacehe2019-05-07
| | | | | | | | | | | | * gnu/installer/newt/page.scm (run-input-page)[input-hide-checkbox?]: New parameter adding a checkbox to toggle password hiding. By default, the checkbox is active and the password is hence hided. * gnu/installer/newt/partition.scm (prompt-luks-passwords): Enable the previous parameter on both password input pages. * gnu/installer/newt/user.scm (run-root-password-page): Enable the previous parameter, (confirm-password): ditto, (run-user-add-page): add a checkbox to toggle password hiding.
* installer: Skip network selection dialogs when there is no choice.Ludovic Courtès2019-05-06
| | | | | | | | | | | Previously, for a machine that only has wired networking, and only one such network, we'd have to go through two selection boxes. Now we just skip both. * gnu/installer/newt/ethernet.scm (run-ethernet-page): When 'ethernet-services' returns one element, return it directly without opening a listbox selection. * gnu/installer/newt/network.scm (run-technology-page): Likewise.
* installer: Shrink simple listboxes to their minimum height.Ludovic Courtès2019-05-06
| | | | | | | | | * gnu/installer/newt/partition.scm (run-partioning-page): Pass #:listbox-height. (run-scheme-page): Likewise. (run-device-page): Likewise. * gnu/installer/newt/network.scm (run-technology-page): Likewise. * gnu/installer/newt/ethernet.scm (run-ethernet-page): Likewise.
* installer: Actually translate step descriptions.Ludovic Courtès2019-05-06
| | | | | | | | | Until now, step descriptions in the menu that shows up when hitting "Exit" would not be translated. That's because the 'G_' procedure was called once and for all when the installer was started. * gnu/installer/steps.scm (<installer-step>)[description]: Add the 'thunked' attribute.
* installer: Do not sort methods on the partitioning page.Ludovic Courtès2019-05-06
| | | | | | * gnu/installer/newt/partition.scm (run-partioning-page): Pass #:sort-listbox-items? #f so that methods always appear in the same order.
* installer: Widen user dialog.Ludovic Courtès2019-05-06
| | | | | | * gnu/installer/newt/user.scm (run-user-add-page)[pad-label]: Increase 2nd argument to 25. [entry-width]: Increase to 35.
* installer: Fix typo.Miguel2019-05-05
| | | | | | | * gnu/installer/newt/menu.scm (run-menu-page): Add missing space after period. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
* installer: Do not sort the guided partition schemes in the selection page.Ludovic Courtès2019-05-03
| | | | | | | | | Previously, the "Everything is one partition" entry would come first in English but it would be second in French. This change keeps it the first choice regardless of the language. * gnu/installer/newt/partition.scm (run-scheme-page): Pass #:sort-listbox-items? to 'run-scheme-page'.
* installer: Ensure 'packages' field is a superset of '%base-packages'.Ludovic Courtès2019-05-03
| | | | | | | | Fixes <https://bugs.gnu.org/35541>. Reported by Florian Pelz <pelzflorian@pelzflorian.de>. * gnu/installer/services.scm (system-services->configuration): Generate a snippet that appends PACKAGES to %BASE-PACKAGES.
* installer: Fix typo in docstring.Meiyo Peng2019-04-29
| | | | | | * gnu/installer/newt/wifi.scm (draw-scanning-page): Fix typo in docstring. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* installer: Tell the user where the config file is.Ludovic Courtès2019-04-28
| | | | | | * gnu/installer/newt/final.scm (strip-prefix): New procedure. (run-config-display-page): Add a sentence showing where the config file is stored.
* installer: Fix handling of user password mismatches.Ludovic Courtès2019-04-28
| | | | | | | | | Previously, if we had a password mismatch, the 'password' field would end up containing a <user> record instead of the actual password. * gnu/installer/newt/user.scm (confirm-password): Make TRY-AGAIN optional and adjust docstring. (run-user-add-page): Move 'confirm-password' call one level higher.
* installer: User accounts can now have a "real name."Ludovic Courtès2019-04-28
| | | | | | | | * gnu/installer/newt/user.scm (run-user-add-page): Add #:real-name. Add a label and entry for the real name and initialize the 'real-name' field of the <user> record. * gnu/installer/final.scm (create-user-database): Set the 'comment' field of the <user-account> record.
* installer: User can have a "real name".Ludovic Courtès2019-04-28
| | | | | * gnu/installer/user.scm (<user>)[real-name]: New field. (users->configuration)[use->sexp]: Turn it into a 'comment' field.
* installer: Improve layout of the partitioning page.Ludovic Courtès2019-04-28
| | | | | | | | Previously the "listbox" would be unnecessarily high, leaving too little space for the German translation of the text above. * gnu/installer/newt/partition.scm (run-disk-page): Increase #:info-textbox-width and pass #:listbox-height.
* installer: Add 'nss-certs' to the networking services.Ludovic Courtès2019-04-28
| | | | | | | | Fixes <https://bugs.gnu.org/35469>. Reported by Florian Pelz <pelzflorian@pelzflorian.de>. * gnu/installer/services.scm (%system-services): Add service for 'nss-certs', with 'recommended?' set to #t.
* installer: Recommended services are pre-selected.Ludovic Courtès2019-04-28
| | | | | | | | | * gnu/installer/services.scm (<system-service>)[recommended?]: New field. * gnu/installer/newt/services.scm (run-desktop-environments-cbt-page): Pass #:selection to 'run-checkbox-tree-page', computed from the 'recommended?' field of each service. (run-networking-cbt-page): Likewise.
* installer: Add #:selection parameter to 'run-checkbox-tree-page'.Ludovic Courtès2019-04-28
| | | | | | * gnu/installer/newt/page.scm (%none-selected): New variable. (run-checkbox-tree-page): Add #:selection. [fill-checkbox-tree]: Honor it.
* installer: Add missing i18n in the partitioning pages.Ludovic Courtès2019-04-27
| | | | | | | * gnu/installer/newt/partition.scm (run-scheme-page): Add missing 'G_' for ITEMS. (run-partioning-page): Likewise. (run-partition-page): Move misplaced call to 'G_'.
* installer: Actually reboot when the user presses "Reboot."Ludovic Courtès2019-04-26
| | | | | | | * gnu/installer/newt/final.scm (run-install-success-page): Return 'success. * gnu/installer.scm (installer-program): Check the result of the 'final step and reboot upon success.
* installer: Take 'guix system init' exit code into account.Ludovic Courtès2019-04-26
| | | | | | | | | | This allows the installer to distinguish success from failure, and also ensures the shell that runs 'guix system init' exits upon completion. * gnu/installer/utils.scm (run-shell-command)[pause]: New procedure. Add "exec" before COMMAND in the script. Guard 'invoke' call and handle 'invoke-error?'. Add call to 'pause' on completion. * gnu/installer/final.scm (install-system): Remove 'false-if-exception'.
* installer: Ask for confirmation of the user passwords.Ludovic Courtès2019-04-25
| | | | | * gnu/installer/newt/user.scm (run-user-add-page): Add #:name and #:home-directory and honor them. Add call to 'confirm-password'.
* installer: Ask for confirmation of the root password.Ludovic Courtès2019-04-25
| | | | | * gnu/installer/newt/user.scm (confirm-password): New procedure. (run-root-password-page): Add call to 'confirm-password'.
* installer: Use FLAG-PASSWORD for the encryption passphrase confirmation.Ludovic Courtès2019-04-25
| | | | | * gnu/installer/newt/partition.scm (prompt-luks-passwords) <password-confirm-page>: Pass #:input-flags to 'run-input-page'.
* installer: Preserve order of user accounts.Ludovic Courtès2019-04-25
| | | | * gnu/installer/newt/user.scm (run-user-page): Add call to 'reverse'.
* installer: Ask for the root account password.Ludovic Courtès2019-04-25
| | | | | | | | | | Fixes <https://bugs.gnu.org/35399>. * gnu/installer/newt/user.scm (run-root-password-page): New procedure. * gnu/installer/user.scm (users->configuration): Filter out the "root" account. * gnu/installer/final.scm (create-user-database): Set 'uid' field in 'user-account' form.
* installer: 'run-input-page' has a new #:input-flags parameter.Ludovic Courtès2019-04-25
| | | | | * gnu/installer/newt/page.scm (run-input-page): Add #:input-flags and honor it.
* installer: Ask for user password and initialize /etc/shadow.Ludovic Courtès2019-04-25
| | | | | | | | | | | | | | | Partly fixes <https://bugs.gnu.org/35399>. * gnu/installer/user.scm (<user>)[password]: New field. * gnu/installer/final.scm (%seed): New variable. (integer->alphanumeric-char, random-string) (create-user-database): New procedures. (install-system): Call 'create-user-database'. * gnu/installer/newt/final.scm (run-install-shell): Add #:users and pass it to 'install-system'. (run-final-page): Pass #:users to 'run-install-shell'. * gnu/installer/newt/user.scm (run-user-add-page): Add password entry. Pass its result as the 'password' field of <user>.
* installer: Add missing 'G_' for networking message.Ludovic Courtès2019-04-25
| | | | | * gnu/installer/newt/network.scm (wait-technology-powered): Add missing 'G_'.
* installer: Run 'guix system init' with the right locale.Ludovic Courtès2019-04-23
| | | | | | | | | * gnu/installer/utils.scm (run-shell-command): Add #:locale and honor it. * gnu/installer/newt/final.scm (run-install-shell): Add 'locale' parameter; pass it to 'install-system'. (run-final-page): Obtain locale from RESULT; pass it to 'run-install-shell'. * gnu/installer/final.scm (install-system): Add 'locale' parameter; pass it to 'run-shell-command'.
* installer: Fix skip-to-step issue.Mathieu Othacehe2019-04-21
| | | | | | | | When trying to jump to the first step, DONE-STEPS ends-up being null, which fails the matching condition. * gnu/installer/steps.scm (skip-to-step): Split matching conditions to handle the empty DONE-STEPS case properly.