summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* installer: partionment: Add encryption support.Mathieu Othacehe2019-01-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/installer.scm (set-installer-path): Add cryptsetup. * gnu/installer/newt/partition.scm (prompt-luks-passwords): New procedure, (run-partioning-page): Add the possibility to set encryption to "On" on a partition and choose a label, add a new partition scheme: "Guided - using the entire disk with encryption", prompt for encryption passwords before proceeding to formating. * gnu/installer/parted.scm (<user-partition>)[crypt-label], [crypt-password]: New fields, (partition-description): add the encryption label, (user-partition-description): add an encryption field, (auto-partition): add two partitioning schemes: entire-crypted-root and entire-crypted-root-home, (call-with-luks-key-file): new procedure, (user-partition-upper-path): new procedure, (luks-format-and-open): new procedure, (luks-close): new procedure, (format-user-partitions): format and open luks partitions before creating file-system. (mount-user-partitions): use the path returned by user-partition-upper-path, (umount-user-partitions): close the luks partitions, (user-partition->file-system): set device field to label for luks partitions and to uuid for the rest, (user-partition->mapped-device): new procedure, (user-partitions->configuration): add mapped-devices field.
* installer: partition: Fix typo.Mathieu Othacehe2019-01-17
| | | | * gnu/installer/newt/partition.scm (run-disk-page): Fix typo.
* installer: partition: Fix swaping and use syscalls.Mathieu Othacehe2019-01-17
| | | | | | | | | * gnu/installer/parted.scm (start-swaping): Remove it, (stop-swaping): Remove it, (start-swapping): New procedure using swapon syscall, (stop-swapping): New procedure using swapoff syscall, (with-mounted-partitions): Use previous start-swapping and stop-swapping procedures.
* installer: menu: Fix typo.Mathieu Othacehe2019-01-17
| | | | * gnu/installer/newt/menu.scm (run-menu-page): Fix typo.
* installer: partition: Precise when using Manual/Guided partionment.Mathieu Othacehe2019-01-17
| | | | | | * gnu/installer/newt/partition.scm (run-disk-page)[guided?]: New argument. Use guided? to determine if we are proceeding to a guided or a manuel partitioning and precise it the title and info-text.
* installer: Display an eventual backtrace in a page.Mathieu Othacehe2019-01-17
| | | | | | * gnu/installer.scm (installer-program): Write the backtrace in "/tmp/last-installer-error" and pass the filename to installer-exit-error. * gnu/installer/newt.scm (exit-error): Display the file passed above in a textbox.
* installer: Make exit button optional for run-file-textbox-page.Mathieu Othacehe2019-01-17
| | | | * gnu/installer/newt/page.scm (run-file-textbox-page)[exit-button?]: New argument.
* installer: Make sure every sentence is dot terminated.Mathieu Othacehe2019-01-17
| | | | | | | | | gnu/installer/newt/hostname.scm: Finish sentences by a dot. gnu/installer/newt/network.scm: Ditto. gnu/installer/newt/page.scm: Ditto. gnu/installer/newt/partition.scm: Ditto. gnu/installer/newt/user.scm: Ditto. gnu/installer/newt/wifi.scm: Ditto.
* installer: partition: Differenciate Back button from Exit button.Mathieu Othacehe2019-01-17
| | | | | | * gnu/installer/newt/partition.scm (run-label-page): Pass the button text as an argument, (run-disk-page): Call run-label-page with the appropriate button text.
* installer: network: Do not show an empty technology list.Mathieu Othacehe2019-01-17
| | | | | | | | If no technology is detected, ask the user if he prefers to continue or to exit the installer. * gnu/installer/newt/network.scm (run-technology-page): Run a choice-window if technology-items procedure returns an empty list.
* installer: keymap: Fix keymap selection of layouts with not variant.Mathieu Othacehe2019-01-17
| | | | | * gnu/installer/newt/keymap.scm (run-keymap-page): Test if the layout has no variant at 'variant step, instead of raising a condition at 'layout step.
* installer: keymap: Do not fail on non-kmscon terminals.Mathieu Othacehe2019-01-17
| | | | | | | | | kmscon-update-keymap fails on non kmscon terminals because KEYMAP_UPDATE environment variable is not defined. As it is convenient to test the installer on a regular terminal, do nothing if KEYMAP_UPDATE is missing. * gnu/installer/keymap.scm (kmscon-update-keymap): Do nothing if KEYMAP_UPDATE is not defined.
* installer: Turn "Cancel" buttons into "Exit" buttons.Mathieu Othacehe2019-01-17
| | | | | | | | | | | | | | | | | | This change and previous ones were, Suggested-by: Thorsten Wilms <t_w_@freenet.de> here: https://lists.gnu.org/archive/html/guix-devel/2018-11/msg00330.html gnu/installer/newt/ethernet.scm: Turn cancel into exit. gnu/installer/newt/final.scm: Ditto. gnu/installer/newt/keymap.scm: Ditto. gnu/installer/newt/locale.scm: Ditto. gnu/installer/newt/network.scm: Ditto. gnu/installer/newt/page.scm: Ditto. gnu/installer/newt/partition.scm: Ditto. gnu/installer/newt/services.scm: Ditto. gnu/installer/newt/timezone.scm: Ditto. gnu/installer/newt/user.scm: Ditto. gnu/installer/newt/wifi.scm: Ditto.
* installer: locale: Set English as the default language.Mathieu Othacehe2019-01-17
| | | | | | * gnu/installer/newt/locale.scm (sort-languages): New procedure ... (run-locale-page)[locale-steps]: ... used here to make english the default language.
* installer: locale: Make clear that the point is to select a glibc locale.Mathieu Othacehe2019-01-17
| | | | | * gnu/installer/newt/locale.scm (run-language-page): Be more specific about what is a locale and what are the different steps involved in the info messages.
* installer: Reorder partitionment step.Mathieu Othacehe2019-01-17
| | | | | | * gnu/installer.scm (installer-steps): Run partitionment step after keymap step, so that the keyboard is correctly mapped when filling the mount-point entry in partitionment page.
* installer: Fix compute calls.Mathieu Othacehe2019-01-17
| | | | | | * gnu/installer/newt/keymap.scm (run-keymap-page): Add missing argument to compute procedure. * gnu/installer/newt/network.scm (run-network-page): Ditto.
* installer: Remove group selection in user page.Mathieu Othacehe2019-01-17
| | | | | | | Assume that the user's group is always "users". * gnu/installer/newt/user.scm (run-user-add-page): Remove group fields, (run-user-page): ditto.
* installer: Reorder local.mk.Mathieu Othacehe2019-01-17
| | | | * gnu/local.mk (GNU_SYSTEM_MODULES): Reorder list.
* installer: Reorder POTFILES.inMathieu Othacehe2019-01-17
| | | | * po/guix/POTFILES.in: Reorder file list.
* installer: Add partitioning support.Mathieu Othacehe2019-01-17
| | | | | | | | | | * gnu/installer.scm (installer-steps): Add partitioning step. * gnu/installer/newt.scm (newt-installer): Add partition-page field. * gnu/installer/newt/partition.scm: New file. * gnu/installer/parted.scm: New file. * gnu/installer/record (installer): New partition-page field. * gnu/local.mk (GNU_SYSTEM_MODULES): Add new files. * po/guix/POTFILES.in: Add new files.
* installer: Add user module.Mathieu Othacehe2019-01-17
| | | | * gnu/installer/user.scm: New file.
* installer: Fix comments.Mathieu Othacehe2019-01-17
| | | | * gnu/installer.scm (installer-steps): Fix comments.
* installer: Fix ethernet connection.Mathieu Othacehe2019-01-17
| | | | | * gnu/installer/newt/ethernet.scm (connect-ethernet-service): Return the service passed as parameter.
* installer: Redirect to TTY3 root shell for unguided install.Mathieu Othacehe2019-01-17
| | | | | * gnu/installer/newt/welcome.scm (run-welcome-page): Switch to TTY3 for unguided shell based install.
* installer: Add new pages.Mathieu Othacehe2019-01-17
| | | | | | * gnu/installer/newt/page.scm (run-scale-page): New exported procedure, (run-checkbox-tree-page): ditto, (run-file-textbox-page): ditto.
* installer: Add hostname.Mathieu Othacehe2019-01-17
| | | | | | | * gnu/installer/hostname.scm: New file. * gnu/installer.scm (installer-program): Use new module above. * gnu/local.mk (GNU_SYSTEM_MODULES): Add new file. * po/guix/POTFILES.in: Add new file.
* installer: Add services page.Mathieu Othacehe2019-01-17
| | | | | | | | | | | | | Add a page to select services, for now only desktop environments choice is available. * gnu/installer.scm (steps): Add services step. * gnu/installer/newt.scm (newt-installer): Add services-page field. * gnu/installer/newt/services.scm: New file. * gnu/installer/record.scm (installer): Add services-page field. * gnu/installer/services.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add new files. * po/guix/POTFILES.in: Add new files.
* installer: Do not ask for keyboard model.Mathieu Othacehe2019-01-17
| | | | | | | | | | Suppose that the keyboard model is "pc105". * gnu/installer.scm (apply-keymap): Remove model ... * gnu/installer/newt/keymap.scm (run-keymap-page): passed here. (run-model-page): remove procedure * gnu/installer/record.scm (installer): Edit keymap-page prototype in comment. * gnu/installer/keymap.scm (default-keyboard-model): New exported parameter.
* installer: Add configuration formatter.Mathieu Othacehe2019-01-17
| | | | | | | | | | | | | | | | | | * gnu/installer.scm (installer-steps): Add configuration-formatter procedures. * gnu/installer/final.scm: New file. * gnu/installer/locale.scm (locale->configuration): New exported procedure. * gnu/installer/newt.scm (newt-installer): Add final page. * gnu/installer/newt/final.scm: New file. * gnu/installer/record.scm (installer): Add final-page field. * gnu/installer/timezone.scm (posix-tz->configuration): New exported procedure. * gnu/installer/steps.scm (installer-step): Rename configuration-proc field to configuration-formatter. (%installer-configuration-file): New exported parameter, (%installer-target-dir): ditto, (%configuration-file-width): ditto, (format-configuration): new exported procedure, (configuration->file): new exported procedure.
* installer: Add new utils.Mathieu Othacehe2019-01-17
| | | | | | * gnu/installer/utils.scm (nearest-exact-integer): New exported procedure, (read-percentage): ditto, (run-shell-command): ditto.
* installer: Remove "selection" from all titles.Mathieu Othacehe2019-01-17
| | | | | | | | | | | | | | * gnu/installer/newt/hostname.scm (run-hostname-page): Remove selection from page title, (run-variant-page): ditto. * gnu/installer/newt/keymap.scm (run-layout-page): Ditto. * gnu/installer/newt/locale.scm (run-layout-page): Ditto, (run-territory-page): ditto, (run-codeset-page): ditto, (run-modifier-page): ditto * gnu/installer/newt/network.scm (run-territory-page): Ditto. * gnu/installer/newt/timezone.scm (run-timezone-page): Ditto. * gnu/installer/newt/wifi.scm (run-wifi-page): Ditto.
* file-systems: Export read-partition-label and read-partition-uuid.Mathieu Othacehe2019-01-17
| | | | | * gnu/build/file-systems.scm (read-partition-label): Export it, (read-partition-uuid): ditto.
* gnu: Add guile-parted.Mathieu Othacehe2019-01-17
| | | | * gnu/packages/guile.scm (guile-parted): New variable.
* gnu: guile-newt: Update to revision 4.Mathieu Othacehe2019-01-17
| | | | * gnu/packages/guile.scm (guile-newt): Update to revision 4.
* services: herd: Allow to pass arguments to start-service.Mathieu Othacehe2019-01-17
| | | | * gnu/services/herd.scm (start-service)[arguments]: New optional argument.
* build: syscalls: Add device-in-use?.Mathieu Othacehe2019-01-17
| | | | | | | | | This new procedure uses BLKRRPART to determine whether or not a device is busy. It is useful when a device does not appear as mounted but is maybe used by the kernel. This is the case with overlayfs lowerdir backend device for example. * guix/build/syscalls.scm (device-in-use?): New exported procedure.
* tests: Rename %test-encrypted-os to %test-encrypted-root-os.Mathieu Othacehe2019-01-17
| | | | | * gnu/tests/install.scm (%test-encrypted-os): Rename to %test-encrypted-root-os for consistency with its system-test name.
* installer: Fix locale installation.Mathieu Othacehe2019-01-17
| | | | | | | | | For some mysterious reason, calling 'setlocale' as first instruction of installer-builder does not install unicode support correctly. So set LANG env variable and start the installer until this is understood. * gnu/installer.scm (installer-program): Wrap installer-builder to have the opportunity to set LANG environment variable before starting the installer.
* installer: Move everything to the build side.Mathieu Othacehe2019-01-17
| | | | | | | | | | | | | | | | | * gnu/installer.scm: Rename to ... * gnu/installer/record.scm: ... this. * gnu/installer/build-installer.scm: Move everything to the build side and rename to gnu/installer.scm. * gnu/installer/newt.scm: Remove all the gexps and add depencies to newt modules as this code will only be used on the build side by now. * gnu/local.mk (GNU_SYSTEM_MODULES): Adapt it, (dist_installer_DATA): New rule to install installer's aux-files. * gnu/system/install.scm (%installation-services): Use only 'installer-program' from (gnu installer). The installer is now choosen on the build side. * guix/self.scm (*system-modules*): Restore previous behaviour and add all installer files to #:extra-files field of the scheme-node. * po/guix/POTFILES.in: Adapt it.
* installer: Rewrite welcome page.Mathieu Othacehe2019-01-17
| | | | | | | | | | | | | The welcome page is the only page using absolute positioning for the newt components, so that the page occupies all the screen space. This is becoming too hard to manage, so switch to grid management like elsewhere, even if the result is less appealing. Also add an info text to the page with a mention on how to switch back to the original installer. * gnu/installer/newt/welcome.scm (run-menu-page): Use a vertically stacked grid instead of hard window placement.
* gnu: installer: Launch the installer as kmscon login-program.Mathieu Othacehe2019-01-17
| | | | | | | | | | | | | Source /etc/environment just before starting the installer. The login program is supposed to load the environment variables of this file through PAM, but as we replace it by the installer, they are no longer available. This is mostly useful for the LANG environment variable. * gnu/installer/build-installer.scm (installer-program-launcher): New exported procedure. * gnu/system/install.scm (%installation-services): Restore most of the origin code. kmscon is only started on TTY1, and the graphical installer is the login-program.
* guix: self: Do not install (gnu system install).Mathieu Othacehe2019-01-17
| | | | | | | | As we do not want to add a dependency to newt and the graphical installer in (guix self), do not install (gnu system install). * guix/self.scm (*system-modules*): Remove (gnu system install) from "guix-system" scheme-node.
* doc: Document the graphical installer.Mathieu Othacehe2019-01-17
| | | | * doc/guix.texi (Preparing for Installation): Mention the graphical installer.
* configure: Disable installer build by default.Mathieu Othacehe2019-01-17
| | | | | | | | | | Only build installer if "--enable-installer" is passed. In that case only, the support for Guile-newt becomes mandatory. * configure.ac: Add --enable-installer argument. Export ENABLE_INSTALLER conditional according to the argument value. * gnu/local.mk (GNU_SYSTEM_MODULES): Remove installer modules and build them only if ENABLE_INSTALLER is set.
* installer: newt: Locate the logo within local-file.Mathieu Othacehe2019-01-17
| | | | | * gnu/installer/newt.scm (logo): Remove it, (welcome-page): Use a relative path to locate the logo.
* installer: newt: Use scheme-modules* instead of scheme-modules.Mathieu Othacehe2019-01-17
| | | | * gnu/installer/newt.scm (modules): Use scheme-modules*.
* gnu: Add graphical installer support.Mathieu Othacehe2019-01-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Require that guile-newt is available. * gnu/installer.scm: New file. * gnu/installer/aux-files/logo.txt: New file. * gnu/installer/build-installer.scm: New file. * gnu/installer/connman.scm: New file. * gnu/installer/keymap.scm: New file. * gnu/installer/locale.scm: New file. * gnu/installer/newt.scm: New file. * gnu/installer/newt/ethernet.scm: New file. * gnu/installer/newt/hostname.scm: New file. * gnu/installer/newt/keymap.scm: New file. * gnu/installer/newt/locale.scm: New file. * gnu/installer/newt/menu.scm: New file. * gnu/installer/newt/network.scm: New file. * gnu/installer/newt/page.scm: New file. * gnu/installer/newt/timezone.scm: New file. * gnu/installer/newt/user.scm: New file. * gnu/installer/newt/utils.scm: New file. * gnu/installer/newt/welcome.scm: New file. * gnu/installer/newt/wifi.scm: New file. * gnu/installer/steps.scm: New file. * gnu/installer/timezone.scm: New file. * gnu/installer/utils.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add previous files. * gnu/system.scm: Export %root-account. * gnu/system/install.scm (%installation-services): Use kmscon instead of linux VT for all tty. (installation-os)[users]: Add the graphical installer as shell of the root account. [packages]: Add font related packages. * po/guix/POTFILES.in: Add installer files.
* gnu: kmscon: Add runtime keymap update support.Mathieu Othacehe2019-01-17
| | | | | | * gnu/packages/patches/kmscon-runtime-keymap-switch.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/terminals.scm (kmscon)[source]: Add patch.
* services: kmscon: Remove virtual-terminal requirement.Mathieu Othacehe2019-01-17
| | | | | | | kmscon does not require that virtual terminals run in UTF-8 mode. * gnu/services/base.scm (kmscon-service-type): Remove virtual-terminal from requirement list.