aboutsummaryrefslogtreecommitdiff
path: root/gnu/system
Commit message (Collapse)AuthorAge
* Add 'guix pack'.Ludovic Courtès2017-03-12
| | | | | | | | | | | | * gnu/system/install.scm (self-contained-tarball): Move to... * guix/scripts/pack.scm: ... here. New file. * doc/guix.texi (Binary Installation): Mention 'guix pack'. (Invoking guix pack): New node. * build-aux/make-binary-tarball.scm: Remove. * Makefile.am (MODULES): Add guix/scripts/pack.scm. (EXTRA_DIST): Remove build-aux/make-binary-tarball.scm. (guix-binary.%.tar.xz): Rewrite using 'guix pack'. * build-aux/hydra/gnu-system.scm (tarball-jobs): Adjust accordingly.
* linux-initrd: Add a raw-initrd and use it to define base-initrd.Mathieu Othacehe2017-03-11
| | | | | | | | * gnu/system/linux-initrd.scm (raw-initrd): New exported variable. (base-initrd): Use raw-initrd to build the initrd. * doc/guix.texi (Initial RAM Disk): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* vm: Fix full-boot? option.David Craven2017-03-06
| | | | | | | | | * gnu/system/vm.scm (virtualized-operating-system): Add full-boot? option. Don't add a %store-mapping when full-boot? is passed. This leads the grub-configuration-file procedure to look for the kernel and initrd in / instead of /gnu/store. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* system: grub: Add missing URL in comment.Ludovic Courtès2017-03-06
| | | | * gnu/system/grub.scm (grub-root-search): Add missing URL in comment.
* vm: Improve readability of run-vm.sh generation.David Craven2017-03-01
| | | | | * gnu/system/vm.scm (common-qemu-options, system-qemu-image/shared-store-script): Improve readability.
* 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.
* gnu: lightweight-desktop.tmpl: Remove xmonad.Leo Famulari2017-02-23
| | | | * gnu/system/examples/lightweight-desktop.tmpl (packages): Remove xmonad.
* gnu: lightweight-desktop.tmpl: Complete i3-wm.Leo Famulari2017-02-23
| | | | | | * gnu/system/examples/lightweight-desktop.tmpl (packages): Add i3status and dmenu. (use-package-modules): Add suckless.
* system: Use the normalized codeset for the locale name in the examples.Ludovic Courtès2017-02-13
| | | | | | * gnu/system/examples/bare-bones.tmpl <locale>: Change to "en_US.utf8". * gnu/system/examples/desktop.tmpl <locale>: Likewise. * gnu/system/examples/lightweight-desktop.tmpl <locale>: Likewise.
* gnu: Move (gnu packages grub) and (gnu packages u-boot) ...David Craven2017-02-10
| | | | | | | | | | | | to (gnu packages bootloaders). * gnu/packages/grub.scm: Rename to bootloaders.scm. * gnu/packages/u-boot.scm: Move to bootloaders.scm. * gnu/local.mk (GNU_SYSTEM_MODULES): Add bootloaders.scm, remove grub.scm and u-boot.scm; * gnu/system/grub.scm: Import (gnu packages bootloaders). * gnu/system/install.scm: Import (gnu packages bootloaders). * gnu/system/vm.scm: Import (gnu packages bootloaders).
* system: install: Add gptfdisk to installation os.David Craven2017-02-10
| | | | * gnu/system/install.scm (installation-os)[packages]: Add gptfdisk.
* file-systems: Add '%network-configuration-files' and '%network-file-mappings'.Ludovic Courtès2017-02-07
| | | | | | | | * gnu/system/file-systems.scm (%network-configuration-files) (%network-file-mappings): New variables. * guix/scripts/environment.scm (%network-configuration-files): Remove. (launch-environment/container): Refer to '%network-file-mappings' instead of calling 'filter-map'.
* file-systems: Remove dependency on (guix store).Ludovic Courtès2017-02-04
| | | | | | | | | (gnu system file-systems) is used on the "build" side since commit 5970e8e248f6327c41c83b86bb2c89be7c3b1b4e. * gnu/system/file-systems.scm: Remove dependency on (guix store). (%store-prefix): New procedure. * tests/file-systems.scm ("does not pull (guix config)"): New test.
* file-systems: Add 'file-system-mapping->bind-mount'.Ludovic Courtès2017-02-03
| | | | | | | | | * gnu/system/file-systems.scm (file-system-mapping->bind-mount): New procedure. * gnu/system/linux-container.scm (mapping->file-system): Remove. (containerized-operating-system)[mapping->fs]: Use 'file-system-mapping->bind-mount' instead of 'mapping->file-system'. * guix/scripts/environment.scm (launch-environment/container): Likewise.
* system: More 'file-append' instead of #~(string-append #$thing …).Ludovic Courtès2017-02-01
| | | | | | * gnu/system/shadow.scm (<user-account>)[shell]: Use 'file-append'. (%base-user-accounts): Likewise. * gnu/system/grub.scm (%background-image): Likewise.
* system: Create home directories once 'file-systems' is up.Ludovic Courtès2017-02-01
| | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/21108>. Reported by Andy Patterson <ajpatter@uwaterloo.ca> and Leo Famulari <leo@famulari.name>. * gnu/build/activation.scm (activate-users+groups)[activate-user]: Pass #:create-home? #t iff CREATE-HOME? and SYSTEM?. (activate-user-home): New procedure. * gnu/system/shadow.scm (account-shepherd-service): New procedure. (account-service-type)[extensions]: Add SHEPHERD-ROOT-SERVICE-TYPE extension. * gnu/tests/base.scm (run-basic-test)["home"] ["skeletons in home directories"]: New tests. * gnu/tests/install.scm (%separate-home-os, %separate-home-os-source) (%test-separate-home-os): New variables.
* mapped-devices: 'source' can be a list of strings.Ludovic Courtès2017-01-24
| | | | | | | Reported by myglc2 <myglc2@gmail.com>. * gnu/system/mapped-devices.scm (<mapped-device>)[source]: Update comment to note that this can be a list of strings.
* file-systems: 'file-system-needed-for-boot?' is #t for parents of the store.Ludovic Courtès2017-01-16
| | | | | | | | | | | | Suggested by John Darrington <john@darrington.wattle.id.au>. * gnu/system/file-systems.scm (%not-slash): New variable. (file-prefix?): New procedure. (file-system-needed-for-boot?): Use it to check whether FS holds the store. * tests/file-systems.scm ("file-system-needed-for-boot?"): New test. * gnu/tests/install.scm (%separate-store-os)[file-systems]: Remove 'needed-for-boot?' field for "/gnu".
* system: Add btrfs file system support.David Craven2017-01-10
| | | | | | | | | | | | | | | | * gnu/build/file-systems.scm (%btrfs-endianness, btrfs-superblock?, read-btrfs-superblock, btrfs-superblock-uuid, btrfs-superblock-volume-name, check-btrfs-file-system): New variables. (%paritition-label-readers, %partition-uuid-readers): Add btrfs readers. * gnu/system/linux-initrd.scm (linux-modules): Add btrfs modules when a btrfs file-system is used. * gnu/tests/install.scm (%btrfs-root-os %btrfs-root-os-source, %btrfs-root-installation-script, %test-btrfs-root-os): New system test. * doc/guix.texi: Adjust accordingly. Fixes <http://bugs.gnu.org/19280>.
* system: grub: Load relevant EFI modules on EFI systems.Ludovic Courtès2017-01-03
| | | | | * gnu/system/grub.scm (eye-candy)[setup-gfxterm-body]: Add 'insmod' invocations when ${grub_platform} is "efi".
* install: The list of services is now a plain list.Ludovic Courtès2016-12-19
| | | | | * gnu/system/install.scm (installation-services): Rename to... (%installation-services): ... this. Turn into a list instead of a thunk.
* linux-initrd: Support FAT filesystems.Marius Bakke2016-12-18
| | | | | | * gnu/system/linux-initrd.scm (base-initrd): When a FAT filesystem is present: Add fatfsck/static in 'helper-packages'; and add nls_iso8859-1 in 'linux-modules'.
* install: Add dosfstools.Ludovic Courtès2016-12-16
| | | | * gnu/system/install.scm (installation-os)[packages]: Add DOSFSTOOLS.
* doc: Suggest installing gvfs.Ricardo Wurmus2016-11-28
| | | | | * gnu/system/examples/desktop.tmpl: Add gvfs to the system-wide list of packages.
* doc: Document encrypted root partitions.Ludovic Courtès2016-11-24
| | | | | | | | | | | | This is a followup to f7f292d359e0eb77617f4ecf6b3164f868ec1784. * doc/guix.texi (Preparing for Installation): Give commands for encrypted root installation. (Proceeding with the Installation): Add item about mapped devices. (File Systems): Mention that 'dependencies' can list <mapped-device> objects. * gnu/system/examples/desktop.tmpl (mapped-devices): New field. (file-systems): Add 'dependencies' field.
* mapped-devices: Use 'cryptsetup-static' in 'luks-device-mapping'.Ludovic Courtès2016-11-23
| | | | | | * gnu/system/mapped-devices.scm (open-luks-device): Use CRYPTSETUP-STATIC instead of CRYPTSETUP. Use 'file-append'. (close-luks-device): Likewise.
* vm: Disable initrd-time QEMU networking for VM images.Ludovic Courtès2016-11-19
| | | | | | | | | Fixes <http://bugs.gnu.org/24943>. Reported by dian_cecht@zoho.com. * gnu/system/vm.scm (system-qemu-image)[initrd]: Remove #:qemu-networking? #t. (virtualized-operating-system): Likewise
* container: Pass a list of <file-system> objects as things to mount.Ludovic Courtès2016-11-10
| | | | | | | | | | | | | | | * gnu/build/linux-container.scm (mount-file-systems): 'mounts' is now a list of <file-system> objects instead of a list of lists ("specs"). Add call to 'file-system->spec' as the argument to 'mount-file-system'. (run-container, call-with-container): Adjust docstring accordingly. * gnu/system/file-systems.scm (spec->file-system): New procedure. * gnu/system/linux-container.scm (container-script)[script]: Call 'spec->file-system' inside gexp. * guix/scripts/environment.scm (launch-environment/container): Remove call to 'file-system->spec'. * tests/containers.scm ("call-with-container, mnt namespace") ("call-with-container, mnt namespace, wrong bind mount"): Pass a list of <file-system> objects.
* linux-container: Use 'source-module-closure' when generating the script.Ludovic Courtès2016-11-10
| | | | | * gnu/system/linux-container.scm (container-script)[script]: Use 'source-module-closure' in 'with-imported-modules' form.
* system: Use grub from bootloader configuration.Marius Bakke2016-11-08
| | | | | | | | * gnu/system/grub.scm (gnu): Export grub-configuration-grub. * guix/scripts/system.scm (perform-action): Use it. (define-module): Don't import (gnu packages grub). Co-authored-by: Danny Milosavljevic <dannym@scratchpost.org>
* gnu: Remove comment which is factually incorrect.John Darrington2016-11-06
| | | | * gnu/system/pam.scm: Remove incorrect comment.
* system: Record store file system info in each generation.Chris Marusich2016-10-30
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* mapped-devices: Use 'mdadm-static' in 'raid-device-mapping'.Ludovic Courtès2016-10-27
| | | | | * gnu/system/mapped-devices.scm (open-raid-device, close-raid-device): Use MDADM-STATIC instead of MDADM. Use 'file-append'.
* system: grub: Use Guile-{RSVG,Cairo} instead of Inkscape + ImageMagick.Ludovic Courtès2016-10-25
| | | | | | | | | | | | Based on a suggestion by Andy Wingo at <https://lists.gnu.org/archive/html/guix-devel/2015-08/msg00753.html>. * gnu/build/svg.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/system/grub.scm (svg->png): Add #:width and #:height. Rewrite to use (gnu build svg). (resize-image): Remove. (grub-background-image): Adjust accordingly.
* mapped-devices: Properly open RAID devices.Ludovic Courtès2016-10-04
| | | | | | | | This fixes a type error introduced in 7f8ad82bf23b032ad6bd85bb1daa87cc83de509c, given that SOURCES is a list. * gnu/system/mapped-devices.scm (open-raid-device): Add 'apply' invocation.
* Add missing exports.Ludovic Courtès2016-09-27
| | | | | | | | | Reported by Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> at <https://lists.gnu.org/archive/html/guix-devel/2016-09/msg01686.html>. * gnu/system/file-systems.scm (%tty-gid): Export. * guix/build-system/python.scm (default-python, default-python2): Export.
* system: Don't emit a GRUB 'search' command when passed a GRUB file name.Ludovic Courtès2016-09-26
| | | | | | | | Reported by Tomáš Čech <tcech@suse.com> at <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20067#26>. * gnu/system/grub.scm (grub-root-search): Don't emit anything when FILE is a string that does not denote an absolute file name.
* system: grub.cfg uses correct file names when store is not in root partition.Carlos Sánchez de La Lama2016-09-24
| | | | | | | | | | | | | | | 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>
* services: console-font: A single service handles all the VTs.Ludovic Courtès2016-09-19
| | | | | | | | | * gnu/services/base.scm (%default-console-font): New variable. (console-font-shepherd-services): New procedure. (console-font-service-type): Change to use 'service-type'. (console-font-service): Rewrite using 'simple-service'. (%base-services): Use a single CONSOLE-FONT-SERVICE-TYPE instance. * gnu/system/install.scm (installation-services): Likewise.
* install: Use login-service.David Craven2016-09-11
| | | | * gnu/system/install.scm (installation-services): Use login-service.
* system: grub: Allow arbitrary kernel file names in 'menu-entry'.Ludovic Courtès2016-09-09
| | | | | | | | | | | | | | | | | | | 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.
* gnu: Add edit warning to generated grub.cfg filesJohn Darrington2016-09-08
| | | | * gnu/services/grub.scm (grub-configuration-file): Add code to emit warning.
* gnu: lightweight-desktop.tmpl: Fix typo.Efraim Flashner2016-09-08
| | | | | | * gnu/system/examples/lightweight-desktop.tmpl: While it is currently unknown if Bob has a brother, it is sufficiently documented that Alice is, in fact, Bob's sister.
* system: vm: Remove -net user flag.David Craven2016-09-06
| | | | * gnu/system/vm.scm (common-qemu-options): Remove -net user flag.
* system: Use 'source-module-closure' where needed.Ludovic Courtès2016-09-05
| | | | | | | | | | * gnu/system/vm.scm (%vm-module-closure): Remove. (expression->derivation-in-linux-vm): Use 'source-module-closure' instead of %VM-MODULE-CLOSURE. (qemu-image): Likewise. * gnu/system/linux-initrd.scm (expression->initrd): Likewise. (flat-linux-module-directory, base-initrd): Likewise. * gnu/system/mapped-devices.scm (open-luks-device): Likewise.
* Reinstate "services: elogind: Provide '%elogind-file-systems' by extension."Ludovic Courtès2016-09-01
| | | | This reverts commit 17073dafc59d62fb8cbb8b94d61d3ecc488ac59f.
* system: Do not create the home directory of "nobody".Ludovic Courtès2016-08-28
| | | | | | | | Fixes <http://bugs.gnu.org/24275>. Reported by John Darrington <john@darrington.wattle.id.au>. * gnu/system/shadow.scm (%base-user-accounts): Add (create-home-directory? #f) for "nobody".
* system: Add 'create-home-directory?' field to <user-account>.Ludovic Courtès2016-08-28
| | | | | | | | | | | | * gnu/system/shadow.scm (<user-account>)[create-home-directory?]: New field. (user-account->gexp): Serialize it. * gnu/build/activation.scm (activate-users+groups)[activate-user]: Update 'match-lambda' pattern accordingly. Pass #:create-home? to 'ensure-user'. (add-user, modify-user, ensure-user): Add #:create-home? parameter and honor it. * doc/guix.texi (User Accounts): Document it.
* Revert "services: elogind: Provide '%elogind-file-systems' by extension."Mark H Weaver2016-08-22
| | | | This reverts commit 3cf319a3f8e23831960a0f1320122cc514188a37.
* services: elogind: Provide '%elogind-file-systems' by extension.Ludovic Courtès2016-08-22
| | | | | | | * gnu/system/file-systems.scm (%base-file-systems): Remove %ELOGIND-FILE-SYSTEMS. * gnu/services/desktop.scm (elogind-service-type): Extend FILE-SYSTEM-SERVICE-TYPE to provide %ELOGIND-FILE-SYSTEMS.