aboutsummaryrefslogtreecommitdiff
path: root/gnu/installer/newt
Commit message (Collapse)AuthorAge
* Switch order of the default substitute servers.Christopher Baines2024-04-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | The aim here is to improve the user experience. There's anecdotal evidence that the network performance for bordeaux is better compared to ci at least for some users, and I don't know of any issues with rate limiting or access restriction for bordeaux compared to ci. It also has IPv6 support. Additionally, bordeaux generally had more substitutes than ci, particularly for aarch64-linux and armhf-linux. This change will offer a very slight speedup for those substitutes that only bordeaux has. Bordeaux has been a default substitute server for nearly 3 years now and I think this change is overdue. I'm also hopeful that we'll be able to build on the testing regarding mirrors for bordeaux, and that'll allow potentially improving the hosting setup (through providing more redundancy) and further improving substitute fetching for users who currently have issues with substitute access. * config-daemon.ac: Switch substitute urls order. * doc/guix.texi: Ditto. * etc/guix-install.sh: Ditto. * gnu/installer/newt/network.scm (wait-service-online): Ditto. * guix/store.scm (%default-substitute-urls): Ditto. Change-Id: I4f6d93ae1fc8b03d80b47b18b5749a51f1fde17b Signed-off-by: Christopher Baines <mail@cbaines.net>
* installer: Report known-unsupported PCI devices.Ludovic Courtès2022-11-15
| | | | | | | | | | | | | | | | | * gnu/installer/hardware.scm: New file. * gnu/local.mk (INSTALLER_MODULES): Add it. * po/guix/POTFILES.in: Add it. * gnu/installer.scm (installer-steps): Pass #:pci-database to the 'welcome' step procedure. * gnu/installer/newt.scm (welcome-page): Add #:pci-database and pass it to 'run-welcome-page'. * gnu/installer/newt/welcome.scm (check-hardware-support): Add #:pci-database. Enumerate unsupported PCI devices and run an error page when unsupported devices are found. (run-welcome-page): Add #:pci-database and pass it to 'check-hardware-support' and to the recursive call. * gnu/installer/record.scm (<installer>)[welcome-page]: Adjust comment. * doc/guix.texi (Hardware Considerations): Mention it.
* installer: Error page width is parameterized.Ludovic Courtès2022-11-15
| | | | | * gnu/installer/newt/page.scm (run-error-page): Add #:width and honor it.
* installer: Warn about hardware support after the welcome page.Ludovic Courtès2022-11-15
| | | | | | | | | This is a followup to 682639c107908426fe6bf0a1b8404b98b7820290, which added the uvesafb upfront, before welcome page had been displayed. * gnu/installer/newt/welcome.scm (check-hardware-support): New procedure. (run-welcome-page): Use it.
* installer: Skip the backtrace page on user abort.Mathieu Othacehe2022-11-02
| | | | | | | | | | | | | | | When the user aborts the installation because a core dump is discovered or the installation command failed, displaying the abort backtrace doesn't make much sense. Hide it when the abort condition is &user-abort-error and skip directly to the dump page. * gnu/installer/steps.scm (&user-abort-error): New variable. (user-abort-error?): New procedure. * gnu/installer/newt/final.scm (run-install-failed-page): Raise a user-abort-error. * gnu/installer/newt/welcome.scm (run-welcome-page): Ditto. * gnu/installer.scm (installer-program): Hide the backtrace page and directly propose to dump the report when the a &user-abort-error is raised.
* installer: Add core dump support.Mathieu Othacehe2022-11-02
| | | | | | | | | | Fixes: <https://issues.guix.gnu.org/58733> * gnu/installer.scm (installer-program): Enable core dump generation. * gnu/installer/dump.scm (%core-dump): New variable. (prepare-dump): Copy the core dump file. * gnu/installer/newt/welcome.scm (run-welcome-page): Propose to report an installation that previously generated a core dump.
* installer: welcome: Warn when uvesafb gets used.pelzflorian (Florian Pelz)2022-10-25
| | | | | | | | | | There will be false positives: Because the Guix installer uses the kernel argument modprobe.blacklist=radeon,amdgpu and some AMD graphics actually work okay according to h-node, these users will get a false alarm. * gnu/installer/newt/welcome.scm (run-welcome-page): Warn before showing the welcome page.
* installer: Add a missing confirmation page before formatting.Mathieu Othacehe2022-10-20
| | | | | | | This is a follow-up of: <https://issues.guix.gnu.org/57232> * gnu/installer/newt/partition.scm (run-label-page): Add a confirmation page when dealing with an EFI installation.
* installer: Propose the user to report a "guix system init" failure.Mathieu Othacehe2022-10-20
| | | | | * gnu/installer/newt/final.scm (run-install-failed-page): Add a "Report the failure" button.
* installer: Factorize url-alive? in internet check.Andrew Tropin2022-10-17
| | | | | * gnu/installer/newt/network.scm (wait-service-online): Factorize url-alive? in internet check.
* installer: Relax internet check availability criteria.aleksandr barakin2022-10-17
| | | | | | | | | | | Checks the availability of the mirror bordeaux.guix.gnu.org in addition to ci.guix.gnu.org. This allows to proceed the installation if the ci.guix.gnu.org is unavailable. * gnu/installer/newt/network.scm (wait-service-online): Relax internet check availability criteria. Signed-off-by: Andrew Tropin <andrew@trop.in>
* guix: Fix typos.Julien Lepiller2022-10-17
| | | | | | | | | | | | | | | | | These typos were found and reported through weblate. * gnu/packages/audio.scm (wildmidi)[description]: Fix typo. * gnu/packages/games.scm (cgoban)[description]: Fix typo. * gnu/services/version-control.scm (gitolite-service-type)[description]: Fix typo. * gnu/installer/newt/substitutes.scm (run-substitutes-page): Remove full stop at end of title. * gnu/machine/ssh.scm (machine-ssh-configuration-system): Move punctuation outside of quotes. * guix/scripts/home.scm (process-action): Remove trailing space before newline. * guix/scripts/system.scm (show-help): Fix typo. * guix/scripts/environment.scm (with-store/maybe): Fix typo.
* installer: partition: Add a confirmation page before formatting.Mathieu Othacehe2022-10-13
| | | | | | | | | | Fixes: <https://issues.guix.gnu.org/57232>. * gnu/installer/newt/partition.scm (run-label-confirmation-page): New procedure. (run-label-page): Call the above procedure before proceeding. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* installer: Exit console-services page with abort-to-prompt.Josselin Poiret2022-09-22
| | | | | | * gnu/installer/newt/services.scm (run-console-services-cbt-page): Do it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* installer: Return partitions with crypt password as step result.Josselin Poiret2022-09-22
| | | | | | * gnu/installer/newt/partition.scm (run-partitioning-page): Do it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* installer: Move <secret> to utils and use it for crypt passwords.Josselin Poiret2022-09-22
| | | | | | | | | | | | * gnu/installer/user.scm (<secret>, secret?, make-secret, secret-content): Move to utils.scm. * gnu/installer/utils.scm (<secret>, secret?, make-secret, secret-content): Moved from user.scm. * gnu/installer/newt/partition.scm (prompt-luks-passwords): Make password a <secret>. * gnu/installer/parted.scm (luks-format-and-open): Unwrap secret. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* installer: user: Forbid root user creation.Mathieu Othacehe2022-04-06
| | | | | | | | | Forbid root user creation as it could lead to a system without any non-priviledged user accouts. Fixes: <https://issues.guix.gnu.org/54666>. * gnu/installer/newt/user.scm (run-user-add-page): Forbid it.
* installer: Make dump archive creation optional and selective.Josselin Poiret2022-02-02
| | | | | | | | | | | | | | | | | | * gnu/installer.scm (installer-program): Let the installer customize the dump archive. * gnu/installer/dump.scm (prepare-dump, make-dump): Split make-dump in prepare-dump, which copies the files necessary for the dump, and make-dump which creates the archive. * gnu/installer/record.scm (installer): Add report-page field. Change documented return value of exit-error. * gnu/installer/newt.scm (exit-error): Change arguments to be a string containing the error. Let the user choose between exiting and initiating a dump. (report-page): Add new variable. * gnu/installer/newt/page.scm (run-dump-page): New variable. * gnu/installer/newt/dump.scm: Delete it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* installer: Turn passwords into opaque records.Josselin Poiret2022-02-02
| | | | | | | | | | | * gnu/installer/user.scm (<secret>, secret?, make-secret, secret-content): Add opaque <secret> record that boxes its contents, with a custom printer that doesn't display anything. * gnu/installer/newt/user.scm (run-user-add-page, run-user-page): Box it. * gnu/installer/final.scm (create-user-database): Unbox it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* installer: Add error page when running external commands.Josselin Poiret2022-02-02
| | | | | | | | * gnu/installer/newt.scm (newt-run-command): Add it. * gnu/installer/newt/page.scm (%ok-button, %exit-button, %default-buttons, make-newt-buttons, run-textbox-page): Add them. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* installer: Use named prompt to abort or break installer steps.Josselin Poiret2022-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/installer/steps.scm (run-installer-steps): Set up 'installer-step prompt. * gnu/installer/newt/ethernet.scm (run-ethernet-page) * gnu/installer/newt/final.scm (run-config-display-page, run-install-failed-page) * gnu/installer/newt/keymap.scm (run-layout-page, run-variant-page) * gnu/installer/newt/locale.scm (run-language-page, run-territory-page, run-codeset-page, run-modifier-page, run-locale-page) * gnu/installer/newt/network.scm (run-technology-page, wait-service-online) * gnu/installer/newt/page.scm (run-listbox-selection-page, run-checkbox-tree-page) * gnu/installer/newt/partition.scm (button-exit-action) * gnu/installer/newt/services.scm (run-desktop-environments-cbt-page, run-networking-cbt-page, run-other-services-cbt-page, run-network-management-page) * gnu/installer/newt/timezone.scm (run-timezone-page) * gnu/installer/newt/user.scm (run-user-page) * gnu/installer/newt/welcome.scm (run-menu-page) * gnu/installer/newt/wifi.scm (run-wifi-page): Use the 'installer-step prompt to abort. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* installer: Replace run-command by invoke in newt/page.scm.Josselin Poiret2022-02-02
| | | | | | * gnu/installer/newt/page.scm (edit-file): Replace it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* installer: Fix run-file-textbox-page when edit-button is #f.Josselin Poiret2022-02-02
| | | | | | | * gnu/installer/newt/page.scm (run-file-textbox-page): Check if edit-button is #f. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* installer: Use new installer-log-line everywhere.Josselin Poiret2022-02-02
| | | | | | | | | | | | | | | | * gnu/installer.scm (installer-program) * gnu/installer/final.scm (install-locale) * gnu/installer/newt.scm (init) * gnu/installer/newt/final.scm (run-final-page) * gnu/installer/newt/page.scm (run-form-with-clients) * gnu/installer/newt/partition.scm (run-partitioning-page) * gnu/installer/parted.scm (eligible-devices, mkpart, luks-format-and-open, luks-close, mount-user-partitions, umount-user-partitions, free-parted): * gnu/installer/steps.scm (run-installer-steps): * gnu/installer/utils.scm (run-command, send-to-clients): Use it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* installer: Add crash dump upload support.Mathieu Othacehe2022-02-02
| | | | | | | | | | | | | | | | | | Suggested-by: Josselin Poiret <dev@jpoiret.xyz> * gnu/installer/dump.scm: New file. * gnu/installer/newt/dump.scm: New file. * gnu/local.mk (INSTALLER_MODULES): Add them. * gnu/installer/record.scm (<installer>)[dump-page]: New field. * gnu/installer/steps.scm (%current-result): New variable. (run-installer-steps): Update it. * gnu/installer.scm (installer-program): Add tar and gip to the installer path. Add guile-webutils and gnutls to the Guile extensions. Generate and send the crash dump report. * gnu/installer/newt.scm (exit-error): Add a report argument. Display the report id. (dump-page): New procedure. (newt-installer): Update it.
* installer: Check if ci.guix.gnu.org can be reached.Mathieu Othacehe2022-01-14
| | | | | | * gnu/installer.scm (installer-program): Add gnutls extension. * gnu/installer/newt/network.scm (wait-service-online): Check if the CI server can be reached.
* installer: Ignore small devices.Mathieu Othacehe2022-01-14
| | | | | | | | | | Filter the devices that are smaller than 2GiB in the device selection list. * gnu/installer/parted.scm (%min-device-size): New variable. (non-install-devices): Rename it ... (eligible-devices): ... this way. Filter the install device as well as the small devices. * gnu/installer/newt/partition.scm (run-partitioning-page): Adapt it.
* installer: Recommend 'ntp-service-type' for non-graphical systems.Leo Famulari2021-12-28
| | | | | | | | | | | | | | | | We had several bug reports with a root cause of "the clock was incorrect" from users who used the installer to install a non-graphical Guix System. * gnu/installer/services.scm (%system-services): Add the ntp-service-type. * gnu/installer/newt/services.scm (run-system-administration-cbt-page): New variable. (run-services-page): Use run-system-administration-cbt-page when not installing a desktop. * gnu/installer/tests.scm (choose-services): Add and use a choose-misc-service? procedure. * gnu/tests/install.scm (installation-target-os-for-gui-tests)<services>: Add ntp-service-type.
* installer: Offer the CUPS printing service on a dedicated page.Leo Famulari2021-12-28
| | | | | | | | | | | | | | | | | | | | | | | | Currently, the installer page RUN-OTHER-SERVICES-CBT-PAGE offers to the user all installer services that are not of the types 'desktop', 'network-management', or 'networking'. Concretely, this means that it offers the CUPS printing service, because that is the only service of a different type defined in the installer. In later commits, we will add some services of a new type, and we only want them to be offered when the user is installing a non-graphical system. At least one of these new services (NTP) is part of %DESKTOP-SERVICES. If it was also offered on RUN-OTHER-SERVICES-CBT-PAGE, and the user had configured a system using %DESKTOP-SERVICES, the user could accidentally add NTP to their services twice, which is an error and would break installation. So, this commit makes the RUN-OTHER-SERVICES-CBT-PAGE be more specific about what services to offer. This makes it easier to discriminate between desktop and non-desktop installations, in terms of when a given service is offered. * gnu/installer/newt/services.scm (RUN-OTHER-SERVICES-CBT-PAGE): Rename to ... (RUN-PRINTING-SERVICES-CBT-PAGE): ... new variable, and select only 'document' services. (RUN-SERVICES-PAGE): Adjust accordingly. * gnu/installer/tests.scm (CHOOSE-SERVICES): Adjust accordingly.
* installer: Reorder file system type listbox.Tobias Geerinckx-Rice2021-10-21
| | | | | | | | | | | | | | | Recommending ext4 over btrfs is probably ill-advised nowadays. See the regular bug reports about running out of /gnu/store directory entries, for which the documented fix then breaks booting with GRUB. Instead, just list regular file systems alphabetically. We can bikeshed bcachefs later ;-) Move second-class file systems like NTFS to their own section at the end of the list. * gnu/packages/package-management.scm (run-fs-type-page): Reorder the LISTBOX-ITEMS.
* installer: Support XFS.Tobias Geerinckx-Rice2021-09-23
| | | | | | | | | | * gnu/installer/newt/partition.scm (run-fs-type-page): Add ‘xfs’ to the list box. * gnu/installer/parted.scm (user-fs-type-name, user-fs-type->mount-type) (partition-filesystem-user-type): Add ‘xfs’ mapping. (create-xfs-file-system): New procedure. (format-user-partitions): Use it. * gnu/installer.scm (set-installer-path): Add xfsprogs.
* installer: Offer the CUPS printing service.Tobias Geerinckx-Rice2021-06-30
| | | | | | | * gnu/installer/services.scm (%system-services): Add CUPS. * gnu/installer/newt/services.scm (run-other-services-cbt-page): New procedure. (run-services-page): Call it last.
* installer: Fix crash when deleting a free space partition.Mathieu Othacehe2021-06-29
| | | | | | | Fixes: <https://issues.guix.gnu.org/49126>. * gnu/installer/newt/partition.scm (run-disk-page): Fix the return value when removing a free space partition.
* installer: Check partitions UUIDs.Mathieu Othacehe2021-06-12
| | | | | | | | | * gnu/installer/parted.scm (&cannot-read-uuid): New condition. (cannot-read-uuid?, cannot-read-uuid-partition): New procedures. (check-user-partitions): Check that all user-partitions have a valid UUID, raide the above condition otherwise. * gnu/installer/newt/partition.scm (run-disk-page): Run an error page if the &cannot-read-uuid condition is raised.
* installer: Print user partitions.Mathieu Othacehe2021-06-12
| | | | | * gnu/installer/newt/partition.scm (run-partitioning-page): Print user-partitions to syslog.
* installer: Force GPT disk label when UEFI is supported.Mathieu Othacehe2021-04-28
| | | | | * gnu/installer/newt/partition.scm (run-label-page): Force the GPT disk label when UEFI is supported.
* installer: Edit desktop selection prompt.Tobias Geerinckx-Rice2021-01-31
| | | | | * gnu/installer/newt/services.scm (run-desktop-environments-cbt-page): Fix and clarify the #:info-text.
* installer: Fix crash in parameters menu.Mathieu Othacehe2021-01-12
| | | | | | | | | | | Fixes: <https://issues.guix.gnu.org/45378>. * gnu/installer/newt/keymap.scm (run-layout-page): Return false when "Continue" button is pressed. (run-keymap-page): Do not try to compute variants if layout is false. Also do not try to format the result if layout is false. * gnu/installer.scm (compute-keymap-step): Do not apply keymap if "run-keymap-page" returns false.
* install: Discover local substitute servers.Mathieu Othacehe2020-12-11
| | | | | | | | | | | | | | | | * gnu/installer/substitutes.scm: New file. * gnu/installer/newt/substitutes.scm: New file. * gnu/local.mk (INSTALLER_MODULES): Add them. * po/guix/POTFILES.in: Add gnu/installer/newt/substitutes.scm. * gnu/installer/proxy.scm (with-silent-shepherd): Move to ... * gnu/installer/utils.scm: ... here. * gnu/installer/record.scm (<installer>)[substitutes-page]: New field. * gnu/installer/newt.scm (substitutes-page): New procedure, (newt-installer): register it. * gnu/installer.scm (installer-steps): Add "substitutes-page" step. * gnu/system/install.scm (%installation-services): Add avahi-service-type and enable substitute server discover in guix-service-type. [<name-service-switch>]: Set it to %mdns-host-lookup-nss.
* installer: parameters: Add a reboot button.Mathieu Othacehe2020-11-07
| | | | | | | Suggested by: zimoun <zimon.toutoune@gmail.com>. * gnu/installer/newt/parameters.scm (run-parameters-page): Add a reboot button.
* installer: Edit partitioning warning message.Mathieu Othacehe2020-11-07
| | | | | * gnu/installer/newt/partition.scm (draw-formatting-page): Add an extra new line.
* installer: Limit listbox height.Mathieu Othacehe2020-11-07
| | | | | | | | | | | | | | | | | | 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.
* installer: Report to the user the formatted partitions.Miguel Ángel Arruga Vivas2020-11-02
| | | | | | | * 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.
* installer: Use UUIDs in the 'swap-devices' field.Ludovic Courtès2020-10-30
| | | | | | | | | | | | | | | | | | | 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.
* installer: Log partition formatting.Ludovic Courtès2020-10-28
| | | | * gnu/installer/newt/partition.scm (run-partitioning-page): Add 'syslog' call.
* installer: Make the network management selection window tighter.Ludovic Courtès2020-10-23
| | | | | * gnu/installer/newt/services.scm (run-network-management-page): Pass #:listbox-height.
* installer: Add Emacs EXWM desktop environment.Jan (janneke) Nieuwenhuizen2020-10-13
| | | | | | | | | | | | | 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.
* installer: Rename RUN-PARTIONING-PAGE.Tobias Geerinckx-Rice2020-09-21
| | | | | * gnu/installer/newt/partition.scm (run-partioning-page): Rename to run-partitioning-page. Adjust all callers.
* installer: Fix docstring typoes.Tobias Geerinckx-Rice2020-09-21
| | | | | | * gnu/installer/connman.scm (connman-state, run-locale-page) (start-swapping, stop-swapping, run-installer-steps): Fix typo in docstring.
* installer: Run the installation inside a container.Mathieu Othacehe2020-09-02
| | | | | | | | | | | | | | | | | | | 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.