me
/
guix
Archived
1
0
Fork 0
Commit Graph

289 Commits (e1bf05f1dbd312e6c670b66cbdb2499e377c4c49)

Author SHA1 Message Date
Maxim Cournoyer 65e8472a4b
system: Remove nss-certs from OS templates, adjust doc.
This is a follow-up to commit 86afaadb51 ("system: Add 'nss-certs' to
%base-packages-networking.")

* doc/guix-cookbook.texi (Running Guix on a Linode Server): Remove nss-certs
from operating system's packages field.
(Running Guix on a Kimsufi Server): Likewise.
* doc/guix.texi (Using the Configuration System): Likewise.
(X.509 Certificates): Adjust to mention nss-certs *is* part of %base-packages.
* gnu/installer/services.scm (%system-services): Remove recommendation to
install nss-certs.
* gnu/system/examples/bare-bones.tmpl (host-name): Remove obsolete comments.
* gnu/system/examples/desktop.tmpl (packages): Remove nss-certs.
* gnu/system/examples/lightweight-desktop.tmpl (packages): Likewise.
* gnu/system/examples/plasma.tmpl (packages): Likewise.
* gnu/system/examples/raspberry-pi-64-nfs-root.tmpl (packages): Likewise.
* gnu/system/examples/raspberry-pi-64.tmpl (packages): Likewise.
* gnu/system/examples/vm-image.tmpl (packages): Likewise.
* gnu/system/images/orangepi-r1-plus-lts-rk3328.scm (packages): Likewise.
* gnu/system/images/pine64.scm (packages): Likewise.
* gnu/system/install.scm (installation-os) [packages]: Likewise.

Change-Id: If09123a69b987178bcb0aab61c4570c14fc1286f
2024-04-18 10:43:06 -04:00
Christopher Baines ac19e038b4
Switch order of the default substitute servers.
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>
2024-04-03 17:18:38 +01:00
Denys Nykula 961ffca1c7
installer: Restore LatGrkCyr-8x16 console font depending on language.
Partially-Fixes: <https://issues.guix.gnu.org/64006>

* gnu/installer/services.scm (system-services->configuration): When the
LANGUAGE environment variable matches a known native console font, wrap the
base services with modify-services, configuring console-font-service-type to
set the native console font on every tty instead of the default console font.

Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2023-07-06 15:38:58 +02:00
Josselin Poiret d9d25bf517
installer: Filter out C.UTF-8 from the list of locales.
* gnu/installer/locale.scm (supported-locales->locales): Filter out C.UTF-8.  It
doesn't follow the other locales' format, and doesn't have a corresponding
iso639 code.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-30 23:11:09 +02:00
Ludovic Courtès 495c50008b
installer: final: Delete SQLite WAL and shm files upon completion.
Previously, db.sqlite-{wal,shm} could be left behind after stopping
guix-daemon.  When resuming installation, SQLite could end up behaving
as if transactions visible in the WAL file had been committed, in spite
of having restored SAVED-DATABASE.

Fixes <https://issues.guix.gnu.org/59784>.
Reported by pelzflorian (Florian Pelz) <pelzflorian@pelzflorian.de>.

* gnu/installer/final.scm (install-system): Before restarting
guix-daemon, delete db.sqlite-{wal,shm}.
2022-12-18 01:17:17 +01:00
Ludovic Courtès 9b6703eabe
installer: final: Stop guix-daemon before accessing store database.
As part of fixing <https://issues.guix.gnu.org/59784>, make sure
/var/guix/db.sqlite is only copied while guix-daemon is stopped.

* gnu/installer/final.scm (call-with-mnt-container): Add FIXME comment.
(install-system): Copy DATABASE-FILE and SAVED-DATABASE only when
'guix-daemon' is stopped.  Add logging lines.
2022-12-18 01:17:17 +01:00
Mathieu Othacehe 1ab48edb16
installer: Detect mapped installation devices.
Fixes: <https://issues.guix.gnu.org/59823>

* gnu/installer/parted.scm (mapped-device?,
mapped-device-parent-partition): New procedures.
(eligible-devices): Detect mapped installation devices using the new
procedures.
2022-12-10 11:23:27 +01:00
Ludovic Courtès 591af24ade
installer: Print progress bars and such as soon as \r is read.
Fixes <https://issues.guix.gnu.org/59922>.

Previously progress bars and related things would be buffered by
'run-external-command-with-line-hooks' until \n is read.

* gnu/installer/utils.scm (run-external-command-with-line-hooks): Use
'read-delimited' rather than 'get-line'.  Pass 'concat as the last
argument.
(%display-line-hook): Remove.
(run-command): Use 'display' instead of '%display-line-hook'.
(%syslog-line-hook): Add "\n" when LINE doesn't end in \n.
(%installer-log-line-hook): Do not add an extra newline.
(installer-log-line): Add an extra newline.
2022-12-09 17:49:22 +01:00
Ludovic Courtès 8c7ea71344
installer: Add comment above the 'packages' field.
* gnu/installer/services.scm (system-services->configuration): Add
heading above the 'packages' field.  Rename 'heading' to
'service-heading'.
2022-11-20 23:20:31 +01:00
Ludovic Courtès 514fedbf39
installer: Report known-unsupported PCI devices.
* 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.
2022-11-15 12:16:43 +01:00
Ludovic Courtès 6b39c3afcc
installer: Error page width is parameterized.
* gnu/installer/newt/page.scm (run-error-page): Add #:width and honor
it.
2022-11-15 12:16:43 +01:00
Ludovic Courtès 4f7ffb97a4
installer: Warn about hardware support after the welcome page.
This is a followup to 682639c107, 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.
2022-11-15 12:16:42 +01:00
Ludovic Courtès 0916a79f8c
installer: Remove unused variable.
* gnu/installer/newt.scm (newt-run-command): Remove
'displayed-command'.
2022-11-09 23:59:42 +01:00
Mathieu Othacehe 62a3756bd9
installer: Skip the backtrace page on user abort.
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.
2022-11-02 15:52:19 +01:00
Mathieu Othacehe 80387bc7c3
installer: Add core dump support.
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.
2022-11-02 15:52:19 +01:00
Mathieu Othacehe ab974ed709
installer: parted: Retry failing read-partition-uuid call.
Fixes: <https://issues.guix.gnu.org/53541>.

* gnu/installer/parted.scm (read-partition-uuid/retry): New procedure.
(check-user-partitions): Use it.
2022-10-31 09:34:13 +01:00
pelzflorian (Florian Pelz) 682639c107
installer: welcome: Warn when uvesafb gets used.
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.
2022-10-25 10:55:33 +02:00
Mathieu Othacehe bf5e78d59f
installer: Resume newt in exit-error procedure.
Fixes: <https://issues.guix.gnu.org/58734>

* gnu/installer/newt.scm (exit-error): Resume it.
2022-10-23 15:37:57 +02:00
Mathieu Othacehe 00ff6f7c39
installer: Add a missing confirmation page before formatting.
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.
2022-10-20 17:28:11 +02:00
Mathieu Othacehe 2a5c2a6184
installer: Propose the user to report a "guix system init" failure.
* gnu/installer/newt/final.scm (run-install-failed-page): Add a "Report the
failure" button.
2022-10-20 10:50:50 +02:00
Mathieu Othacehe 96bb00d203
installer: Run the "guix system init" command in a PTY.
Fixes: <https://issues.guix.gnu.org/55360>

* gnu/installer/utils.scm (run-external-command-with-handler/tty): New
procedure.
(run-external-command-with-line-hooks, run-command): Add a TTY? argument.
* gnu/installer/final.scm (install-system): Call run-command with TTY?
argument set to #true.
2022-10-20 10:50:50 +02:00
Andrew Tropin 883fb8f41b
installer: Factorize url-alive? in internet check.
* gnu/installer/newt/network.scm (wait-service-online): Factorize url-alive?
in internet check.
2022-10-17 16:34:07 +04:00
aleksandr barakin 094b357783
installer: Relax internet check availability criteria.
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>
2022-10-17 10:22:15 +04:00
Julien Lepiller 82b0f3755d
guix: Fix typos.
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.
2022-10-17 07:29:09 +02:00
Mathieu Othacehe 91d817cc17
installer: partition: Add a confirmation page before formatting.
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>
2022-10-13 10:48:08 +02:00
Mathieu Othacehe f38e91a84c
installer: tests: Fix typo.
* gnu/installer/tests.scm (edit-configuration-file): Fix it.
2022-09-24 14:15:47 +02:00
Mathieu Othacehe fe4663ae24
installer: Fix configuration edition during testing.
When the configuration is edited, it looks like there are some leftover
fragments from the input configuration:

Example content of config.scm after edition:

  #:imported-modules
  '((gnu services herd)
    (guix build utils)
    (guix combinators)))

unted".  The unique
  ;; file system identifiers there ("UUIDs") can be obtained
  ;; by running 'blkid' in a terminal.

...

This is strange because call-with-output-file uses the O_TRUNC flag which
resets the file size to zero. Remove the configuration file before writing it
as a work-around.

* gnu/installer/tests.scm (edit-configuration-file): Remove the configuration
file before re-writing it.
2022-09-24 12:48:16 +02:00
Josselin Poiret 2e8b4f9bfa
installer: Exit console-services page with abort-to-prompt.
* gnu/installer/newt/services.scm (run-console-services-cbt-page): Do it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-09-22 16:28:12 +02:00
Josselin Poiret fd942712d8
installer: Ensure luks devices are open when mounting partitions.
Partially-Fixes: <https://issues.guix.gnu.org/57983>

* gnu/installer/parted.scm (luks-ensure-open): New procedure.
(unmount-user-partitions): Ensure luks devices are open.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-09-22 16:27:19 +02:00
Josselin Poiret d77612a91b
installer: Return partitions with crypt password as step result.
* gnu/installer/newt/partition.scm (run-partitioning-page): Do it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-09-22 16:00:44 +02:00
Josselin Poiret 4814ec284f
installer: Move <secret> to utils and use it for crypt passwords.
* 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>
2022-09-22 16:00:29 +02:00
Josselin Poiret 4989f6acff
installer: Fix segfault on double logical partition removal.
* gnu/installer/parted.scm (auto-partition!): Avoid removing logical
partitions twice.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-09-01 18:43:28 +02:00
Tobias Geerinckx-Rice d59442f24e
installer: parted: Don't export WITH-DELAY-DEVICE-IN-USE?.
* gnu/installer/parted.scm: Remove WITH-DELAY-DEVICE-IN-USE? from the
module's export list.
2022-08-14 02:00:02 +02:00
Ludovic Courtès ff9522fb69
installer: Add comments and vertical space to the generated config.
* gnu/installer/parted.scm (user-partitions->configuration): Introduce
vertical space and a comment.
* gnu/installer/services.scm (G_): New macro.
(%system-services): Add comment for OpenSSH.
(system-services->configuration): Add vertical space and comments.
* gnu/installer/user.scm (users->configuration): Add comment.
* gnu/installer/steps.scm (format-configuration): Add comment.
(configuration->file): Expound leading comment.  Pass #:format-comment
to 'pretty-print-with-comments/splice'.
2022-08-08 11:54:25 +02:00
Ludovic Courtès cd1a98b928
installer: Render the final configuration with (guix read-print).
* gnu/installer.scm (module-to-import?): Return #t for (guix read-print).
* gnu/installer/steps.scm (configuration->file): Use
'pretty-print-with-comments/splice' instead of 'for-each' and 'pretty-print'.
2022-08-08 11:54:24 +02:00
Mathieu Othacehe 3c381af76a
installer: parted: Call set-system before set-flags.
Parted 3.5 introduces the following regression:

- partition-set-flag sets the BIOS_GRUB flag. The partition type is set to
PARTITION_BIOS_GRUB_GUID.

- partition-set-system resets the partition type to PARTITION_LINUX_DATA_GUID
undoing what's done by partition-set-flag.

To prevent it, reverse the call order.

Fixes: <https://issues.guix.gnu.org/55549>.

* gnu/installer/parted.scm (mkpart): Call partition-set-system before
partition-set-flag.
2022-08-05 08:57:20 +02:00
Mathieu Othacehe eb0277e7e3
installer: parted: Log partition flags.
* gnu/installer/parted.scm (mkpart): Log them.
2022-08-05 08:57:20 +02:00
Ludovic Courtès 48c748226e
Revert "installer: user: Remove useless filtering."
This reverts commit c2125e59d0.

Fixes <https://issues.guix.gnu.org/55361>.
2022-05-21 00:15:08 +02:00
Mathieu Othacehe c2125e59d0
installer: user: Remove useless filtering.
* gnu/installer/user.scm (users->configuration): Remove root account filtering
that is now performed in the "run-user-add-page" procedure.
2022-04-06 21:19:08 +02:00
Mathieu Othacehe 2bfb27af56
installer: user: Forbid root user creation.
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.
2022-04-06 21:19:07 +02:00
Maxim Cournoyer 0dc019e19a
initrd: Use non-hyphenated kernel command-line parameter names.
This is to make it less surprising, given the common convention sets forth by
the kernel Linux command-line parameters.

* gnu/build/linux-boot.scm (boot-system): Rename '--load', '--repl', '--root'
and '--system' to 'gnu.load', 'gnu.repl', 'root' and 'gnu.system',
respectively.  Adjust doc.
(find-long-option): Adjust doc.
* gnu/installer/parted.scm (installer-root-partition-path): Adjust accordingly.
* gnu/system.scm (bootable-kernel-arguments): Add a VERSION argument and
update doc.  Use VERSION to conditionally return old style vs new style initrd
arguments.
(%boot-parameters-version): Increment to 1.
(operating-system-boot-parameters): Adjust doc.
(operating-system-boot-parameters-file): Likewise.
* gnu/system/linux-initrd.scm (raw-initrd, base-initrd): Likewise.
* doc/guix.texi: Adjust doc.
* gnu/build/activation.scm (boot-time-system): Adjust accordingly.
* gnu/build/hurd-boot.scm (boot-hurd-system): Likewise.
* gnu/packages/commencement.scm (%final-inputs-riscv64): Adjust comment.
2022-03-01 10:30:17 -05:00
Florian Pelz cc11905568
installer: Continue even if Connman cannot phone home.
Connman's online check is unreliable for me.

* gnu/installer/connman.scm (connman-online?): Accept if
connman state is ready instead of online.
2022-02-26 15:56:55 +01:00
Josselin Poiret 4943ac86e4
installer: Use system-wide guix for system init.
* gnu/installer.scm (installer-program): Remove dependency on the guix
package for the PATH.
* gnu/installer/final.scm (install-system): Set PATH inside container
to /run/current-system/profile/bin/.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-02-02 16:46:44 +01:00
Josselin Poiret ad55ccf9b1
installer: Make dump archive creation optional and selective.
* 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>
2022-02-02 16:46:44 +01:00
Josselin Poiret 112ef30b84
installer: Turn passwords into opaque records.
* 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>
2022-02-02 16:46:44 +01:00
Josselin Poiret 7cbd95a9f6
installer: Add error page when running external commands.
* 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>
2022-02-02 16:46:44 +01:00
Josselin Poiret 726d0bd2f3
installer: Use named prompt to abort or break installer steps.
* 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>
2022-02-02 16:46:44 +01:00
Josselin Poiret ed6567abbf
installer: Replace run-command by invoke in newt/page.scm.
* gnu/installer/newt/page.scm (edit-file): Replace it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-02-02 16:46:43 +01:00
Josselin Poiret dad9a1c0b2
installer: Fix run-file-textbox-page when edit-button is #f.
* gnu/installer/newt/page.scm (run-file-textbox-page): Check if
edit-button is #f.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-02-02 16:46:43 +01:00
Josselin Poiret 0a74509a69
installer: Raise condition when mklabel fails.
* gnu/installer/parted.scm (mklabel): Do it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-02-02 16:46:43 +01:00