summaryrefslogtreecommitdiff
path: root/gnu/system.scm
AgeCommit message (Collapse)Author
2017-05-16bootloader: Add extlinux support.Mathieu Othacehe
* 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.
2017-05-13system: Export 'read-boot-parameters'.Alex Kost
This partially reverts commit 9530e73b496fefe65dcb936825b6beda79f7fdf2. * gnu/system.scm: Export 'read-boot-parameters' for backward compatibility.
2017-05-08system: Remove circular dependency between (gnu system) and (gnu system grub).Danny Milosavljevic
Followup to 087efec496b91e3763be2e11e208d4a8f4ef3d43. * gnu/system.scm: (operating-system-bootcfg): Refer to (gnu system grub) by module-ref.
2017-05-08system: Remove circular dependency between (gnu system) and (gnu system grub).Danny Milosavljevic
Followup to 8e815c5b6903a545c46b674c1cd1cc3180f835db. * gnu/system.scm: Remove (gnu system grub) import. (operating-system-bootcfg): Refer to (gnu system grub) within the procedure.
2017-05-07system: Define <boot-parameters> before first use.Ludovic Courtès
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.
2017-05-05system: Clarify that SYSTEM is either a derivation or #f.Danny Milosavljevic
* gnu/system.scm (operating-system-boot-parameters): Clarify that SYSTEM is either a derivation or #f.
2017-05-05system: Use operating-system-boot-parameters directly.Danny Milosavljevic
* gnu/system.scm (operating-system-bootcfg): Use operating-system-boot-parameters directly.
2017-05-05system: Introduce read-boot-parameters-file.Danny Milosavljevic
* 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.
2017-05-05system: Introduce operating-system-kernel-arguments and use it.Danny Milosavljevic
* 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.
2017-05-05system: Factorize operating-system-boot-parameters-file.Danny Milosavljevic
* gnu/system.scm (operating-system-boot-parameters): New variable. (operating-system-boot-parameters-file): Modify.
2017-05-03ui: Rename '_' to 'G_'.Ludovic Courtès
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`".
2017-04-22system: Rename operating-system-parameters-file to ↵Danny Milosavljevic
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.
2017-04-22system: Rename operating-system-kernel-arguments to ↵Danny Milosavljevic
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.
2017-04-19gnu: Add workaround for `date` regression in coreutils@8.26.Marius Bakke
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.
2017-04-16services: 'service-parameters' becomes 'service-value'.Ludovic Courtès
* 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.
2017-04-15system: Make grub use <menu-entry> instead of <boot-parameters> again.Danny Milosavljevic
* 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.
2017-04-15system: Pass boot-parameters to (gnu system grub).Mathieu Othacehe
* 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>
2017-04-15system: Rename (internal) grub-device to fs->boot-device.Mathieu Othacehe
* 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>
2017-04-15system: Rename operating-system-grub.cfg to operating-system-bootcfg.Mathieu Othacehe
* 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>
2017-04-15system: Rename kernel->grub-label to kernel->boot-label.Mathieu Othacehe
* 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>
2017-03-10system: Avoid '_' as a pattern variable in 'match'.Ludovic Courtès
* gnu/system.scm (operating-system-root-file-system): Don't use '_' as a wildcard in 'match', to cope with literal semantics in 2.2.
2017-02-28vm: Remove hard coded kernel file name.David Craven
* 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.
2017-01-31system: Introduce 'file-systems' Shepherd service.Ludovic Courtès
* 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.
2016-11-22gnu: system: Add openfwwf-firmware to %base-firmware.Eric Bavier
* gnu/system.scm (%base-firmware): Add openfwwf-firmware. * doc/guix.texi (Hardware Considerations): Mention b43-open support. (operating-system Reference)[firmware]: Likewise.
2016-11-08system: Reintroduce 'GUIX_LOCPATH', for compatibility with glibc@2.23.Ludovic Courtès
* gnu/system.scm (operating-system-environment-variables): Re-add 'GUIX_LOCPATH'. This reverts part of 9f58fe3d1c32e3f0ced065e286532a10cad1b5e3.
2016-11-07Merge branch 'master' into core-updatesMark H Weaver
2016-11-06system: Avoid using device paths in <menu-entry> device field.Chris Marusich
This fixes a regression introduced by 1ef8b72a7f87afe7cffe52393d99e1b14e4770e1, in which we would incorrectly use a device path in a label-based grub root search command, e.g. 'search --label --set /dev/sda4'. * gnu/system.scm (grub-device): New procedure. (operating-system-grub.cfg, operating-system-parameters-file): Use it. (read-boot-parameters): Handle device paths correctly. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-10-30Merge branch 'master' into core-updatesLeo Famulari
2016-10-30system: Record store file system info in each generation.Chris Marusich
* gnu/system.scm (<boot-parameters>)[store-device, store-mount-point]: New fields. (read-boot-parameters): Initialize them. (operating-system-grub.cfg): Likewise. Remove STORE-FS argument from call to 'grub-configuration-file'. (operating-system-parameters-file): Add 'store' element in 'boot-parameters'. * gnu/system/grub.scm (strip-mount-point): Replace 'store-fs' parameter by 'mount-point'; adjust accordingly. Adjust callers. (<menu-entry>)[device, device-mount-point]: New fields. (eye-candy): Replace 'root-fs' parameter by 'store-device'; add 'store-mount-point'. Use keyword arguments for 'system' and 'port'. (grub-root-search): Remove 'root-fs' by 'device' and adjust accordingly. (grub-configuration-file): Remove 'store-fs' parameter. Adjust accordingly. * guix/scripts/system.scm (previous-grub-entries): Initialize 'device' and 'device-mount-point' fields from PARAMS. * doc/guix.texi (GRUB Configuration): Document 'device' and 'device-mount-point'. Explain that 'linux' can be prefixed by a GRUB device name. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-09-30Merge branch 'master' into core-updatesLudovic Courtès
2016-09-24system: grub.cfg uses correct file names when store is not in root partition.Carlos Sánchez de La Lama
Fixes <http://bugs.gnu.org/24346>. Reported by csanchezdll@gmail.com (Carlos Sánchez de La Lama). * guix/scripts/system.scm (previous-grub-entries): Get the initrd file name from PARAMS. * gnu/system.scm (operating-system-grub.cfg): Use 'operating-system-initrd-file' to retrieve the initrd file name. * gnu/system/grub.scm (strip-mount-point): New procedure. (grub-configuration-file)[entry->gexp]: Call 'strip-mount-point' for LINUX and INITRD. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-09-24system: 'read-boot-parameters' reads the 'initrd' parameter.Ludovic Courtès
* gnu/system.scm (<boot-parameters>)[initrd]: New field. (read-boot-parameters): Read the 'initrd' element and fill in the 'initrd' field of the result.
2016-09-10system: Use 'file-append' to denote file names.Ludovic Courtès
* gnu/services/avahi.scm, gnu/services/base.scm, gnu/services/databases.scm, gnu/services/dbus.scm, gnu/services/desktop.scm, gnu/services/dict.scm, gnu/services/mail.scm, gnu/services/networking.scm, gnu/services/sddm.scm, gnu/services/spice.scm, gnu/services/ssh.scm, gnu/services/web.scm, gnu/services/xorg.scm, gnu/system.scm: Replace the #~(string-append #$pkg "/bin/foo") idiom with (file-append pkg "/bin/foo").
2016-09-09system: Build the initrd file name with 'file-append'.Ludovic Courtès
* gnu/system.scm (operating-system-initrd-file) (operating-system-grub.cfg): Use 'file-append' to construct the initrd file name.
2016-09-09system: grub: Allow arbitrary kernel file names in 'menu-entry'.Ludovic Courtès
Fixes <http://bugs.gnu.org/20067>. Reported by Tomáš Čech <sleep_walker@suse.cz>. * gnu/system.scm (system-linux-image-file-name) (operating-system-kernel-file): New procedures. (operating-system-grub.cfg): Use 'operating-system-kernel-file' for the 'kernel' field of 'menu-entry'. (operating-system-parameters-file): Likewise for the 'kernel' entry. (read-boot-parameters): Adjust 'kernel' field so that it contains the absolute file name of the image. * gnu/system/grub.scm (grub-configuration-file)[linux-image-name]: Remove. [entry->gexp]: Assume LINUX is the absolute file name of the kernel image. * doc/guix.texi (GRUB Configuration): Add an example, and adjust 'kernel' field documentation accordingly.
2016-08-29Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner
2016-08-22services: Make a single extensible 'file-systems' service.Ludovic Courtès
Previously we would create one 'file-system-service-type' instead per file system. Now, we create only one instance for all the file systems. * gnu/services/base.scm (fstab-service-type)[compose]: Change to CONCATENATE. (file-system-shepherd-service): Change to return either one <shepherd-service> or #f. (file-system-service-type): Pluralize 'name'. Adjust SHEPHERD-ROOT-SERVICE-TYPE extension to above changes. Add 'compose' and 'extend'. (file-system-service): Remove. * gnu/system.scm (other-file-system-services): Rename to... (non-boot-file-system-service): ... this. Change to return a single FILE-SYSTEM-SERVICE-TYPE instance. (essential-services): Adjust accordingly.
2016-08-10gnu: glibc/linux: Adjust variable name to upstream change.Leo Famulari
* gnu/packages/base.scm (glibc/linux)[arguments]: Change 'libc_cv_localedir' to 'libc_cv_complocaledir' in #:configure-flags. * gnu/system.scm: (operating-system-environment-variables): Remove 'GUIX_LOCPATH'.
2016-08-02system: Define 'GUIX_LOCPATH' to work around 'glibc' package defect.Ludovic Courtès
Our 'glibc' package currently ignores /run/current-system/locale, although the intent is to look for locales in that directory. * gnu/packages/base.scm (glibc/linux): Add comment about /run/current-system/locale being ignored. * gnu/system.scm (operating-system-environment-variables): Add 'GUIX_LOCPATH'. * gnu/tests/base.scm (run-basic-test): Add "locale" test.
2016-07-27system: Source /etc/environment before $HOME/.guix-profile/etc/profile.Carlos Sánchez de La Lama
* gnu/system.scm (operating-system-etc-service) <profile>: Move sourcing of /etc/environment before that of $HOME/.guix-profile/etc/profile. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-07-18system: Honor the 'dependencies' field of file systems.Ludovic Courtès
This allows mapped devices listed in 'dependencies' to be properly taken into account. Reported by Andreas Enge <andreas@enge.fr>. * gnu/system.scm (mapped-device-user): Check whether DEVICE is a member of the 'dependencies' of FS. * tests/system.scm (%luks-device, %os-with-mapped-device): New variables. ("operating-system-user-mapped-devices") ("operating-system-boot-mapped-devices") ("operating-system-boot-mapped-devices, implicit dependency"): New tests.
2016-07-12gexp: 'gexp->file' emits code to set '%load-path'.Ludovic Courtès
* guix/gexp.scm (gexp->file): Add #:set-load-path? parameter and honor it. * gnu/system.scm (operating-system-parameters-file): Pass #:set-load-path? #f. * doc/guix.texi (G-Expressions): Adjust accordingly.
2016-05-04system: Add procedures to access user accounts and service names.Ludovic Courtès
* gnu/system.scm (operating-system-user-accounts) (operating-system-shepherd-service-names): New procedures.
2016-04-18mapped-devices: 'mapped-device-service' takes a <mapped-device>.Ludovic Courtès
* gnu/system/mapped-devices.scm (device-mapping-service): Take a <mapped-device> instead of 3 parameters. (device-mapping-service-type): Adjust accordingly. * gnu/system.scm (device-mapping-services): Adjust accordingly.
2016-04-18system: Move 'luks-device-mapping' to (gnu system mapped-devices).Ludovic Courtès
* gnu/system.scm (open-luks-device, close-luks-device) (luks-device-mapping): Move to... * gnu/system/mapped-devices.scm: ... here. New file.
2016-04-18system: Add (gnu system mapped-devices).Ludovic Courtès
* gnu/system/file-systems.scm (<mapped-device>, <mapped-device-type>): Move to... * gnu/system/mapped-devices.scm: ... here. New file. * gnu/system.scm, gnu/services/base.scm, gnu/system/linux-initrd.scm: Use it. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * gnu.scm (%public-modules): Add it.
2016-04-04system: Define 'GTK_DATA_PREFIX' globally.Ludovic Courtès
Fixes <http://bugs.gnu.org/23200>. Reported by Chris Marusich <cmmarusich@gmail.com>. * gnu/system.scm (operating-system-environment-variables): Add 'GTK_DATA_PREFIX'.
2016-03-24system: Use 'info-reader' instead of Texinfo to avoid dragging Perl.Ludovic Courtès
* gnu/system.scm (%base-packages): Use INFO-READER instead of TEXINFO.
2016-03-24system: Do not create "site-start.el".Alex Kost
After commits 004ea62 and 092dd65, Emacs can find packages in a system profile, so it autoloads guix code without additional hacks, which can be removed now. * gnu/system.scm (emacs-site-file, emacs-site-directory): Remove. (operating-system-etc-service): Adjust accordingly. (operating-system-environment-variables): Remove EMACSLOADPATH.
2016-03-09gnu: eudev: Add dependency on blkid.Ludovic Courtès
* gnu/packages/linux.scm (eudev)[inputs]: Add UTIL-LINUX. (eudev-with-blkid): Remove. * gnu/services/base.scm (udev-service): Use EUDEV instead of EUDEV-WITH-BLKID. * gnu/system.scm (%base-packages): Likewise.