aboutsummaryrefslogtreecommitdiff
path: root/gnu/installer/newt
AgeCommit message (Expand)Author
2020-03-05installer: Run commands without hopping through the shell....* gnu/installer/utils.scm (run-shell-command): Rename to... (run-command): Remove call to 'call-with-temporary-output-file' and hop through Bash. Expect COMMAND to be a list of strings rather than a string. * gnu/installer/final.scm (install-system): Turn INSTALL-COMMAND into a list of strings and pass it to 'run-command'. * gnu/installer/newt/page.scm (edit-file): Likewise. Ludovic Courtès
2020-03-05installer: Bypass connectivity check when /tmp/installer-assume-online exists....This is useful for automated tests. * gnu/installer/newt/network.scm (wait-service-online)[online?]: New procedure. Check for /tmp/installer-assume-online. Use it instead of 'connman-online?'. Ludovic Courtès
2020-03-05installer: Implement a dialog on /var/guix/installer-socket....This will allow us to automate testing of the installer. * gnu/installer/utils.scm (%client-socket-file) (current-server-socket, current-clients): New variables. (open-server-socket, call-with-server-socket): New procedure. (with-server-socket): New macro. (run-shell-command): Add call to 'send-to-clients'. Select on both current-input-port and current-clients. * gnu/installer/steps.scm (run-installer-steps): Wrap 'call-with-prompt' in 'with-socket-server'. Call 'sigaction' for SIGPIPE. * gnu/installer/newt/page.scm (watch-clients!, close-port-and-reuse-fd) (run-form-with-clients, send-to-clients): New procedures. (draw-info-page): Add call to 'run-form-with-clients'. (run-input-page): Likewise. Handle EXIT-REASON equal to 'exit-fd-ready. (run-confirmation-page): Likewise. (run-listbox-selection-page): Likewise. Define 'choice->item' and use it. (run-checkbox-tree-page): Likewise. (run-file-textbox-page): Add call to 'run-form-with-clients'. Handle 'exit-fd-ready'. * gnu/installer/newt/partition.scm (run-disk-page): Pass #:client-callback-procedure to 'run-listbox-selection-page'. * gnu/installer/newt/user.scm (run-user-page): Call 'run-form-with-clients'. Handle 'exit-fd-ready'. * gnu/installer/newt/welcome.scm (run-menu-page): Define 'choice->item' and use it. Call 'run-form-with-clients'. * gnu/installer/newt/final.scm (run-install-success-page) (run-install-failed-page): When (current-clients) is non-empty, call 'send-to-clients' without displaying a choice window. Ludovic Courtès
2020-02-12installer: Fix installer restart dialog....* gnu/installer/newt/final.scm (run-install-failed-page): Propose between installer resume or restart. Do actually resume the installation by raising an &installer-step-abort condition if "Resume" button is pressed. Otherwise, keep going as the installer will be restarted by login. * gnu/installer.scm (installer-program): Remove the associated TODO comment. Mathieu Othacehe
2020-01-23installer: Make "TRANSLATORS" comment visible....* gnu/installer/newt/user.scm (run-root-password-page): Move "TRANSLATORS" comment right above 'G_' call. Ludovic Courtès
2020-01-20installer: Disable F12 hot key....Fixes <https://bugs.gnu.org/38562>. Reported by Brice Waegeneire <brice@waegenei.re>. Previously, pressing F12 or shift-F2 in one of those forms would cause it to exit, usually with the default value #t because the caller had not provided a useful hotkey "callback". * gnu/installer/newt/page.scm (run-input-page, run-confirmation-page) (run-listbox-selection-page, run-checkbox-tree-page) (run-file-textbox-page): Pass #:flags FLAG-NOF12 to 'make-form'. Ludovic Courtès
2020-01-20installer: Makes sure the installer proceeds after hitting "Edit"....Fixes <https://bugs.gnu.org/39199>. Reported by Jonathan Brielmaier <jonathan.brielmaier@web.de>. * gnu/installer/newt/page.scm (run-file-textbox-page): Move 'loop' to the beginning of the body. Do not call 'loop' from the 'dynamic-wind' exit handler as we would not return the value of the second call to 'loop'. Ludovic Courtès
2020-01-12installer: Add an "Edit" button on the final page....Fixes <https://bugs.gnu.org/36885>. Reported by <lukasbf@tutanota.com>. * gnu/installer/newt/page.scm (edit-file): New procedure. (run-file-textbox-page): Add #:edit-button? and #:editor-locale parameters. Remove 'file-text' and add 'edit-button', and add it to the horizontal stacked grid when EXIT-BUTTON? is true. Wrap body in 'loop'. Handle case where ARGUMENT is EDIT-BUTTON by calling 'loop'. * gnu/installer/newt/final.scm (run-config-display-page): Add #:locale parameter. Pass #:edit-button? and #:editor-locale to 'run-file-textbox-page'. (run-final-page): Pass LOCALE to 'run-config-display-page'. Ludovic Courtès
2020-01-05installer: Add JFS support....* gnu/installer/newt/partition.scm (run-fs-type-page): Add ‘jfs’ to the list box. * gnu/installer/parted.scm (user-fs-type-name, user-fs-type->mount-type) (partition-filesystem-user-type): Add ‘jfs’ mapping (create-jfs-file-system): New procedure. (format-user-partitions): Use it. * gnu/installer.scm (set-installer-path): Add jfsutils. Tobias Geerinckx-Rice
2019-09-25installer: Update to Guile-Parted 0.0.2 release....* gnu/installer/parted.scm (data-partition?, metadata-partition?, freespace-partition?, normal-partition?, extended-partition?, logical-partition?): Remove, as now provided by Guile-Parted. * gnu/installer/newt/partition.scm (run-disk-page): Remove disk-destroy calls, replace disk-delete-all by disk-remove-all-partitions and disk-delete-partition by disk-remove-partition*. Mathieu Othacehe
2019-09-23installer: Fix run-input-page calls....This fixes 55c43108 commit that renamed input-hide-checkbox? into input-visibility-checkbox?. * gnu/installer/newt/partition.scm (prompt-luks-passwords): Rename input-hide-checkbox? into input-visibility-checkbox?. Mathieu Othacehe
2019-08-26installer: Hide the Wi-Fi passphrase by default....* gnu/installer/newt/wifi.scm (run-wifi-password-page): Add an #:INPUT-VISIBILITY-CHECKBOX? to the input page. Tobias Geerinckx-Rice
2019-08-26installer: Show, don't Hide....* gnu/installer/newt/user.scm (run-user-add-page): Change the input visibility checkbox's text to ‘Show’, and default to unchecked. * gnu/installer/newt/page.scm (run-input-page): Likewise. Rename INPUT-HIDE-CHECKBOX? argument to INPUT-VISIBILITY-CHECKBOX?. Tobias Geerinckx-Rice
2019-06-08installer: Fix typo....* gnu/installer/newt/network.scm (run-technology-page): Fix plural typo. Tobias Geerinckx-Rice
2019-05-29installer: Fix wifi menu crash with hidden SSIDs....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> Mathieu Othacehe
2019-05-19installer: Fix Guile-Parted crash on i686....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> Ludovic Courtès
2019-05-15installer: Rename 'auto-partition' to 'auto-partition!'....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. Ludovic Courtès
2019-05-15installer: Mount ESP once only....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. Ludovic Courtès
2019-05-14installer: Add fat16....* gnu/installer/newt/partition.scm (run-fs-type-page): Add fat16. Danny Milosavljevic
2019-05-14installer: Reflow run-file-textbox-page text....* gnu/installer/newt/page.scm (run-file-textbox-page): Reflow text. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org> Mathieu Othacehe
2019-05-14installer: Allow for arbitrary long passphrases and passwords....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. Ludovic Courtès
2019-05-09installer: Add missing 'G_' call....* gnu/installer/newt/user.scm (run-user-page): Add 'G_' call for "User creation". Ludovic Courtès
2019-05-07installer: "Exit" button in user page actually exits....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. Ludovic Courtès
2019-05-07installer: Add password 'hide' checkbox....* 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. Mathieu Othacehe
2019-05-06installer: Skip network selection dialogs when there is no choice....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. Ludovic Courtès
2019-05-06installer: Shrink simple listboxes to their minimum height....* 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. Ludovic Courtès
2019-05-06installer: Do not sort methods on the partitioning page....* gnu/installer/newt/partition.scm (run-partioning-page): Pass #:sort-listbox-items? #f so that methods always appear in the same order. Ludovic Courtès
2019-05-06installer: Widen user dialog....* gnu/installer/newt/user.scm (run-user-add-page)[pad-label]: Increase 2nd argument to 25. [entry-width]: Increase to 35. Ludovic Courtès
2019-05-05installer: Fix typo....* gnu/installer/newt/menu.scm (run-menu-page): Add missing space after period. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org> Miguel
2019-05-03installer: Do not sort the guided partition schemes in the selection page....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'. Ludovic Courtès
2019-04-29installer: Fix typo in docstring....* gnu/installer/newt/wifi.scm (draw-scanning-page): Fix typo in docstring. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Meiyo Peng
2019-04-28installer: Tell the user where the config file is....* gnu/installer/newt/final.scm (strip-prefix): New procedure. (run-config-display-page): Add a sentence showing where the config file is stored. Ludovic Courtès
2019-04-28installer: Fix handling of user password mismatches....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. Ludovic Courtès
2019-04-28installer: User accounts can now have a "real name."...* 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. Ludovic Courtès
2019-04-28installer: Improve layout of the partitioning page....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. Ludovic Courtès
2019-04-28installer: Recommended services are pre-selected....* 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. Ludovic Courtès
2019-04-28installer: Add #:selection parameter to 'run-checkbox-tree-page'....* gnu/installer/newt/page.scm (%none-selected): New variable. (run-checkbox-tree-page): Add #:selection. [fill-checkbox-tree]: Honor it. Ludovic Courtès
2019-04-27installer: Add missing i18n in the partitioning pages....* 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_'. Ludovic Courtès
2019-04-26installer: Actually reboot when the user presses "Reboot."...* 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. Ludovic Courtès
2019-04-25installer: Ask for confirmation of the user passwords....* gnu/installer/newt/user.scm (run-user-add-page): Add #:name and #:home-directory and honor them. Add call to 'confirm-password'. Ludovic Courtès
2019-04-25installer: Ask for confirmation of the root password....* gnu/installer/newt/user.scm (confirm-password): New procedure. (run-root-password-page): Add call to 'confirm-password'. Ludovic Courtès
2019-04-25installer: Use FLAG-PASSWORD for the encryption passphrase confirmation....* gnu/installer/newt/partition.scm (prompt-luks-passwords) <password-confirm-page>: Pass #:input-flags to 'run-input-page'. Ludovic Courtès
2019-04-25installer: Preserve order of user accounts....* gnu/installer/newt/user.scm (run-user-page): Add call to 'reverse'. Ludovic Courtès
2019-04-25installer: Ask for the root account password....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. Ludovic Courtès
2019-04-25installer: 'run-input-page' has a new #:input-flags parameter....* gnu/installer/newt/page.scm (run-input-page): Add #:input-flags and honor it. Ludovic Courtès
2019-04-25installer: Ask for user password and initialize /etc/shadow....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>. Ludovic Courtès
2019-04-25installer: Add missing 'G_' for networking message....* gnu/installer/newt/network.scm (wait-technology-powered): Add missing 'G_'. Ludovic Courtès
2019-04-23installer: Run 'guix system init' with the right locale....* 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'. Ludovic Courtès
2019-04-17installer: Sort keyboard layouts according to language and translations....Previously, we would always (1) put English first, and (2) sort the other layouts based on their English description. This fixes both issues. * gnu/installer/newt/keymap.scm (sort-layouts)[layout<?]: New procedure. [preferred]: New variable. Partition according to both the 'name' and 'synopsis' fields. Sort both the main layouts and the other layouts according to 'layout<?'. Ludovic Courtès
2019-04-17installer: Translate keyboard layout names....* gnu/installer.scm (installer-program)[installer-builder]: Call 'bindtextdomain' for "xkeyboard-config". * gnu/installer/newt/keymap.scm (run-keymap-page): Add calls to 'gettext'. Ludovic Courtès