summaryrefslogtreecommitdiff
path: root/gnu/system
Commit message (Collapse)AuthorAge
* services: Add pam-limits-service.Ricardo Wurmus2016-07-19
| | | | | | | | * gnu/system/pam.scm (<pam-limits-entry>): New record type. (pam-limits-entry, pam-limits-entry->string): New procedures. * gnu/services/base.scm (pam-limits-service-type): New variable. (pam-limits-service): New procedure. * doc/guix.texi (Base Services): Document it.
* install: Add mdadm to the image.Andreas Enge2016-07-15
| | | | * gnu/system/install.scm (installation-os)[packages]: Add mdadm.
* system: Change the shell of 'nobody' to 'nologin'.Ludovic Courtès2016-07-13
| | | | | | | | Fixes <http://bugs.gnu.org/23971>. Reported by Vincent Legoll <vincent.legoll@gmail.com>. * gnu/system/shadow.scm (%base-user-accounts): Add 'shell' field. Set 'home-directory' to "/nonexistent".
* services: <shepherd-service> no longer has an 'imported-modules' field.Ludovic Courtès2016-07-12
| | | | | | | | | | | | | | | | | | * gnu/services/shepherd.scm (<shepherd-service>)[imported-modules]: Remove. (%default-imported-modules): Make private. (shepherd-service-file): Use 'with-imported-modules'. (shepherd-configuration-file): Remove 'modules' and the calls to 'imported-modules' and 'compiled-modules'. Use 'with-imported-modules' instead. * doc/guix.texi (Shepherd Services): Adjust accordingly. * gnu/services/base.scm (file-system-shepherd-service): Use 'with-imported-modules'. Remove 'imported-modules' field. * gnu/system/mapped-devices.scm (device-mapping-service-type): Remove 'imported-modules'. (open-luks-device): Use 'with-imported-modules'. * gnu/tests.scm (marionette-shepherd-service): Remove 'imported-modules' field and use 'with-imported-modules'.
* gnu: Use 'gexp->file' in conjunction with 'with-imported-modules'.Ludovic Courtès2016-07-12
| | | | | | | | | | | * gnu/services.scm (activation-script): Remove code to set '%load-path' and use 'with-imported-modules' instead. (cleanup-gexp): Likewise. * gnu/system/vm.scm (%vm-module-closure): New variable. (expression->derivation-in-linux-vm): Remove #:modules. [loader]: Remove code to set '%load-path'. [builder]: Use %VM-MODULE-CLOSURE. (qemu-image): Use 'with-imported-modules'.
* linux-container: Fix list of imported modules.Ludovic Courtès2016-07-12
| | | | | | | | This fixes a regression introduced in 958dd3ce68733bcd5c1231424c7e4ad39e67594a. * gnu/system/linux-container.scm (container-script)[script]: Add (guix combinators) to the list of imported modules.
* gnu: Switch to 'with-imported-modules'.Ludovic Courtès2016-07-12
| | | | | | | | | | | | | | | | | | | | | | | | * gnu/services.scm (directory-union): Use 'with-imported-modules' instead of the '#:modules' argument of 'computed-file'. * gnu/services/base.scm (udev-rules-union): Likewise. * gnu/services/dbus.scm (system-service-directory): Likewise. * gnu/services/desktop.scm (wrapped-dbus-service): (polkit-directory): Likewise. * gnu/services/networking.scm (tor-configuration->torrc): Likewise. * gnu/services/xorg.scm (xorg-configuration-directory): Likewise. * gnu/system/install.scm (self-contained-tarball): Likewise. * gnu/system/linux-container.scm (container-script): Likewise. * gnu/system/linux-initrd.scm (expression->initrd): Likewise, and remove #:modules parameter. (flat-linux-module-directory): Use 'with-imported-modules'. (base-initrd): Likewise. * gnu/system/locale.scm (locale-directory): Likewise. * gnu/system/shadow.scm (default-skeletons): Likewise. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise. * gnu/tests/base.scm (run-basic-test): Likewise. * gnu/tests/install.scm (run-install): Likewise. * doc/guix.texi (Initial RAM Disk): Update 'expression->initrd' documentation.
* gnu: linux-initrd: Support NVMe devices.Jan Nieuwenhuizen2016-06-29
| | | | | | * gnu/system/linux-initrd.scm (base-initrd): Add nvme to linux-modules. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* install: Pass a relative file name to 'local-file'.Ludovic Courtès2016-06-21
| | | | | | | This is a followup to cbbbb7be0fbaa11ff75bce92f2d82131ff8db104. * gnu/system/install.scm (/etc/configuration-files): Pass a relative file name to 'local-file'.
* file-systems: Remove unneeded import.Ludovic Courtès2016-06-06
| | | | | * gnu/system/file-systems.scm: Remove import of (guix gexp), unneeded since commit 060d62a740fc1932a3be505534feff099b59ac9f.
* install: 'cow-store' now bind-mounts the target's /tmp.Ludovic Courtès2016-05-31
| | | | | | | | Reported by Matthew Jordan <matthewjordandevops@yandex.com> at <https://lists.gnu.org/archive/html/guix-devel/2016-05/msg00967.html>. * gnu/system/install.scm (make-cow-store): Bind-mount TARGET's /tmp on /tmp.
* system: Do not export PS1 in /etc/skel/.bashrc.Alex Griffin2016-05-06
| | | | | | | * gnu/system/shadow.scm (default-skeletons)[bashrc]: Remove "export" for 'PS1'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* tests: Add whole-system test.Ludovic Courtès2016-05-04
| | | | | | | * gnu/system/vm.scm (virtualized-operating-system): Export. * gnu/tests/base.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * Makefile.am (check-system): New target.
* Add (gnu tests) and (gnu build marionette).Ludovic Courtès2016-05-04
| | | | | | * gnu/build/marionette.scm, gnu/tests.scm: New files. * gnu/local.mk (GNU_SYSTEM_MODULES): Add them. * gnu/system/vm.scm (common-qemu-options): Remove '-serial stdio'.
* guix system: Reduce size of image produced for 'vm' action.Ludovic Courtès2016-04-29
| | | | | | | | | | | This reduces the size of the image produced by 'guix system vm' from 26 MiB to 9 MiB. * gnu/system/vm.scm (system-qemu-image/shared-store): (system-qemu-image/shared-store-script): Change the default value of #:disk-image-size to 30 MiB when not FULL-BOOT?. * guix/scripts/system.scm (system-derivation-for-action): Likewise for the 'vm' action.
* mapped-devices: LUKS partitions can be designated by their UUID.Ludovic Courtès2016-04-18
| | | | | | | | | | * gnu/system/mapped-devices.scm (device-mapping-service-type): Add 'modules' and 'imported-modules' fields to 'shepherd-service'. (open-luks-device): Use 'find-partition-by-luks-uuid' to lookup the partition when SOURCE is a bytevector. * gnu/system/linux-initrd.scm (base-initrd): Augment 'use-modules' form. * doc/guix.texi (Mapped Devices): Give example with a UUID.
* mapped-devices: 'mapped-device-service' takes a <mapped-device>.Ludovic Courtès2016-04-18
| | | | | | | * 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.
* services: Move 'device-mapping-service' to (gnu system mapped-devices).Ludovic Courtès2016-04-18
| | | | | | | * gnu/services/base.scm (device-mapping-service-type) (device-mapping-service): Move to... * gnu/system/mapped-devices.scm (device-mapping-service-type): (device-mapping-service): ... here. New variables.
* system: Move 'luks-device-mapping' to (gnu system mapped-devices).Ludovic Courtès2016-04-18
| | | | | | * gnu/system.scm (open-luks-device, close-luks-device) (luks-device-mapping): Move to... * gnu/system/mapped-devices.scm: ... here. New file.
* system: Add (gnu system mapped-devices).Ludovic Courtès2016-04-18
| | | | | | | | | | * 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.
* install: Use 'beta' instead of 'alpha'.Ludovic Courtès2016-04-17
| | | | | | | Suggested by Jelle Licht <jlicht@fsfe.org>. * gnu/system/install.scm (installation-services): Say 'beta' instead of 'alpha' and make the warning less scary.
* install: Use 'info-reader' instead of Texinfo 4.Ludovic Courtès2016-03-24
| | | | | | * gnu/system/install.scm (installation-os)[packages]: Remove TEXINFO-4 since %BASE-PACKAGES already provides the Info reader. (log-to-info): Use INFO-READER instead of TEXINFO-4.
* install: Remove cgroup and elogind file systems.Ludovic Courtès2016-03-24
| | | | | * gnu/system/install.scm (installation-os): Explicitly list three file systems instead of using %BASE-FILE-SYSTEMS.
* install: Add /tmp as a tmpfs.Ludovic Courtès2016-03-24
| | | | | | | | Fixes <http://bugs.gnu.org/23056>. Reported by Michael Downey <shaggy814@yandex.com> and Kei <kei@openmailbox.org>. * gnu/system/install.scm (installation-os)[file-systems]: Add "/tmp".
* doc: Add "lightweight desktop" OS config example.Ludovic Courtès2016-03-23
| | | | | | | | | | | | * gnu/system/examples/desktop.tmpl (packages): Remove XFCE and RATPOISON. (services): Add 'gnome-desktop-service' and 'xfce-desktop-service'. * gnu/system/examples/lightweight-desktop.tmpl: New file. * Makefile.am (EXAMPLES): Add it. * doc.am (OS_CONFIG_EXAMPLES_TEXI): Add doc/os-config-lightweight-desktop.texi. * gnu/system/install.scm (/etc/configuration-files)[directory]: Add lightweight-desktop.tmpl.
* system: Make sure fonts are searched for in the system profile.Ludovic Courtès2016-03-20
| | | | | | | | | | | This fixes a bug whereby fonts in /run/current-system/profile would be invisible to Fontconfig. * gnu/packages/fontutils.scm (fontconfig): Add comment about system profile not being searched. * gnu/system/shadow.scm (default-skeletons)[fonts.conf-content, fonts.conf]: New variable. Add FONTS.CONF to the skeletons.
* system: Allow account skeletons to be directories.Ludovic Courtès2016-03-20
| | | | | | * gnu/system/shadow.scm (skeleton-directory): Use 'copy-recursively' instead of 'copy-file'. * gnu/build/activation.scm (copy-account-skeletons): Likewise.
* gnu: system: Add elogind cgroup mount.Andy Wingo2016-03-07
| | | | | * gnu/system/file-systems.scm (%elogind-file-systems): Add elogind cgroup mount.
* vm: Only pass "-enable-kvm" to qemu if /dev/kvm is present.Christopher Allan Webber2016-02-22
| | | | | | | | Fixes <http://bugs.gnu.org/22633>. * gnu/build/vm.scm (load-in-linux-vm): Only pass "-enable-kvm" flag to qemu if "/dev/kvm" is present. * gnu/system/vm.scm (common-kvm-options): Same as above.
* install: Add btrfs-progs to the image.Tobias Geerinckx-Rice2016-02-11
| | | | | | * gnu/system/install.scm (installation-os)[packages]: Add BTRFS-PROGS. Signed-off-by: Leo Famulari <leo@famulari.name>
* install: Do not cache lookup failures.Ludovic Courtès2016-02-10
| | | | | | | Possibly fixes <http://bugs.gnu.org/22209>. * gnu/system/install.scm (%nscd-minimal-caches)[negative-time-to-live]: Set to zero.
* system: Selected locale is automatically built.Ludovic Courtès2016-02-10
| | | | | | | | | | | | Fixes <http://bugs.gnu.org/22572>. Reported by Mark H Weaver <mhw@netris.org>. * gnu/system/locale.scm (%not-dot): New variable. (denormalize-codeset, locale-name->definition): New procedures. * gnu/system.scm (locale-name->definition*): New procedure. (operating-system-locale-directory): Instead of raising an error, add the missing locale. * doc/guix.texi (Locales): Adjust accordingly.
* linux-container: Accept file systems with a UUID 'source'.Ludovic Courtès2016-02-08
| | | | | * gnu/system/linux-container.scm (containerized-operating-system)[user-file-systems]: Check whether SOURCE is a string before calling 'string-prefix?'.
* file-systems: Spawn a Bournish REPL upon fsck failure.Ludovic Courtès2016-02-08
| | | | | | | | | | | | | Fixes <http://bugs.gnu.org/22588>. Reported by Mark H Weaver <mhw@netris.org>. * gnu/build/file-systems.scm (check-file-system): Pass %BOURNISH-LANGUAGE as the argument to 'start-repl'. * gnu/services.scm (activation-script): Add (guix build bournish). * gnu/services/base.scm (file-system-shepherd-service)[imported-modules]: Likewise. * gnu/system/linux-container.scm (container-script): Likewise. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise.
* Add (guix build bournish) and use it in the initrd.Ludovic Courtès2016-02-08
| | | | | | | * guix/build/bournish.scm: New file. * Makefile.am (MODULES): Add it. * gnu/system/linux-initrd.scm (base-initrd): Add (guix build bournish) and use it.
* system: pam: 'pam-root-service-type' can be extended with transformations.Ludovic Courtès2016-02-06
| | | | | | | | | | | * gnu/system/pam.scm (<pam-configuration>): New record type. (/etc-entry): Change 'services' parameter' to 'config'. Honor the 'transform' field of CONFIG. (extend-configuration): New procedure. (pam-root-service-type): Use EXTEND-CONFIGURATION as the 'extend' field. (pam-root-service): Add #:transform parameter. Service value is a <pam-configuration>.
* system: pam: Export accessors.Ludovic Courtès2016-02-06
| | | | * gnu/system/pam.scm: Export <pam-service> and <pam-entry> accessors.
* install: Add glibc to the global profile.Ludovic Courtès2016-02-04
| | | | | | Suggested by petter on #guix. * gnu/system/install.scm (installation-os)[packages]: Add glibc.
* linux-initrd: Add serpent_generic and wp512 to the default set of modules.Mark H Weaver2016-02-03
| | | | | | | | Adds modules needed for encrypted root partitions using the Serpent cipher or Whirlpool digest algorithms. * gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Add "serpent_generic" and "wp512".
* linux-initrd: Add hid-generic and hid-apple to the default set of modules.Mark H Weaver2016-02-03
| | | | | | | | Fixes keyboard of MacBook2,1 during early boot, e.g. for typing a password to mount an encrypted root partition. * gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Add "hid-generic" and "hid-apple".
* install: Make it clear that we refer to the root by label.Ludovic Courtès2016-02-01
| | | | | * gnu/system/install.scm (installation-os): Use (title 'label) for the root file system.
* services: Rename 'dmd' services to 'shepherd'.Alex Kost2016-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/services/shepherd.scm (dmd-root-service-type, %dmd-root-service) (dmd-service-type, <dmd-service>, dmd-service, dmd-service?) (make-dmd-service, dmd-service-documentation, dmd-service-provision) (dmd-service-requirement, dmd-service-respawn, dmd-service-start) (dmd-service-stop, dmd-service-auto-start?, dmd-service-modules) (dmd-service-imported-modules, dmd-service-file-name, dmd-service-file) (dmd-service-back-edges): Rename to... (shepherd-root-service-type, %shepherd-root-service, shepherd-service-type) (<shepherd-service>, shepherd-service, shepherd-service?) (make-shepherd-service, shepherd-service-documentation) (shepherd-service-provision, shepherd-service-requirement) (shepherd-service-respawn, shepherd-service-start) (shepherd-service-stop, shepherd-service-auto-start?) (shepherd-service-modules, shepherd-service-imported-modules) (shepherd-service-file-name, shepherd-service-file) (shepherd-service-back-edges): ...this * gnu/services.scm: Adjust comments. * gnu/services/avahi.scm (avahi-dmd-service): Rename to... (avahi-shepherd-service): ... this. * gnu/services/base.scm (%root-file-system-dmd-service) (file-system->dmd-service-name, mapped-device->dmd-service-name) (dependency->dmd-service-name, file-system-dmd-service) (mingetty-dmd-service, nscd-dmd-service, guix-dmd-service) (guix-publish-dmd-service, udev-dmd-service, gpm-dmd-service): Rename to... (%root-file-system-shepherd-service) (file-system->shepherd-service-name, mapped-device->shepherd-service-name) (dependency->shepherd-service-name, file-system-shepherd-service) (mingetty-shepherd-service, nscd-shepherd-service, guix-shepherd-service) (guix-publish-shepherd-service, udev-shepherd-service) (gpm-shepherd-service): ... this. * gnu/services/databases.scm (postgresql-dmd-service): Rename to... (postgresql-shepherd-service): ... this. * gnu/services/desktop.scm (upower-dmd-service, elogind-dmd-service): Rename to... (upower-shepherd-service, elogind-shepherd-service): ... this. * gnu/services/dbus.scm (dbus-dmd-service): Rename to... (dbus-shepherd-service): ... this. * gnu/services/lirc.scm (lirc-dmd-service): Rename to... (lirc-shepherd-service): ... this. * gnu/services/mail.scm (dovecot-dmd-service): Rename to... (dovecot-shepherd-service): ... this. * gnu/services/networking.scm (ntp-dmd-service, tor-dmd-service) (bitlbee-dmd-service, wicd-dmd-service, network-manager-dmd-service): Rename to... (dbus-shepherd-service): ... this. * gnu/services/ssh.scm (lsh-dmd-service): Rename to... (lsh-shepherd-service): ... this. * gnu/services/web.scm (nginx-dmd-service): Rename to... (nginx-shepherd-service): ... this. * gnu/services/xorg.scm (slim-dmd-service): Rename to... (slim-shepherd-service): ... this. * gnu/system.scm (essential-services): Use '%shepherd-root-service'. * gnu/system/install.scm (cow-store-service-type): Adjust accordingly. * guix/scripts/system.scm (dmd-service-node-label, dmd-service-node-type) (export-dmd-graph): Likewise. * tests/guix-system.sh: Likewise. * tests/services.scm ("dmd-service-back-edges"): Rename to... ("shepherd-service-back-edges"): Adjust accordingly. * doc/guix.texi: Likewise. * doc/images/service-graph.dot: Use 'shepherd' service name.
* Rename (gnu services dmd) to (gnu services shepherd).Alex Kost2016-01-29
| | | | | | | | | | | | | | | | | | | | | | | | * gnu/services/dmd.scm: Rename to... * gnu/services/shepherd.scm: ... this. * gnu/system.scm: Use it. * gnu/system/install.scm: Likewise. * gnu/services/xorg.scm: Likewise. * gnu/services/web.scm: Likewise. * gnu/services/ssh.scm: Likewise. * gnu/services/networking.scm: Likewise. * gnu/services/mail.scm: Likewise. * gnu/services/lirc.scm: Likewise. * gnu/services/desktop.scm: Likewise. * gnu/services/dbus.scm: Likewise. * gnu/services/databases.scm: Likewise. * gnu/services/base.scm: Likewise. * gnu/services/avahi.scm: Likewise. * guix/scripts/system.scm: Likewise. * tests/services.scm: Likewise. * tests/guix-system.sh: Likewise. * doc/guix.texi (Shepherd Services): Adjust accordingly. * gnu-system.am (GNU_SYSTEM_MODULES): Likewise. * po/guix/POTFILES.in: Likewise.
* system: grub: Search root device by label or UUID if possible.Ludovic Courtès2016-01-22
| | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/22281>. Reported by Christopher Allan Webber <cwebber@dustycloud.org>. * gnu/system/grub.scm (eye-candy): Add 'root-fs' parameter. Replace 'search --file' command in the output with whatever 'grub-root-search' returns. (grub-root-search): New procedure. (grub-configuration-file): Add 'store-fs' parameter. Use 'grub-root-search' instead of hard-coded 'search --file' commands. * gnu/system.scm (store-file-system, operating-system-store-file-system): New procedures. (operating-system-grub.cfg): Use it, and adjust call to 'grub-configuration-file'. * tests/system.scm: New file. * Makefile.am (SCM_TESTS): Add it.
* linux-initrd: Remove "usbkbd" from the default set of modules.Ludovic Courtès2016-01-17
| | | | | | | Reported by Ricardo Wurmus <rekado@elephly.net> at <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20433#39>. * gnu/system/linux-initrd.scm (base-initrd): Remove "usbkbd".
* file-systems: Move 'string->uuid' to the build side.Ludovic Courtès2016-01-01
| | | | | | * gnu/system/file-systems.scm (%uuid-rx, string->uuid): Move to... * gnu/build/file-systems.scm (%uuid-rx, string->uuid): ... here. New variables.
* system: Allow the root file system to have a UUID.Ludovic Courtès2016-01-01
| | | | | | | | | This is a followup to ab64483. * gnu/system.scm (mapped-device-user): Check whether the title of FS is 'device before calling 'string=?'. * gnu/system/vm.scm (virtualized-operating-system)[user-file-systems]: Likewise.
* file-systems: Add a 'mount?' field.Ludovic Courtès2015-12-22
| | | | | | | | | | | | | Fixes <http://bugs.gnu.org/22176>. Reported by Florian Paul Schmidt <mista.tapas@gmx.net>. * gnu/system/file-systems.scm (<file-system>)[mount?]: New field. (file-system->spec): Adjust accordingly. * gnu/services/base.scm (file-system-dmd-service): Return the empty list when FILE-SYSTEM has 'mount?' set to false. (user-processes-service): Select the subset of FILE-SYSTEMS that matches 'file-system-mount?'. * doc/guix.texi (File Systems): Document it.
* doc: Be more explicit in example of file-systems configuration.Leo Famulari2015-12-21
| | | | | | * gnu/system/examples/bare-bones.tmpl (file-systems): Change device label. * gnu/system/examples/desktop.tmpl (file-systems): Likewise.
* system: pam: Honor /etc/environment.宋文武2015-12-05
| | | | * gnu/system/pam.scm (unix-pam-service): Add pam_env module to the session group.