summaryrefslogtreecommitdiff
path: root/gnu/installer/newt
AgeCommit message (Collapse)Author
2020-11-08installer: Limit listbox height.Mathieu Othacehe
Fixes: <https://issues.guix.gnu.org/44428>. * gnu/installer/newt.scm (init): Print screen size. * gnu/installer/newt/page.scm (default-listbox-height): New variable. (run-listbox-selection-page): Use it. * gnu/installer/newt/wifi.scm (wifi-listbox-height): Ditto. * gnu/installer/newt/network.scm (run-technology-page): Set the maximum listbox height to 5. * gnu/installer/newt/ethernet.scm (run-ethernet-page): Ditto. * gnu/installer/newt/final.scm (run-config-display-page): Change listbox height. * gnu/installer/newt/partition.scm (run-disk-page): Ditto. * gnu/installer/newt/welcome.scm (display-logo?): New procedure. (run-menu-page): Use it. * gnu/installer/steps.scm (%configuration-file-width): Remove it.
2020-11-02installer: Report to the user the formatted partitions.Miguel Ángel Arruga Vivas
* gnu/installer/newt/partitions.scm (define-module): Use (ice-9 format). (draw-formatting-page): Add parameter partitions and provide the list of formatted partitions to the user. (run-partitioning-page): Provide user-partitions to draw-formatting-page.
2020-10-30installer: Use UUIDs in the 'swap-devices' field.Ludovic Courtès
Note: This change requires an updated 'guix' package that contains Linux-swap support in (gnu build file-systems). * gnu/installer/parted.scm (user-partitions->configuration): Use UUIDs in the 'swap-devices' field. * gnu/installer/newt/final.scm (run-final-page)[wait-for-clients]: New procedure. Use it. * gnu/installer/tests.scm (choose-partitioning): Wait for 'starting-final-step' message and move configuration file dialog handling to... (conclude-installation): ... here. Send over PORT the reply corresponding to 'starting-final-step'. * gnu/tests/install.scm (gui-test-program): When ENCRYPTED? is false, invoke 'swaplabel' in the marionette. (installation-target-os-for-gui-tests): When ENCRYPTED? is false, except a fixed UUID.
2020-10-28installer: Log partition formatting.Ludovic Courtès
* gnu/installer/newt/partition.scm (run-partitioning-page): Add 'syslog' call.
2020-10-23installer: Make the network management selection window tighter.Ludovic Courtès
* gnu/installer/newt/services.scm (run-network-management-page): Pass #:listbox-height.
2020-10-13installer: Add Emacs EXWM desktop environment.Jan (janneke) Nieuwenhuizen
Suggested by zenny via IRC. * gnu/installer/services.scm (%system-services): Add emacs, emacs-exwm, emacs-desktop-environment. * etc/release-manifest.scm (%system-packages): Likewise. * gnu/system/examples/lightweight-desktop.tmpl: Likewise. * gnu/tests/install.scm (installation-target-desktop-os-for-gui-tests) [packages]: Likewise * gnu/installer/newt/services.scm (run-desktop-environments-cbt-page): Make one entry taller.
2020-09-21installer: Rename RUN-PARTIONING-PAGE.Tobias Geerinckx-Rice
* gnu/installer/newt/partition.scm (run-partioning-page): Rename to run-partitioning-page. Adjust all callers.
2020-09-21installer: Fix docstring typoes.Tobias Geerinckx-Rice
* gnu/installer/connman.scm (connman-state, run-locale-page) (start-swapping, stop-swapping, run-installer-steps): Fix typo in docstring.
2020-09-02installer: Run the installation inside a container.Mathieu Othacehe
When the store overlay is mounted, other processes such as kmscon, udev and guix-daemon may open files from the store, preventing the underlying install support from being umounted. See: https://lists.gnu.org/archive/html/guix-devel/2018-12/msg00161.html. To avoid this situation, mount the store overlay inside a container, and run the installation from within that container. * gnu/build/shepherd.scm (fork+exec-command/container): New procedure. * gnu/services/base.scm (guix-shepherd-service): Support an optional PID argument passed to the "start" method. If that argument is passed, ensure that guix-daemon enters the given PID MNT namespace by using fork+exec-command/container procedure. * gnu/installer/final.scm (umount-cow-store): Remove it, (install-system): run the installation from within a container. * gnu/installer/newt/final.scm (run-install-shell): Remove the display hack.
2020-07-26installer: Add NTFS support.Mathieu Othacehe
This adds support for creating and editing NTFS partitions. It is however not possible yet to create root NTFS partitions, as overlaying on top of a fuse partition does not seem supported. * gnu/installer.scm (installer-program): Add "ntfs-3g" to the inputs. * gnu/installer/parted.scm (user-fs-type-name, user-fs-type->mount-type, partition-filesystem-user-type, create-ntfs-file-system, format-user-partitions): Add NTFS support. * gnu/installer/newt/partition.scm (run-fs-type-page): Add NTFS support.
2020-06-14installer: final: Make sure 'bold' font files are loaded.Mathieu Othacehe
* gnu/installer/newt/final.scm (run-install-shell): Force kmscon to open 'bold' font files, before the cow-store overlay is mounted.
2020-04-09installer: Include empty variant in keyboard layout selection.Florian Pelz
Previously for Azerbaijani, no Latin layout but only the Cyrillic variant could be selected. * gnu/installer/newt/keymap.scm (add-empty-variant): New procedure. (run-keymap-page): Use it to insert an empty variant.
2020-04-09installer: Allow Alt+Shift toggle from non-Latin keyboard layouts.Florian Pelz
Fixes <https://bugs.gnu.org/40493>. * gnu/installer/newt/keymap.scm (%non-latin-layouts): New variable. (%non-latin-variants): New variable. (%latin-layout+variants): New variable. (toggleable-latin-layout): New procedure to compute combined layouts. (run-keymap-page): Use it. (keyboard-layout->configuration): Apply it in config.scm. (run-layout-page): Mention Alt+Shift. * gnu/installer/keymap.scm (kmscon-update-keymap): Pass on XKB options. * gnu/installer/record.scm (<installer>): Adjust code comments. * gnu/installer.scm (apply-keymap): Pass on XKB options. (installer-steps): Adjust code comments. * gnu/packages/patches/kmscon-runtime-keymap-switch.patch: Apply XKB options.
2020-04-08installer: Add proxy support.Mathieu Othacehe
* gnu/installer/proxy.scm: New file. * gnu/local.mk (INSTALLER_MODULES): Add it. * po/guix/POTFILES.in: Add it. * gnu/installer/newt/parameters.scm (run-proxy-page): New procedure, (run-parameters-page): add the previous procedure to the parameters menu.
2020-04-08installer: Turn help menu into parameters menu.Mathieu Othacehe
* gnu/local.mk (INSTALLER_MODULES): Rename help.scm into parameters.scm. * po/guix/POTFILES.in: Ditto. * gnu/installer/record.scm (<installer>): Rename help-menu into parameter-menu and help-page into parameters-page. * gnu/installer/newt/parameters.scm: Renamed from help.scm. Update information messages. * gnu/installer/newt.scm: Update accordingly. * gnu/installer/newt/keymap.scm: Ditto.
2020-04-07installer: Reduce height of the help window.Ludovic Courtès
* gnu/installer/newt/help.scm (run-help-page): Pass #:listbox-height.
2020-04-06installer: Adapt to Guile-newt revision 2.Mathieu Othacehe
* gnu/installer/newt/page.scm (run-input-page): Remove component argument that is not longer passed to the procedure passed to 'add-component-callback', (run-listbox-selection-page): ditto. * gnu/installer/newt/user.scm (run-user-add-page): Ditto, (run-user-add-page): ditto.
2020-04-06installer: Add a help page.Mathieu Othacehe
* gnu/installer/newt/help.scm: New file. * gnu/local.mk (INSTALLER_MODULES): Add it. * po/guix/POTFILES.in: Add it. * gnu/installer/record.scm (<installer>): Add 'help-menu' and 'help-page' fields, (installer-help-menu, installer-help-page): new exported procedures. * gnu/installer/newt.scm (init): Set the help line, (help-menu, help-page): new procedures used ... (newt-installer): ... here. * gnu/installer/newt/keymap.scm (run-layout-page): Add a context argument to differenciate the help context from the main one, (run-keymap-page): add a context argument and pass it to run-layout-page. * gnu/installer.scm (compute-keymap-step): Add a context argument and pass it to 'installer-keymap-page', (installer-steps): set the help menu and pass the appropriate context to compute-keymap-step calls, (guile-newt): update to revision 2.
2020-03-05installer: Run commands without hopping through the shell.Ludovic Courtès
* 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.
2020-03-05installer: Bypass connectivity check when /tmp/installer-assume-online exists.Ludovic Courtès
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?'.
2020-03-05installer: Implement a dialog on /var/guix/installer-socket.Ludovic Courtès
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.
2020-02-12installer: Fix installer restart dialog.Mathieu Othacehe
* 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.
2020-01-23installer: Make "TRANSLATORS" comment visible.Ludovic Courtès
* gnu/installer/newt/user.scm (run-root-password-page): Move "TRANSLATORS" comment right above 'G_' call.
2020-01-20installer: Disable F12 hot key.Ludovic Courtès
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'.
2020-01-20installer: Makes sure the installer proceeds after hitting "Edit".Ludovic Courtès
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'.
2020-01-12installer: Add an "Edit" button on the final page.Ludovic Courtès
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'.
2020-01-05installer: Add JFS support.Tobias Geerinckx-Rice
* 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.
2019-09-25installer: Update to Guile-Parted 0.0.2 release.Mathieu Othacehe
* 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*.
2019-09-23installer: Fix run-input-page calls.Mathieu Othacehe
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?.
2019-08-26installer: Hide the Wi-Fi passphrase by default.Tobias Geerinckx-Rice
* gnu/installer/newt/wifi.scm (run-wifi-password-page): Add an #:INPUT-VISIBILITY-CHECKBOX? to the input page.
2019-08-26installer: Show, don't Hide.Tobias Geerinckx-Rice
* 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?.
2019-06-08installer: Fix typo.Tobias Geerinckx-Rice
* gnu/installer/newt/network.scm (run-technology-page): Fix plural typo.
2019-05-29installer: Fix wifi menu crash with hidden SSIDs.Mathieu Othacehe
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>
2019-05-19installer: Fix Guile-Parted crash on i686.v1.0.1Ludovic Courtès
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>
2019-05-15installer: Rename 'auto-partition' to 'auto-partition!'.Ludovic Courtès
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.
2019-05-15installer: Mount ESP once only.Ludovic Courtès
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.
2019-05-14installer: Add fat16.Danny Milosavljevic
* gnu/installer/newt/partition.scm (run-fs-type-page): Add fat16.
2019-05-14installer: Reflow run-file-textbox-page text.Mathieu Othacehe
* gnu/installer/newt/page.scm (run-file-textbox-page): Reflow text. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-05-14installer: Allow for arbitrary long passphrases and passwords.Ludovic Courtès
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.
2019-05-09installer: Add missing 'G_' call.Ludovic Courtès
* gnu/installer/newt/user.scm (run-user-page): Add 'G_' call for "User creation".
2019-05-07installer: "Exit" button in user page actually exits.Ludovic Courtès
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.
2019-05-07installer: Add password 'hide' checkbox.Mathieu Othacehe
* 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.
2019-05-06installer: Skip network selection dialogs when there is no choice.Ludovic Courtès
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.
2019-05-06installer: Shrink simple listboxes to their minimum height.Ludovic Courtès
* 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.
2019-05-06installer: Do not sort methods on the partitioning page.Ludovic Courtès
* gnu/installer/newt/partition.scm (run-partioning-page): Pass #:sort-listbox-items? #f so that methods always appear in the same order.
2019-05-06installer: Widen user dialog.Ludovic Courtès
* gnu/installer/newt/user.scm (run-user-add-page)[pad-label]: Increase 2nd argument to 25. [entry-width]: Increase to 35.
2019-05-05installer: Fix typo.Miguel
* gnu/installer/newt/menu.scm (run-menu-page): Add missing space after period. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-05-03installer: Do not sort the guided partition schemes in the selection page.Ludovic Courtès
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'.
2019-04-29installer: Fix typo in docstring.Meiyo Peng
* gnu/installer/newt/wifi.scm (draw-scanning-page): Fix typo in docstring. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-04-28installer: Tell the user where the config file is.Ludovic Courtès
* gnu/installer/newt/final.scm (strip-prefix): New procedure. (run-config-display-page): Add a sentence showing where the config file is stored.