aboutsummaryrefslogtreecommitdiff
path: root/gnu/system.scm
Commit message (Collapse)AuthorAge
* gnu: system: Fix computation of boot parameters for LUKS devices.Andy Wingo2017-09-20
| | | | | | | | * gnu/system.scm (read-boot-parameters): Fix store-device computation for root devices of type "device", like the LUKS partition described in the manual. From a patch from https://debbugs.gnu.org/cgi/bugreport.cgi?bug=28445#23. Signed-off-by: Andy Wingo <wingo@igalia.com>
* system: Create "/etc/hostname".Thomas Danckaert2017-09-19
| | | | | * gnu/system.scm (operating-system-etc-service): Add a plain-file with the operating-system-host-name.
* system: Define 'DICPATH' in /etc/profile.Ludovic Courtès2017-09-18
| | | | | * gnu/system.scm (operating-system-etc-service) <profile>: Define 'DICPATH'.
* system: Add gexp compiler for <operating-system>.Ludovic Courtès2017-09-12
| | | | * gnu/system.scm (operating-system-compiler): New procedure.
* system: Fix typo in 'read-boot-parameters'.Ludovic Courtès2017-09-11
| | | | | | | | Fixes a regression introduced in commit 075681d3501082c6e22df8abf29dfe89d85effc1. * gnu/system.scm (read-boot-parameters): For 'root-device', use 'device-sexp->device', not 'device->sexp'.
* system: Serialize the UUID type in the "parameters" file.Ludovic Courtès2017-09-11
| | | | | | * gnu/system.scm (read-boot-parameters)[device->sexp]: New procedure. Use it for 'root-device' and 'store-device'. (device->sexp): Serialize the UUID type in addition to its bytevector.
* system: Introduce a disjoint UUID type.Ludovic Courtès2017-09-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conceptually a UUID is just a bytevector. However, there's software out there such as GRUB that relies on the string representation of different UUID types (e.g., the string representation of DCE UUIDs differs from that of ISO-9660 UUIDs, even if they are actually bytevectors of the same length). This new <uuid> record type allows us to preserve information about the type of UUID so we can eventually convert it to a string using the right representation. * gnu/system/uuid.scm (<uuid>): New record type. (bytevector->uuid): New procedure. (uuid): Return calls to 'make-uuid'. (uuid->string): Rewrite using 'match-lambda*' to accept a single 'uuid?' argument. * gnu/bootloader/grub.scm (grub-root-search): Check for 'uuid?' instead of 'bytevector?'. * gnu/system.scm (bootable-kernel-arguments): Check whether ROOT-DEVICE is 'uuid?'. (read-boot-parameters): Use 'bytevector->uuid' when the store device is a bytevector. (read-boot-parameters-file): Check for 'uuid?' instead of 'bytevector?'. (device->sexp): New procedure. (operating-system-boot-parameters-file): Use it for 'root-device' and 'store'. (operating-system-bootcfg): Remove conditional in definition of 'root-device'. * gnu/system/file-systems.scm (file-system->spec): Check for 'uuid?' on DEVICE and take its bytevector. * gnu/system/mapped-devices.scm (open-luks-device): Likewise. * gnu/system/vm.scm (iso9660-image): Call 'uuid-bytevector' for the #:volume-uuid argument.
* Merge branch 'master' into core-updatesMarius Bakke2017-08-01
|\
| * bootloader: Use <menu-entry> for the bootloader side.Danny Milosavljevic2017-07-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/bootloader.scm (menu-entry-device-mount-point): New variable. Export it. (<menu-entry>: New field "device". * gnu/bootloader/grub.scm (grub-confgiuration-file): Handle <menu-entry> entries. * gnu/bootloader/extlinux.scm (extlinux-configuration-file): Handle <menu-entry> entries. * gnu/system.scm (menu->entry->boot-parameters): Delete variable. (boot-parameters->menu-entry): New variable. Export it. (operating-system-bootcfg): Make OLD-ENTRIES a list of <menu-entry>. * guix/script/system.scm (reinstall-bootloader): Fix bootcfg usage. (perform-action): Fix bootcfg usage.
* | Merge branch 'master' into core-updatesLeo Famulari2017-07-23
|\|
| * gnu: Add support for aarch64's compiled kernel.Efraim Flashner2017-07-23
| | | | | | | | | | | | * gnu/packages/linux.scm (linux-libre)[arguments]: Add to the regex to find and install the aarch64-linux kernel. * gnu/system.scm (system-linux-image-file-name): Add entry for aarch64.
* | Merge branch 'master' into core-updatesLeo Famulari2017-07-23
|\|
| * system: Add 'newuidmap' and 'newgidmap' to %SETUID-PROGRAMS.宋文武2017-07-18
| | | | | | | | * gnu/system.scm (%setuid-programs): Add 'newuidmap' and 'newgidmap'.
| * locale: Demonadify the locale creation API.Ludovic Courtès2017-07-17
| | | | | | | | | | | | | | | | * gnu/system/locale.scm (single-locale-directory): Use 'computed-file' instead of 'gexp->derivation'. (locale-directory): Adjust accordingly and do the same. * gnu/system.scm (operating-system-directory-base-entries): Adjust accordingly.
* | system: Avoid collision between GMP variants in the global profile.Ludovic Courtès2017-06-30
| | | | | | | | | | * gnu/system.scm (%base-packages): Move GUILE-2.2 out of the list passed to 'canonical-package'.
* | Merge branch 'master' into core-updatesLudovic Courtès2017-06-30
|\|
| * system: Use "@" to refer to the 'shadow' package.Ludovic Courtès2017-06-30
| | | | | | | | | | | | | | | | | | Reported by Mark H Weaver at <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00349.html>. * gnu/system.scm (%base-packages): Use '@' for shadow. This fixes an error on Guile 2.0 where 'shadow' alone resolves to the (gnu system shadow) module.
* | Merge branch 'master' into core-updatesLeo Famulari2017-06-29
|\|
| * system: Add 'shadow' to %BASE-PACKAGES.Ludovic Courtès2017-06-29
| | | | | | | | | | | | Suggested by Göktuğ Kayaalp <self@gkayaalp.com>. * gnu/system.scm (%base-packages): Add SHADOW.
* | Merge branch 'master' into core-updatesMarius Bakke2017-06-11
|\| | | | | | | | | Conflicts: * gnu/packages/tls.scm (gnutls): Incorporated 3.5.13 graft (88e2511e217f2).
| * bootloader: Fix rebase error on f96752e commit.Mathieu Othacehe2017-06-10
| | | | | | | | | | * gnu/system.scm (menu-entry->boot-parameters): Rename boot-name to bootloader-name.
| * bootloader: Rename boot-name to bootloader-name.Mathieu Othacehe2017-06-10
| | | | | | | | | | | | * gnu/system (<boot-parameters>)[boot-name]: Rename field to... [bootloader-name]: ... this. Adjust users. * gnu/scripts/system.scm: Adjust accordingly.
* | Merge branch 'master' into core-updatesMarius Bakke2017-06-10
|\|
| * bootloader: Use menu-entry to define custom bootloader entries.Mathieu Othacehe2017-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/bootloader.scm (<menu-entry>): New variable. Export associated getters, This record is extracted from grub module. * gnu/bootloader/extlinux.scm (extlinux-configuration-file): Use menu-entry->boot-parameters to convert menu-entry records to boot-parameters. * gnu/bootloader/grub.scm (<menu-entry>): Remove. (boot-parameters->menu-entry): Remove. (grub-configuration-file): Use boot-parameters to create configuration entries. * gnu/system.scm (menu-entry->boot-parameters): New exported procedure.
* | gnu: Remove workaround for <https://bugs.gnu.org/26238>.Marius Bakke2017-05-28
|/ | | | | * gnu/packages/base.scm (coreutils-8.27): Remove variable. * gnu/system.scm (%base-packages): Change back to COREUTILS.
* system: Use Guile 2.2 rather than 2.0 in %BASE-PACKAGES.Ludovic Courtès2017-05-19
| | | | * gnu/system.scm (%base-packages): Change GUILE-2.0 to GUILE-2.2.
* bootloader: Add bootloader name to boot-parameters record.Mathieu Othacehe2017-05-16
| | | | | | | | * gnu/system.scm (<boot-parameters>)[name]: New field. (boot-parameters-boot-name): Ditto. (operating-system-boot-parameters-file): Add new field. (operating-system-boot-parameters): Ditto. (read-boot-parameters): Ditto.
* bootloader: Add extlinux support.Mathieu Othacehe2017-05-16
| | | | | | | | | | | | | | | * gnu/bootloader.scm: New file. * gnu/bootloader/extlinux.scm: New file. * gnu/bootloader/grub.scm: New file. * gnu/local.mk: Build new files. * gnu/system.scm: Adapt to new bootloader api. * gnu/scripts/system.scm: Adapt to new bootloader api. * gnu.scm: Remove (gnu system grub) and replace by (gnu bootloader) and (gnu bootloader grub) modules. * gnu/system/grub.scm: Moved content to gnu/bootloader/grub.scm. * gnu/system/vm: Replace (gnu system grub) module by (gnu bootloader). * gnu/tests.scm: Ditto. * gnu/tests/nfs.scm: Ditto.
* system: Export 'read-boot-parameters'.Alex Kost2017-05-13
| | | | | | This partially reverts commit 9530e73b496fefe65dcb936825b6beda79f7fdf2. * gnu/system.scm: Export 'read-boot-parameters' for backward compatibility.
* system: Remove circular dependency between (gnu system) and (gnu system grub).Danny Milosavljevic2017-05-08
| | | | | | | Followup to 087efec496b91e3763be2e11e208d4a8f4ef3d43. * gnu/system.scm: (operating-system-bootcfg): Refer to (gnu system grub) by module-ref.
* system: Remove circular dependency between (gnu system) and (gnu system grub).Danny Milosavljevic2017-05-08
| | | | | | | Followup to 8e815c5b6903a545c46b674c1cd1cc3180f835db. * gnu/system.scm: Remove (gnu system grub) import. (operating-system-bootcfg): Refer to (gnu system grub) within the procedure.
* system: Define <boot-parameters> before first use.Ludovic Courtès2017-05-07
| | | | | | | | | Fixes <http://bugs.gnu.org/26791>. Reported by Mark H Weaver <mhw@netris.org>. * gnu/system.scm (<boot-parameters>, read-boot-parameters) (read-boot-parameters-file): Move before first use of the 'boot-parameters' macro.
* system: Clarify that SYSTEM is either a derivation or #f.Danny Milosavljevic2017-05-05
| | | | | * gnu/system.scm (operating-system-boot-parameters): Clarify that SYSTEM is either a derivation or #f.
* system: Use operating-system-boot-parameters directly.Danny Milosavljevic2017-05-05
| | | | | * gnu/system.scm (operating-system-bootcfg): Use operating-system-boot-parameters directly.
* system: Introduce read-boot-parameters-file.Danny Milosavljevic2017-05-05
| | | | | | | | | | * gnu/system.scm (read-boot-parameters): Remove export. (read-boot-parameters-file): New variable. Export it. * guix/scripts/system.scm (profile-boot-parameters): Use read-boot-parameters-file. (profile-grub-entries): Use read-boot-parameters-file. (reinstall-grub): Use read-boot-parameters-file. (display-system-generation): Use read-boot-parameters-file.
* system: Introduce operating-system-kernel-arguments and use it.Danny Milosavljevic2017-05-05
| | | | | | | * gnu/system.scm (bootable-kernel-arguments): New variable. (operating-system-kernel-arguments): New variable. (operating-system-bootcfg): Use operating-system-kernel-arguments. (operating-system-boot-parameters): Use operating-system-kernel-arguments.
* system: Factorize operating-system-boot-parameters-file.Danny Milosavljevic2017-05-05
| | | | | * gnu/system.scm (operating-system-boot-parameters): New variable. (operating-system-boot-parameters-file): Modify.
* ui: Rename '_' to 'G_'.Ludovic Courtès2017-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids collisions with '_' when the latter is used as a 'match' pattern for instance. See <https://lists.gnu.org/archive/html/guix-devel/2017-04/msg00464.html>. * guix/ui.scm: Rename '_' to 'G_'. * po/guix/Makevars (XGETTEXT_OPTIONS): Adjust accordingly. * build-aux/compile-all.scm (warnings): Remove 'format'. * gnu/packages.scm, gnu/services.scm, gnu/services/shepherd.scm, gnu/system.scm, gnu/system/shadow.scm, guix/gnupg.scm, guix/http-client.scm, guix/import/cpan.scm, guix/import/elpa.scm, guix/import/pypi.scm, guix/nar.scm, guix/scripts.scm, guix/scripts/archive.scm, guix/scripts/authenticate.scm, guix/scripts/build.scm, guix/scripts/challenge.scm, guix/scripts/container.scm, guix/scripts/container/exec.scm, guix/scripts/copy.scm, guix/scripts/download.scm, guix/scripts/edit.scm, guix/scripts/environment.scm, guix/scripts/gc.scm, guix/scripts/graph.scm, guix/scripts/hash.scm, guix/scripts/import.scm, guix/scripts/import/cpan.scm, guix/scripts/import/cran.scm, guix/scripts/import/crate.scm, guix/scripts/import/elpa.scm, guix/scripts/import/gem.scm, guix/scripts/import/gnu.scm, guix/scripts/import/hackage.scm, guix/scripts/import/nix.scm, guix/scripts/import/pypi.scm, guix/scripts/import/stackage.scm, guix/scripts/lint.scm, guix/scripts/offload.scm, guix/scripts/pack.scm, guix/scripts/package.scm, guix/scripts/perform-download.scm, guix/scripts/publish.scm, guix/scripts/pull.scm, guix/scripts/refresh.scm, guix/scripts/size.scm, guix/scripts/substitute.scm, guix/scripts/system.scm, guix/ssh.scm, guix/upstream.scm: Use 'G_' instead of '_'. Most of this change was obtained by running: "sed -i -e's/(_ "/(G_ "/g' `find -name \*.scm`".
* system: Rename operating-system-parameters-file to ↵Danny Milosavljevic2017-04-22
| | | | | | | | operating-system-boot-parameters-file. * gnu/system.scm (operating-system-parameters-file): Rename to ... (operating-system-boot-parameters-file): ... this. (operating-system-directory-base-entries): Adapt call site.
* system: Rename operating-system-kernel-arguments to ↵Danny Milosavljevic2017-04-22
| | | | | | | | | | | | operating-system-user-kernel-arguments. * gnu/system.scm (operating-system-kernel-arguments): Rename to ... (operating-system-user-kernel-arguments): ... this. (<operating-system>): Adapt accordingly. (operating-system-bootcfg): Adapt accordingly. (operating-system-parameters-file): Adapt accordingly. * gnu/system/vm.scm (system-qemu-image/shared-store-script): Adapt accordingly.
* gnu: Add workaround for `date` regression in coreutils@8.26.Marius Bakke2017-04-19
| | | | | | | See <https://bugs.gnu.org/23035> and <https://bugs.gnu.org/26238>. * gnu/packages/base.scm (coreutils-8.27): New variable. * gnu/system.scm (%base-packages): Use that instead of COREUTILS.
* services: 'service-parameters' becomes 'service-value'.Ludovic Courtès2017-04-16
| | | | | | | | | * gnu/services.scm (<service>)[parameters]: Rename to... [value]: ... this. Change calls to 'service-parameters' to 'service-value'. * gnu/system.scm, gnu/tests/base.scm, guix/scripts/system.scm, tests/services.scm: Likewise. * doc/guix.texi (Service Reference): Adjust accordingly.
* system: Make grub use <menu-entry> instead of <boot-parameters> again.Danny Milosavljevic2017-04-15
| | | | | | | | * gnu/system/grub.scm: Remove boot-parameters->menu-entry. (grub-configuration): Don't use boot-parameters->menu-entry. * gnu/system.scm (operating-system-bootcfg): Use menu-entry. * guix/scripts/system.scm (reinstall-grub): Use profile-grub-entries. (perform-action): Use profile-grub-entries.
* system: Pass boot-parameters to (gnu system grub).Mathieu Othacehe2017-04-15
| | | | | | | | * gnu/system.scm (operating-system-bootcfg): Pass boot-parameters. * gnu/system/grub.scm (boot-parameters->menu-entry): New variable. (grub-configuration-file): Use boot-parameters->menu-entry. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
* system: Rename (internal) grub-device to fs->boot-device.Mathieu Othacehe2017-04-15
| | | | | | | | | * gnu/system.scm (grub-device): Rename to... (fs->boot-device): ... this. (operating-system-grub.cfg): Adapt. (operating-system-parameters-file): Adapt. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
* system: Rename operating-system-grub.cfg to operating-system-bootcfg.Mathieu Othacehe2017-04-15
| | | | | | | | | | | * gnu/system.scm (operating-system-grub.cfg): Rename to... (operating-system-bootcfg): ... this. * gnu/system/vm.scm (system-disk-image): Use operating-system-bootcfg. (system-qemu-image): Use operating-system-bootcfg. (system-qemu-image/shared-store): Use operating-system-bootcfg. * guix/scripts/system.scm (perform-action): Use operating-system-bootcfg. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
* system: Rename kernel->grub-label to kernel->boot-label.Mathieu Othacehe2017-04-15
| | | | | | | | * gnu/system.scm (kernel->grub-label): Rename to kernel->boot-label. (operating-system-grub.cfg): Adapt. (operating-system-parameters-file): Ditto. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
* system: Avoid '_' as a pattern variable in 'match'.Ludovic Courtès2017-03-10
| | | | | * gnu/system.scm (operating-system-root-file-system): Don't use '_' as a wildcard in 'match', to cope with literal semantics in 2.2.
* vm: Remove hard coded kernel file name.David Craven2017-02-28
| | | | | | | * gnu/system/vm.scm (system-qemu-image/shared-store-script, expression->derivation-in-linux-vm): Use operating-system-kernel-file and system-linux-image-file-name. * gnu/system.scm (system-linux-image-file-name): Add ARM.
* system: Introduce 'file-systems' Shepherd service.Ludovic Courtès2017-01-31
| | | | | | | | | | | * gnu/services/base.scm (file-system-shepherd-services): New procedure. (file-system-service-type): Use it as the SHEPHERD-ROOT-SERVICE-TYPE extension. (user-processes-service-type): Change to take a single 'grace-delay' parameter. (user-processes-service): Remove 'file-systems' parameter. Pass GRACE-DELAY as the only value for the service. * gnu/system.scm (essential-services): Adjust accordingly.