Commit Graph

390 Commits

Author SHA1 Message Date
Ludovic Courtès
239c6e2762
system: Use 'source-module-closure' where needed.
* 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.
2016-09-05 00:06:47 +02:00
Ludovic Courtès
38c2b50354
Reinstate "services: elogind: Provide '%elogind-file-systems' by extension."
This reverts commit 17073dafc5.
2016-09-01 14:57:03 +02:00
Ludovic Courtès
d03db7434b
system: Do not create the home directory of "nobody".
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".
2016-08-28 15:11:18 +02:00
Ludovic Courtès
eb56ee027b
system: Add 'create-home-directory?' field to <user-account>.
* 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.
2016-08-28 15:11:18 +02:00
Mark H Weaver
17073dafc5
Revert "services: elogind: Provide '%elogind-file-systems' by extension."
This reverts commit 3cf319a3f8.
2016-08-22 08:16:37 -04:00
Ludovic Courtès
3cf319a3f8
services: elogind: Provide '%elogind-file-systems' by extension.
* 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.
2016-08-22 00:20:48 +02:00
Ludovic Courtès
d77a0bd6f1
ui: Remove dependency on (gnu system file-systems).
* guix/ui.scm (specification->file-system-mapping): Move to...
* gnu/system/file-systems.scm (specification->file-system-mapping):
... here.
2016-08-04 19:38:33 +02:00
Mark H Weaver
536fc5f8cd
Merge branch 'core-updates' 2016-08-04 08:17:05 -04:00
Mark H Weaver
0832787e5c
Revert "Merge branch 'core-updates'"
This reverts commit 455859a50f.
2016-08-04 08:16:38 -04:00
Ludovic Courtès
10618627bf
mapped-devices: raid-device-mapping: Avoid non-top-level 'use-modules'.
Fixes <http://bugs.gnu.org/24135>.
Reported by myglc2 <myglc2@gmail.com>.

* gnu/system/mapped-devices.scm (open-raid-device): Avoid non-top-level
'use-modules' form.
2016-08-03 00:07:06 +02:00
Ludovic Courtès
873b51b340
mapped-devices: Bail out when RAID sources don't show up.
* gnu/system/mapped-devices.scm (open-raid-device): Bail out after 20
loop iterations.
2016-08-02 13:53:25 +02:00
Ludovic Courtès
7f8ad82bf2
mapped-devices: Make RAID device opening message clearer.
* gnu/system/mapped-devices.scm (open-raid-device): Rename 'source' to
'sources'.  Make 'waiting' message more informative.
(close-raid-device): Rename 'source' to 'sources'.
2016-08-02 13:53:25 +02:00
Ludovic Courtès
dfe06f6e7f
mapped-devices: Do not always use (gnu build file-systems).
Fixes <http://bugs.gnu.org/24129>.
Reported by myglc2 <myglc2@gmail.com>.

* gnu/system/mapped-devices.scm (device-mapping-service-type): Remove
'modules' field from 'shepherd-service' form.
(open-luks-device): Add 'use-modules' form.
2016-08-02 13:53:25 +02:00
Ludovic Courtès
455859a50f
Merge branch 'core-updates' 2016-08-01 23:30:52 +02:00
Ludovic Courtès
a8cb87abe9
install: Add nvi to the image.
* gnu/system/install.scm (installation-os)[packages]: Add NVI.
* doc/guix.texi (Proceeding with the Installation): Mention it.
2016-08-01 23:08:48 +02:00
Andreas Enge
e309c75610
Merge remote-tracking branch 'origin/master' into core-updates 2016-07-28 11:08:55 +02:00
Andreas Enge
97c8aef15d
system: Add mapped devices for RAID.
* gnu/system/mapped-devices.scm (raid-device-mapping, open-raid-device,
close-raid-device): New variables.
* doc/guix.texi (Mapped Devices): Add documentation for RAID devices,
reorganize documentation for LUKS devices.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-07-25 22:22:21 +02:00
Ludovic Courtès
7575655212
Merge branch 'master' into core-updates 2016-07-20 11:42:17 +02:00
Ricardo Wurmus
909147e43f
services: Add pam-limits-service.
* 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.
2016-07-19 23:50:03 +02:00
Andreas Enge
f0fbf2c11c
install: Add mdadm to the image.
* gnu/system/install.scm (installation-os)[packages]: Add mdadm.
2016-07-15 10:41:14 +02:00
Ludovic Courtès
2d94702ff4
system: Change the shell of 'nobody' to 'nologin'.
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".
2016-07-13 23:42:35 +02:00
Ludovic Courtès
a91c3fc727
services: <shepherd-service> no longer has an 'imported-modules' field.
* 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'.
2016-07-12 22:47:08 +02:00
Ludovic Courtès
fd12989398
gnu: Use 'gexp->file' in conjunction with 'with-imported-modules'.
* 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'.
2016-07-12 22:47:08 +02:00
Ludovic Courtès
43dcce8674
linux-container: Fix list of imported modules.
This fixes a regression introduced in
958dd3ce68.

* gnu/system/linux-container.scm (container-script)[script]: Add (guix
combinators) to the list of imported modules.
2016-07-12 22:47:08 +02:00
Ludovic Courtès
4ee96a7912
gnu: Switch to 'with-imported-modules'.
* 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.
2016-07-12 22:47:08 +02:00
Jan Nieuwenhuizen
ad85791265
gnu: linux-initrd: Support NVMe devices.
* gnu/system/linux-initrd.scm (base-initrd): Add nvme to linux-modules.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-06-29 16:08:46 +02:00
Ludovic Courtès
01497dfe6c
Merge branch 'master' into core-updates 2016-06-27 09:30:01 +02:00
Ludovic Courtès
bae90dc7e7
install: Pass a relative file name to 'local-file'.
This is a followup to cbbbb7be0f.

* gnu/system/install.scm (/etc/configuration-files): Pass a relative
file name to 'local-file'.
2016-06-21 12:23:34 +02:00
Ludovic Courtès
aeafff536f
Merge branch 'master' into core-updates 2016-06-07 11:54:03 +02:00
Ludovic Courtès
b2c108ff33
file-systems: Remove unneeded import.
* gnu/system/file-systems.scm: Remove import of (guix gexp), unneeded
since commit 060d62a740.
2016-06-06 18:14:52 +02:00
Ludovic Courtès
0adabad72d
install: 'cow-store' now bind-mounts the target's /tmp.
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.
2016-05-31 23:38:51 +02:00
Leo Famulari
eb74eb4199
Merge branch 'master' into core-updates 2016-05-13 02:08:11 -04:00
Alex Griffin
ba2613bb4e
system: Do not export PS1 in /etc/skel/.bashrc.
* gnu/system/shadow.scm (default-skeletons)[bashrc]: Remove "export"
for 'PS1'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-05-06 13:25:30 +02:00
Ludovic Courtès
e9f693d06f
tests: Add whole-system test.
* 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.
2016-05-04 23:35:55 +02:00
Ludovic Courtès
957afcae3c
Add (gnu tests) and (gnu build marionette).
* 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'.
2016-05-04 23:35:55 +02:00
Mathieu Lirzin
c3052d6bcd Merge branch 'master' into core-updates 2016-05-02 17:53:40 +02:00
Ludovic Courtès
4c0416ae17
guix system: Reduce size of image produced for 'vm' action.
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.
2016-04-29 18:05:44 +02:00
Ludovic Courtès
ffba7d498d mapped-devices: LUKS partitions can be designated by their UUID.
* 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.
2016-04-18 01:24:06 +02:00
Ludovic Courtès
4da8c19e83 mapped-devices: 'mapped-device-service' takes a <mapped-device>.
* 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-18 01:24:06 +02:00
Ludovic Courtès
1ea507bce2 services: Move 'device-mapping-service' to (gnu system mapped-devices).
* 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.
2016-04-18 01:24:06 +02:00
Ludovic Courtès
374f14c265 system: Move 'luks-device-mapping' to (gnu system mapped-devices).
* gnu/system.scm (open-luks-device, close-luks-device)
(luks-device-mapping): Move to...
* gnu/system/mapped-devices.scm: ... here.  New file.
2016-04-18 01:24:06 +02:00
Ludovic Courtès
060d62a740 system: Add (gnu system mapped-devices).
* 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-18 01:24:06 +02:00
Ludovic Courtès
c82c060d91 install: Use 'beta' instead of 'alpha'.
Suggested by Jelle Licht <jlicht@fsfe.org>.

* gnu/system/install.scm (installation-services): Say 'beta' instead of
'alpha' and make the warning less scary.
2016-04-17 17:37:20 +02:00
Ludovic Courtès
933d2fe4cf Merge branch 'master' into core-updates 2016-04-06 12:00:29 +02:00
Alex Kost
f8835ff4b3 gnu: fontconfig: Find fonts in the system profile.
Fixes <http://bugs.gnu.org/22927>.
Reported by myglc2 <myglc2@gmail.com>.

This also reverts commit e71ef7adae.

* gnu/packages/fontutils.scm (fontconfig)[arguments]: Add
/run/current-system/profile/share/fonts to --with-add-fonts configure flag.
* gnu/system/shadow.scm (default-skeletons): Do not create "fonts.conf" file.
2016-04-03 10:37:44 +03:00
Ludovic Courtès
68abb9b04c install: Use 'info-reader' instead of Texinfo 4.
* 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.
2016-03-24 22:47:15 +01:00
Ludovic Courtès
0feefb530f install: Remove cgroup and elogind file systems.
* gnu/system/install.scm (installation-os): Explicitly list three file
systems instead of using %BASE-FILE-SYSTEMS.
2016-03-24 22:47:15 +01:00
Ludovic Courtès
ee03b75dfb install: Add /tmp as a tmpfs.
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".
2016-03-24 22:47:15 +01:00
Ludovic Courtès
d038b674cf doc: Add "lightweight desktop" OS config example.
* 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.
2016-03-23 00:23:12 +01:00
Ludovic Courtès
e71ef7adae system: Make sure fonts are searched for in the system profile.
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.
2016-03-20 15:27:44 +01:00