summaryrefslogtreecommitdiff
path: root/gnu/system
Commit message (Collapse)AuthorAge
* install: Set the mtime in the binary tarball to 1.Ludovic Courtès2015-10-17
| | | | | | | Reported by anthk_ on #guix in Sept. 2015. * gnu/system/install.scm (self-contained-tarball): Use --mtime=@1 instead of --mtime=@0.
* services: 'dmd-service-type' takes a service name.Ludovic Courtès2015-10-14
| | | | | | | * gnu/services/dmd.scm (dmd-service-type): Add 'service-name' parameter. * gnu/services/base.scm, gnu/services/networking.scm, gnu/system/install.scm: Adjust callers.
* Merge branch 'core-updates'Ludovic Courtès2015-10-12
|\
| * gnu: libc: Look for locale data under /run/current-system/locale/X.Y.Ludovic Courtès2015-09-30
| | | | | | | | | | | | | | | | | | * gnu/packages/base.scm (glibc)[arguments]: Append VERSION to 'libc_cv_localedir'. * gnu/system/locale.scm (localedef-command): Write to the sub-directory called (package-version libc) in #$output. (locale-directory): Create said directory. * doc/guix.texi (Locales): Mention the per-version sub-directory.
* | services: Introduce extensible services.Ludovic Courtès2015-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch rewrites GuixSD services to make them extensible. * gnu-system.am (GNU_SYSTEM_MODULES): Add gnu/services/dbus.scm. * gnu/services.scm (<service>): Replace with new record type. (<service-extension>, <service-type>): New record types. (write-service-type, compute-boot-script, second-argument): New procedures. (%boot-service, boot-service-type): New variables. (file-union, directory-union, modprobe-wrapper, activation-service->script, activation-script, gexps->activation-gexp): New procedures. (activation-service-type, %activation-service): New variables. (etc-directory, files->etc-directory, etc-service): New procedures. (etc-service-type, setuid-program-service, firmware-service-type): New variables. (firmware->activation-gexp): New procedure. (&service-error, &missing-target-service-error, &ambiguous-target-service-error): New condition types. (service-back-edges, fold-services): New procedures. * gnu/services/avahi.scm (<avahi-configuration>): New record type. (configuration-file): Replace keyword parameters with a single 'config' parameter. (%avahi-accounts, %avahi-activation, avahi-service-type): New variables. (avahi-dmd-service): New procedure. (avahi-service): Rewrite using 'service' and 'avahi-configuration'. * gnu/services/base.scm (%root-file-system-dmd-service, root-file-system-service-type): New variables. (root-file-system-service): Use them. (file-system->dmd-service-name): New procedure. (file-system-service-type): New variable. (file-system-service): Use it. Replace keyword parameters with a single 'file-system' object. (user-unmount-service-type): New variable. (user-unmount-service): Use it. (user-processes-service-type): New variable. (user-processes-service): Use it. (host-name-service-type): New variable. (host-name-service): Use it. (console-keymap-service-type): New variable. (console-keymap-service): Use it. (console-font-service-type): New variable. (console-font-service): Use it. (mingetty-pam-service, mingetty-dmd-service): New procedures. (mingetty-service-type): New variable. (mingetty-service): Use it. (nscd-dmd-service): New procedure. (nscd-activation, nscd-service-type): New variables. (nscd-service): Use the latter. (syslog-service-type): New variable. (syslog-service): Use it. (<guix-configuration>): New record type. (%default-guix-configuration): New variable. (guix-dmd-service, guix-accounts, guix-activation): New procedures. (guix-service-type): New variable. (guix-service): Replace list of keyword parameters with a single 'config' parameter. Rewrite using 'service'. (<udev-configuration>): New record type. (udev-dmd-service): New procedure. (udev-service-type): New variable. (udev-service): Use it. (device-mapping-service-type): New variable. (device-mapping-service): Use it. (swap-service-type): New variable. (swap-service): Use it. * gnu/services/databases.scm (<postgresql-configuration>): New record type. (%postgresql-accounts, postgresql-activation): New variables. (postgresql-dmd-service): New procedure. (postgresql-service): Rewrite using 'service' and 'postgresql-configuration'. * gnu/services/dbus.scm: New file. * gnu/services/desktop.scm (dbus-configuration-directory, dbus-service): Remove. (wrapped-dbus-service): New procedure. (<upower-configuration>): New record type. (upower-configuration-file): Replace keyword parameters with single <upower-configuration> parameter. (%upower-accounts, %upower-activation): New variables. (upower-dbus-service, upower-dmd-service): New procedures. (upower-service-type): New variable. (upower-service): Rewrite using 'service' and 'upower-configuration'. (%colord-activation, %colord-accounts): New variables. (colord-dmd-service): New procedure. (colord-service-type): New variable. (colord-service): Rewrite using 'service'. (<geoclue-configuration>): New record type. (geoclue-configuration-file): Replace keyword parameters with a single 'config' parameter. (geoclue-dbus-service, geoclue-dmd-service): New procedures. (%geoclue-accounts, geoclue-service-type): New variables. (geoclue-service): Rewrite using 'service' and 'geoclue-configuration'. (%polkit-accounts, %polkit-pam-services, polkit-service-type): New variables. (polkit-dmd-service): New procedure. (polkit-service): Rewrite using 'service'. (<elogind-configuration>)[elogind]: New field. (elogind-dmd-service): New procedure. (elogind-service-type): New variable. (elogind-service): Rewrite using 'service'. (%desktop-services): Remove argument to 'dbus-service'. Remove 'map' over %BASE-SERVICES. * gnu/services/dmd.scm (dmd-boot-gexp): New procedure. (dmd-root-service-type, %dmd-root-service): New variables. (dmd-service-type): New macro. (<dmd-service>): New record type. * gnu/services/lirc.scm (<lirc-configuration>): New record type. (%lirc-activation): New variable. (lirc-dmd-service): New procedure. (lirc-service-type): New variable. (lirc-service): Rewrite using 'service' and 'lirc-configuration'. * gnu/services/networking.scm (<static-networking>): New record type. (static-networking-service-type): New variable. (static-networking-service): Rewrite using 'service' and 'static-networking'. (dhcp-client-service-type): New variable. (dhcp-client-service): Rewrite using 'service'. (<ntp-configuration>): New record type. (ntp-dmd-service): New procedure. (ntp-service-type): New variable. (ntp-service): New procedure. (%tor-accounts, tor-service-type): New variable. (tor-dmd-service): New procedure. (tor-service): Rewrite using 'service'. (<bitlbee-configuration>): New record type. (bitlbee-dmd-service): New procedure. (%bitlbee-accounts, %bitlbee-activation, bitlbee-service-type): New variables. (bitlbee-service): Rewrite using 'service'. (%wicd-activation): New variable. (wicd-dmd-service): New procedure. (wicd-service-type): New variable. (wicd-service): Rewrite using 'service'. * gnu/services/ssh.scm (<lsh-configuration>): New record type. (activation): Rename to... (lsh-initialization): ... this. (lsh-activation, lsh-dmd-service, lsh-pam-services): New procedures. (lsh-service-type): New variable. (lsh-service): Rewrite using 'service' and 'lsh-configuration'. * gnu/services/web.scm (<nginx-configuration>): New record type. (%nginx-accounts): New variable. (nginx-activation, nginx-dmd-service): New procedures. (nginx-service-type): New variable. (nginx-service): Rewrite using 'service' and 'nginx-configuration'. * gnu/services/xorg.scm (<slim-configuration>): New record type. (slim-pam-service, slim-dmd-service): New procedures. (slim-service-type): New variable. (slim-service): Rewrite using 'service' and 'slim-configuration'. * gnu/system.scm (file-union): Remove. (other-file-system-services): Adjust to new 'file-system-service' signature. (essential-services): Add #:container? parameter. Add %DMD-ROOT-SERVICE, %ACTIVATION-SERVICE, and calls to 'pam-root-service', 'account-service', 'operating-system-etc-service', and a SETUID-PROGRAM-SERVICE instance. (operating-system-services): Pass #:container? to 'essential-services. (etc-directory): Remove. (operating-system-etc-service): New procedure. Rewrite as a call to 'etc-service'. (operating-system-accounts): Change to not return accounts required by services. (operating-system-etc-directory): Rewrite as a call to 'fold-services' and 'etc-directory'. (user-group->gexp, user-account->gexp, modprobe-wrapper): Remove. (operating-system-activation-script): Rewrite as a call to 'fold-services' and 'activation-service->script'. (operating-system-boot-script): Likewise. (operating-system-derivation): Add call to 'lower-object'. (emacs-site-file, emacs-site-directory, shells-file): Change to use 'computed-file' and 'scheme-file' instead of the monadic procedures. * gnu/system/install.scm (cow-store-service-type): New variable. (cow-store-service): Rewrite using 'service'. (/etc/configuration-files): New procedure. (configuration-template-service-type, %configuration-template-service): New variables. (configuration-template-service): Remove. (installation-services): Adjust accordingly. Adjust argument to 'guix-service'. * gnu/system/linux.scm (/etc-entry, pam-root-service): New procedures. (pam-root-service-type): New variable. * gnu/system/shadow.scm (user-group->gexp, user-account->gexp, account-activation, etc-skel, account-service): New procedures. (account-service-type): New variable. * tests/services.scm: New file. * doc/guix.texi (Base Services, Desktop Services): Adjust accordingly. (Defining Services): Rewrite. * doc/images/service-graph.dot: New file. * doc.am (DOT_FILES): Add it. * po/guix/POTFILES.in: Add gnu/services.scm.
* | system: Account skeleton API is non-monadic.Ludovic Courtès2015-10-10
| | | | | | | | | | | | | | * gnu/system/shadow.scm (default-skeletons): Use the non-monadic procedures and turn into a regular procedure. (skeleton-directory): Likewise. * gnu/system.scm (etc-directory): Adjust accordingly.
* | system: pam: Use 'computed-file' instead of 'gexp->derivation'.Ludovic Courtès2015-10-10
| | | | | | | | | | | | | | * gnu/system/linux.scm (pam-service->configuration): Use 'computed-file' instead of 'gexp->derivation'. (pam-services->directory): Likewise. * gnu/system.scm (etc-directory): Adjust accordingly.
* | services: mingetty-service: Use <mingetty-configuration> objects.Ludovic Courtès2015-10-10
| | | | | | | | | | | | | | | | | | * gnu/services/base.scm (<mingetty-configuration>): New record type. (mingetty-service): Expect a single <mingetty-configuration> instead of keyword arguments. (%base-services): Adjust accordingly. * gnu/system/install.scm (installation-services): Likewise. * doc/guix.texi (Base Services): Adjust accordingly.
* | system: Make service procedures non-monadic.Ludovic Courtès2015-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/services/avahi.scm (configuration-file): Use 'plain-file' instead of 'text-file'. (avahi-service): Turn into a regular procedure that returns a <service>. * gnu/services/base.scm (root-file-system-service, file-system-service, user-unmount-service, user-processes-service, host-name-service, console-keymap-service, console-font-service, mingetty-service, nscd.conf-file, nscd-service): Likewise. (%default-syslog.conf): New variable. (syslog-service): Use it. Turn into a regular procedure. (guix-service, udev-rules-union, kvm-udev-rule, udev-service, device-mapping-service, swap-service): Likewise. * gnu/services/databases.scm (%default-postgres-hba, %default-postgres-ident): Use 'plain-file' instead of 'text-file'. (%default-postgres-config): Use 'mixed-text-file' instead of 'text-file*'. (postgresql-service): Use 'program-file' instead of 'gexp->script'. Turn into a regular procedure. * gnu/services/desktop.scm (dbus-configuration-directory): Use 'computed-file' instead of 'gexp->derivation'. (upower-configuration-file, geoclue-configuration-file, elogind-configuration-file): Use 'plain-file' instead of 'text-file'. (dbus-service, upower-service, colord-service, geoclue-service, polkit-service, elogind-service): Turn into regular procedures. (%desktop-services): Remove use of 'mlet' when iterating on %BASE-SERVICES. * gnu/services/lirc.scm (lirc-service): Turn into a regular procedure. * gnu/services/networking.scm (static-networking-service, dhcp-client-service, ntp-service, tor-service, bitlbee-service, wicd-service): Likewise. * gnu/services/ssh.scm (lsh-service): Likewise. * gnu/services/web.scm (nginx-service): Likewise. * gnu/services/xorg.scm (xorg-configuration-file): Use 'mixed-text-file' instead of 'text-file*'. (xorg-start-command, slim-service): Turn into regular procedures. (xinitrc): Use 'program-file' instead of 'gexp->script'. * gnu/system/install.scm (cow-store-service, configuration-template-service): Turn into regular procedures. * gnu/system.scm (other-file-system-services, device-mapping-services, swap-services, essential-services, operating-system-services, user-shells, operating-system-accounts): Remove now unnecessary 'mlet' and turn into regular procedures. (operating-system-etc-directory, operating-system-activation-script, operating-system-boot-script): Adjust accordingly. * doc/guix.texi (Base Services, Networking Services, X Window, Desktop Services, Database Services, Web Services, Various Services, Name Service Switch): Adjust accordingly.
* | services: 'mingetty-service' no longer takes monadic values.Ludovic Courtès2015-10-10
|/ | | | | | | | | | | | | * gnu/services/base.scm (mingetty-service): Change default value of #:motd from a monadic value to a <plain-file>. Assume MOTD to be a file-like object. Assume LOGIN-PROGRAM is a gexp or #f. (%base-services): Use 'plain-file' instead of 'text-file' for motd. * gnu/system/linux.scm (unix-pam-service): Update docstring to mention that MOTD is a file-like object. * doc/guix.texi (Base Services): Adjust 'mingetty-service' documentation accordingly. * gnu/system/install.scm (installation-services): Adjust accordingly. (log-to-info): Use 'program-file' instead of 'gexp->script'.
* Merge branch 'master' into core-updatesMark H Weaver2015-09-22
|\
| * linux-initrd: Add LUKS/dm-crypt modules to the initrd.Ludovic Courtès2015-09-20
| | | | | | | | | | | | | | | | | | | | Suggested by Petter <petter@mykolab.ch> and Mark H Weaver <mhw@netris.org>. Partly fixes <http://bugs.gnu.org/19190>. * gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Add dm-crypt and xts.
| * linux-boot: Mount /dev as a devtmpfs from the start.Ludovic Courtès2015-09-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Suggested by Petter <petter@mykolab.ch> and Mark H Weaver <mhw@netris.org>. Reported by Duncan Keall <duncan@duncankeall.com>. Partly fixes <http://bugs.gnu.org/19190> by populating /dev/mapper early enough. * gnu/build/linux-boot.scm (mount-essential-file-systems): Mount /dev as a devtmpfs. (move-essential-file-systems): Add /dev. (mount-root-file-system): Mount /rw-root/dev as a devtmpfs instead of calling 'make-essential-device-nodes'. (boot-system): Remove call to 'make-essential-device-nodes'. * gnu/system/file-systems.scm (%devtmpfs-file-system): Remove. * doc/guix.texi (File Systems): Adjust accordingly.
| * gnu: system: Add Linux container module.David Thompson2015-09-14
| | | | | | | | | | | | | | | | | | | | | | | | * gnu/system/linux-container.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * gnu/system.scm: Export 'operating-system-etc-directory', 'operating-system-boot-script', 'operating-system-locale-directory', and 'file-union'. (operating-system-boot-script): Add #:container? keyword argument. (operating-system-activation-script): Add #:container? keyword argument. Don't call 'activate-firmware' or 'activate-ptrace-attach' when activating a container.
* | Merge branch 'master' into core-updatesLudovic Courtès2015-09-13
|\|
| * Revert "services: 'mingetty-service' no longer takes monadic values."Ludovic Courtès2015-09-13
| | | | | | | | This reverts commit daa48c31797b27e3a0991d0db7406c951ebc86df.
| * services: 'mingetty-service' no longer takes monadic values.Ludovic Courtès2015-09-13
| | | | | | | | | | | | | | | | | | | | | | * gnu/services/base.scm (mingetty-service): Change default value of #:motd from a monadic value to a <plain-file>. Assume MOTD to be a file-like object. Assume LOGIN-PROGRAM is a gexp or #f. (%base-services): Use 'plain-file' instead of 'text-file' for motd. * gnu/system/linux.scm (unix-pam-service): Update docstring to mention that MOTD is a file-like object. * doc/guix.texi (Base Services): Adjust 'mingetty-service' documentation accordingly.
| * file-systems: Add %elogind-file-systems; add it to %base-file-systems.Mark H Weaver2015-09-10
| | | | | | | | | | * gnu/system/file-systems.scm (%elogind-file-systems): New variable. (%base-file-systems): Add %elogind-file-systems.
| * gnu: wpa-supplicant-light: Rename to wpa-supplicant-minimal.Alex Kost2015-09-06
| | | | | | | | | | | | | | * gnu/packages/admin.scm (wpa-supplicant-light): Rename to ... (wpa-supplicant-minimal): ...this. (wpa-supplicant): Use it. * gnu/system/install.scm (installation-os): Use it.
| * doc: Mention the "normalized codeset" used in locale names.Ludovic Courtès2015-08-29
| | | | | | | | | | | | | | | | * doc/guix.texi (Locales): Introduce "codeset". <%default-locale-definitions>: Mention the "normalized codeset", with an xref to libc's manual. * gnu/system/locale.scm (%default-locale-definitions)[utf8-locale]: Mention the "normalized codeset" in a comment.
* | Build tarballs with deterministic file ordering.Mark H Weaver2015-09-03
|/ | | | | | | | * guix/packages.scm (patch-and-repack)[build], gnu/system/install.scm (self-contained-tarball)[build], gnu/packages/make-bootstrap.scm (tarball-package), gnu/packages/admin.scm (isc-dhcp), gnu/packages/video.scm (avidemux): Pass "--sort=name" to 'tar'.
* system: Make PAM store SHA-512 encrypted passwords in /etc/shadow.宋文武2015-08-24
| | | | | | | Fixes <http://bugs.gnu.org/21318>. * gnu/system/linux.scm (unix-pam-service)[password]: Add 'sha512' and 'shadow' to arguments.
* vm: Make the list of partitions to build a parameter.Ludovic Courtès2015-07-26
| | | | | | | | | | | | | | | | | * gnu/build/vm.scm (<partition>): New record type. (fold2): New procedure. (initialize-partition-table): Remove #:bootable? and 'partition-size' parameters. Add 'partitions' parameter. Invoke 'parted' with '--script'. (initialize-root-partition): Remove. (initialize-partition, root-partition-initializer): New procedures. (initialize-hard-disk): Remove #:system-directory, #:disk-image-size, #:file-system-type, #:file-system-label, #:closures, #:copy-closures?, #:bootable?, and #:register-closures? parameters. Add #:partitions. Rewrite to use 'initialize-partition' for each item of PARTITIONS. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Add (guix records) to #:modules default value. (qemu-image): Adjust accordingly.
* vm: Use the 'umount' procedure instead of util-linux's 'umount' command.Ludovic Courtès2015-07-24
| | | | | | * gnu/build/vm.scm (initialize-root-partition, initialize-hard-disk): Use the 'umount' procedure instead of invoking the 'umount' command. * gnu/system/vm.scm (qemu-image): Remove UTIL-LINUX from INPUTS.
* file-systems: Subsystem cgroups now depend on /sys/fs/cgroup.Ludovic Courtès2015-07-17
| | | | | * gnu/system/file-systems.scm (%control-groups): Define 'parent' variable. Initialize the 'dependencies' field for all the subsystems.
* file-systems: Add a 'dependencies' field to <file-system>.Ludovic Courtès2015-07-17
| | | | | | | * gnu/system/file-systems.scm (<file-system>)[dependencies]: New field. * gnu/system.scm (other-file-system-services)[requirements]: Honor 'file-system-dependencies'. * doc/guix.texi (File Systems): Document it.
* system: Use the CRDA udev rules.Ludovic Courtès2015-07-17
| | | | | | * gnu/services/base.scm (%base-services): Add CRDA to the #:rules of 'udev-service'. * gnu/system/install.scm (installation-services): Likewise.
* system: Add 'kernel-arguments' field.Ludovic Courtès2015-07-17
| | | | | | | | | | | | * gnu/system.scm (<operating-system>)[kernel-arguments]: New field. (operating-system-grub.cfg): Honor it. (operating-system-parameters-file): Add 'kernel-arguments' to the parameters file. * guix/scripts/system.scm (previous-grub-entries)[system->grub-entry]: Read the 'kernel-arguments' field of the parameters file, when available. * gnu/system/vm.scm (system-qemu-image/shared-store-script): Use (operating-system-kernel-arguments os) in '-append'. * doc/guix.texi (operating-system Reference): Document it.
* system: Fix typo in 'PS1' in skeleton '.bashrc'.Ludovic Courtès2015-07-17
| | | | * gnu/system/shadow.scm (default-skeletons): Move misplaced backslash.
* install: Reset the mtimes of all the files in the binary tarball.Ludovic Courtès2015-07-16
| | | | | | * gnu/system/install.scm (self-contained-tarball): Pass "--mtime=@0". The only files whose mtime was not already were those in /var/guix and /gnu/store/.links.
* file-systems: 'uuid' raises a syntax error for invalid UUIDs.Ludovic Courtès2015-07-16
| | | | | | * gnu/system/file-systems.scm (uuid): Call 'syntax-violation' when 'string->uuid' returns #f. * tests/file-systems.scm ("uuid, syntax error"): New test.
* file-systems: Allow users to specify file system UUIDs as strings.Ludovic Courtès2015-07-14
| | | | | | | | | | | | Fixes <http://bugs.gnu.org/19778>. Reported by Mark H Weaver <mhw@netris.org>. * gnu/system/file-systems.scm (%uuid-rx): New variable. (string->uuid): New procedure. (uuid): New macro. * tests/file-systems.scm: New file. * Makefile.am (SCM_TESTS): Add it. * doc/guix.texi (File Systems): Give an example of UUID.
* gnu: file-systems: Fix typo.Mathieu Lirzin2015-07-13
| | | | | * gnu/system/file-systems.scm (%container-file-systems): Fix typo in a comment.
* install: Fix variable reference to iproute2 package.Mark H Weaver2015-07-11
| | | | | | | This is a followup to commit d43002f64599fb80294d4c00e3a682a2776c885c. * gnu/system/install.scm (installation-os)[packages]: Refer to IPROUTE instead of IPROUTE2.
* install: Add iproute2 to the installation image.Ludovic Courtès2015-07-11
| | | | | | | Fixes <http://bugs.gnu.org/21019>. Reported by <info@danieleparisi.me>. * gnu/system/install.scm (installation-os)[packages]: Add IPROUTE2.
* gnu: Include (guix build syscalls) module in initrd/VM derivations.David Thompson2015-07-10
| | | | | | | | | | This bug was introduced in commit 85c3127. Thanks to Christopher Webber for reporting it. * gnu/syste/linux-initrd.scm (base-initrd): Include (guix build syscalls) module in derivation. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise.
* gnu: system: Add Linux container file systems.David Thompson2015-07-09
| | | | * gnu/system/file-systems.scm (%container-file-systems): New variable.
* gnu: system: Move file-system->spec to (gnu system file-systems).David Thompson2015-07-07
| | | | | * gnu/system/linux-initrd.scm (file-system->spec): Move this... * gnu/system/file-systems.scm: ... to here.
* gnu: system: Move <file-system-mapping> into (gnu system file-systems).David Thompson2015-07-07
| | | | | | * gnu/system/vm.scm (<file-system-mapping>, %store-mapping): Move from here... * gnu/system/file-systems.scm: ...to here. * guix/scripts/system.scm: Import (gnu system file-systems).
* environment: Define 'GUIX_ENVIRONMENT'.Ludovic Courtès2015-07-01
| | | | | | | * guix/scripts/environment.scm (create-environment): Define 'GUIX_ENVIRONMENT'. * doc/guix.texi (Invoking guix environment): Document it. * gnu/system/shadow.scm (default-skeletons): Adjust 'PS1' depending on whether 'GUIX_ENVIRONMENT' is defined.
* linux-initrd: Use (guix cpio) instead of GNU cpio.Ludovic Courtès2015-06-24
| | | | | | | | | * gnu/build/linux-initrd.scm (write-cpio-archive): Remove 'open-pipe*' and related calls. Compute list of files in 'files' variable. Use 'cpio:write-cpio-archive'. Remove #:cpio parameter. (build-initrd): Remove #:cpio parameter. * gnu/system/linux-initrd.scm (expression->initrd): Likewise, and adjust BUILDER accordingly. Add (guix cpio) to #:modules.
* gnu: Add control group file systems.David Thompson2015-06-19
| | | | | * gnu/system/file-systems.scm (%control-groups): New variable. (%base-file-system): Include control group file systems.
* install: Turn off deduplication for the binary tarball.Ludovic Courtès2015-06-18
| | | | | | | | * gnu/build/install.scm (register-closure): Add #:deduplicate? parameter and honor it. (populate-single-profile-directory): Likewise. * gnu/system/install.scm (self-contained-tarball): Pass #:deduplicate? #f. Invoke tar with --check-links.
* install: Use udev rules for device-mapper.Ludovic Courtès2015-06-12
| | | | | | | | Fixes <http://bugs.gnu.org/20791>. Reported by Benz Schenk <benz.schenk@uzh.ch>. * gnu/system/install.scm (installation-services): Add #:rules argument for 'udev-service'.
* install: Omit /root from the binary tarball.Ludovic Courtès2015-06-08
| | | | | | | | | Suggested by Thomas Schwinge <thomas@codesourcery.com>. * gnu/system/install.scm (self-contained-tarball): Remove "/root/.guix-profile" from the 'tar' arguments. * doc/guix.texi (Binary Installation): Add a step to create ~root/.guix-profile.
* install: Use the actual store name when building the tarball.Ludovic Courtès2015-05-27
| | | | | * gnu/system/install.scm (self-contained-tarball): Use (%store-directory) instead of "/gnu".
* system: Define '%base-user-accounts'.Ludovic Courtès2015-05-25
| | | | | | | | | * gnu/system/shadow.scm (%base-user-accounts): New variable. * gnu/system.scm (<operating-system>)[users]: Use it as the default value. * gnu/system/examples/bare-bones.tmpl (users): Use it. * gnu/system/examples/desktop.tmpl (users): Likewise. * doc/guix.texi (operating-system Reference, User Accounts): Adjust accordingly.
* system: Make sure user accounts refer to existing groups.Ludovic Courtès2015-05-24
| | | | | | | | | | | Fixes <http://bugs.gnu.org/20646>. Reported by David Thompson <davet@gnu.org>. * gnu/system/shadow.scm (assert-valid-users/groups): New procedure * gnu/system.scm (operating-system-activation-script): Use it. * tests/guix-system.sh (make_user_config): New function. Add 3 tests using it. * po/guix/POTFILES.in: Add gnu/system/shadow.scm.
* install: Omit /, /root, and /var from binary tarball.Mark H Weaver2015-05-20
| | | | | | * gnu/system/install.scm (self-contained-tarball): Pass "./root/.guix-profile", "./var/guix", and "./gnu" to 'tar' command instead of ".".
* install: Files in the tarball are all root-owned.Ludovic Courtès2015-05-18
| | | | | | | | Fixes a thinko introduced in 175ced4. * gnu/system/install.scm (self-contained-tarball): Use "root:0" as the owner and group. * doc/guix.texi (Binary Installation): Revert 175ced4.