Ludovic Courtès
0c09a306e5
system: Make sure user accounts refer to existing groups.
...
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.
2015-05-24 18:02:54 +02:00
Mark H Weaver
b2a5fa594e
install: Omit /, /root, and /var from binary tarball.
...
* gnu/system/install.scm (self-contained-tarball): Pass
"./root/.guix-profile", "./var/guix", and "./gnu" to 'tar' command instead
of ".".
2015-05-20 13:03:03 -04:00
Ludovic Courtès
01dbc7e01a
install: Files in the tarball are all root-owned.
...
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
.
2015-05-18 00:43:28 +02:00
Ludovic Courtès
175ced413c
install: Use the right user and group name for files in the binary tarball.
...
Suggested by Andreas Enge <andreas@enge.fr>
at <http://lists.gnu.org/archive/html/guix-devel/2015-05/msg00220.html >.
* gnu/system/install.scm (self-contained-tarball): Pass --owner and
--group to 'tar'.
* doc/guix.texi (Binary Installation): Move group and account creation
before extraction. Make "run the daemon" a separate step.
2015-05-18 00:12:39 +02:00
Mark H Weaver
b599e9ebf5
install: desktop.tmpl: Add "netdev" to the user's supplementary groups.
...
* gnu/system/examples/desktop.tmpl: Add "netdev" to the user's supplementary
groups.
2015-05-11 22:40:31 -04:00
Ludovic Courtès
efb5e833ba
doc: Document X.509 certificates.
...
* doc/guix.texi (Using the Configuration System): Add xref to "X.509
Certificates".
(X.509 Certificates): New section.
* gnu/system/examples/desktop.tmpl: Use NSS-CERTS.
2015-05-11 23:01:20 +02:00
Ludovic Courtès
e1fbc32a0a
install: Have several OS config templates under /etc/configuration.
...
* gnu/system/install.scm (configuration-template-service): Remove
'local-template' and 'template'. Add 'search' and 'templates'.
[activate]: Copy all of TEMPLATES to /etc/configuration.
* doc/guix.texi (System Installation): Adjust file name accordingly.
2015-05-09 23:53:36 +02:00
Ludovic Courtès
36ffaca246
doc: Add desktop configuration example.
...
* gnu/system/examples/bare-bones.tmpl: Change 'packages' and
'host-name'. Remove D-Bus, Avahi, and SLiM services, and add lsh
instead.
* gnu/system/examples/desktop.tmpl: New file.
* Makefile.am (EXAMPLES): Add it.
2015-05-09 23:53:36 +02:00
Ludovic Courtès
54d6223d2c
doc: Rename OS config example.
...
* gnu/system/os-config.tmpl: Rename to...
* gnu/system/examples/bare-bones.tmpl: ... this.
* Makefile.am (EXAMPLES): Adjust accordingly.
* doc.am (doc/os-config.texi): Likewise.
* gnu/system/install.scm (configuration-template-service)[template]:
Likewise.
2015-05-09 23:53:36 +02:00
Ludovic Courtès
15137a29c2
nss: Add '%mdns-host-lookup-nss'.
...
* gnu/system/nss.scm (%mdns-host-lookup-nss): New variable.
* doc/guix.texi (Name Service Switch): Document it.
2015-05-08 16:35:32 +02:00
Ludovic Courtès
cf2abac8ec
artwork: Update to latest version.
...
* gnu/artwork.scm (%artwork-repository): Update.
* gnu/services/xorg.scm (%default-slim-theme-name): Change to "0.x".
* gnu/system/grub.scm (%background-image): Change to
GuixSD-fully-black-4-3.svg.
2015-05-07 23:11:23 +02:00
Ludovic Courtès
f4bdfe7381
install: Add bash-completion to the packages.
...
* gnu/system/install.scm (installation-os)[packages]: Add
BASH-COMPLETION.
2015-05-03 00:08:37 +02:00
Ludovic Courtès
3392ce5d60
system: Make /gnu/store a read-only bind mount by default.
...
* gnu/system/file-systems.scm (%immutable-store): New variable.
(%base-file-systems): Add it.
* doc/guix.texi (File Systems): Document it.
2015-04-20 22:21:51 +02:00
Ludovic Courtès
9d3fb6c767
install: Add a procedure to build a self-contained binary tarball.
...
Suggested by Pjotr Prins <pjotr.public12@thebird.nl>
at <http://lists.gnu.org/archive/html/guix-devel/2015-04/msg00229.html >.
* gnu/build/install.scm (populate-single-profile-directory): New procedure.
* gnu/system/install.scm (self-contained-tarball): New procedure.
* Makefile.am (guix-binary.%.tar.xz): New target.
2015-04-14 23:20:26 +02:00
Ludovic Courtès
e26d5076df
linux-initrd: Add virtio drivers by default.
...
* gnu/system/linux-initrd.scm (base-initrd): Change #:virtio? default
to #t. This will facilitate the use of GuixSD in VM guests.
2015-04-05 23:15:20 +02:00
Andy Wingo
0d275f4aa3
system: Take kernel modules from the user-specified kernel.
...
* gnu/system/linux-initrd.scm (base-initrd): Add #:linux option to
specify the linux kernel to use.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Propagate
#:linux to base-initrd.
* gnu/system.scm (operating-system-initrd-file): Pass #:linux to
'make-initrd'.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-04-05 23:15:20 +02:00
Ludovic Courtès
2f094a69f0
system: Skeleton '.bashrc' now exports the 'SHELL' variable.
...
* gnu/system/shadow.scm (default-skeletons)[bashrc]: Export 'SHELL'.
2015-03-16 23:30:59 +01:00
Ludovic Courtès
9a10acc986
system: Adjust '.bashrc' skeleton for non-interactive SSH sessions.
...
* gnu/system/shadow.scm (default-skeletons)[bashrc]: Source /etc/profile
when in a non-interactive SSH session.
2015-03-12 19:00:54 +01:00
Ludovic Courtès
11dddd8a3e
system: Don't compare <pam-service> objects with 'equal?'.
...
Fixes <http://bugs.gnu.org/20037 >.
Reported by 宋文武 <iyzsong@gmail.com> and Tomáš Čech.
* gnu/system.scm (operating-system-etc-directory): Remove call to
'delete-duplicates'.
* gnu/system/linux.scm (pam-services->directory)[builder]: Add call to
'delete-duplicates'.
2015-03-10 18:07:48 +01:00
Ludovic Courtès
0c36a681c8
doc: Add 'packages' field to OS configuration template.
...
* gnu/system/os-config.tmpl (packages): New field.
2015-03-08 23:05:51 +01:00
Ludovic Courtès
9c09760a78
artwork: Update snapshot to GuixSD branding.
...
* gnu/artwork.scm (%artwork-repository): Update to new "GuixSD"
branding.
* gnu/system/grub.scm (%background-image, %default-theme): Adjust
accordingly.
2015-02-12 23:43:18 +01:00
Ludovic Courtès
34875383c1
linux-initrd: Add 'isci' module, needed for some SAS controllers.
...
Encountered on a Dell Precision T3600.
* gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Add isci.
2015-02-09 18:18:41 +01:00
Mark H Weaver
4fb7e0de19
gnu: wpa-supplicant: Add dbus support; add wpa-supplicant-light.
...
* gnu/packages/admin.scm (wpa-supplicant-light): New variable containing the
previous dbus-free package, but renamed. Remove outdated TODO comments.
(wpa-supplicant): Now inherits from wpa-supplicant-light but adds dbus
support.
* gnu/system/install.scm (installation-os): Use wpa-supplicant-light.
2015-02-04 18:20:17 -05:00
Ludovic Courtès
996ed73948
system: Add bindings to configure libc's NSS.
...
* gnu/system/nss.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu.scm (%public-modules): Add it.
* gnu/system.scm (<operating-system>)[name-service-switch]: New field.
(etc-directory): Add #:nss parameter and honor it.
(operating-system-etc-directory): Adjust call accordingly.
* doc/guix.texi (operating-system Reference): Document
'name-service-switch'.
(Name Service Switch): New section.
2015-02-04 22:49:35 +01:00
Ludovic Courtès
7de2b18612
install: Add iw to the packages.
...
* gnu/system/install.scm (installation-os)[packages]: Add IW.
2015-01-28 10:56:04 +01:00
Ludovic Courtès
493c245b8f
linux-initrd: Add USB kernel modules to the default initrd.
...
* gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Add
usb-storage, uas, usbkbd, and usbhid.
* gnu/system/vm.scm (system-disk-image): Remove #:extra-modules argument
to 'base-initrd'.
2015-01-27 21:32:06 +01:00
Ludovic Courtès
c73adb0998
install: Mention GSD.
...
* gnu/system/install.scm (installation-services): Mention the Guix
System Distribution.
2015-01-27 10:24:35 +01:00
Ludovic Courtès
53a7a01675
doc: Add services to the configuration template.
...
* gnu/system/os-config.tmpl (services): New field.
2015-01-23 16:29:17 +01:00
Ludovic Courtès
dd6b28d18b
install: Make sure 'info' can decompress the Info files.
...
* gnu/system/install.scm (log-to-info): Add GZIP to $PATH.
2015-01-23 10:37:01 +01:00
Ludovic Courtès
24004073f0
system: Add "en_US.UTF-8" to the default locales, for backward compatibility.
...
* gnu/system/locale.scm (%default-locale-definitions): Add
"en_US.UTF-8".
2015-01-16 21:11:55 +01:00
Ludovic Courtès
e87f0591f3
monads: Move '%store-monad' and related procedures where they belong.
...
This turns (guix monads) into a generic module for monads, and moves the
store monad and related monadic procedures in their corresponding
module.
* guix/monads.scm (store-return, store-bind, %store-monad, store-lift,
text-file, interned-file, package-file, package->derivation,
package->cross-derivation, origin->derivation, imported-modules,
compiled, modules, built-derivations, run-with-store): Move to...
* guix/store.scm (store-return, store-bind, %store-monad, store-lift,
text-file, interned-file): ... here.
(%guile-for-build): New variable.
(run-with-store): Moved from monads.scm. Remove default value for
#:guile-for-build.
* guix/packages.scm (default-guile): Export.
(set-guile-for-build): New procedure.
(package-file, package->derivation, package->cross-derivation,
origin->derivation): Moved from monads.scm.
* guix/derivations.scm (%guile-for-build): Remove.
(imported-modules): Rename to...
(%imported-modules): ... this.
(compiled-modules): Rename to...
(%compiled-modules): ... this.
(built-derivations, imported-modules, compiled-modules): New
procedures.
* gnu/services/avahi.scm, gnu/services/base.scm, gnu/services/dbus.scm,
gnu/services/dmd.scm, gnu/services/networking.scm,
gnu/services/ssh.scm, gnu/services/xorg.scm, gnu/system/install.scm,
gnu/system/linux-initrd.scm, gnu/system/shadow.scm, guix/download.scm,
guix/gexp.scm, guix/git-download.scm, guix/profiles.scm,
guix/svn-download.scm, tests/monads.scm: Adjust imports accordingly.
* guix/monad-repl.scm (default-guile-derivation): New procedure.
(store-monad-language, run-in-store): Use it.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Add explicit
'set-guile-for-build' call.
* guix/scripts/archive.scm (derivation-from-expression): Likewise.
* guix/scripts/build.scm (options/resolve-packages): Likewise.
* guix/scripts/environment.scm (guix-environment): Likewise.
* guix/scripts/system.scm (guix-system): Likewise.
* doc/guix.texi (The Store Monad): Adjust module names accordingly.
2015-01-14 13:34:52 +01:00
Ludovic Courtès
61ff0a3a18
install: Use a low-memory nscd caching policy.
...
* gnu/system/install.scm (%nscd-minimal-caches): New variable.
(installation-services): Use as 'nscd-service' argument.
2014-12-14 17:26:03 +01:00
Ludovic Courtès
ccc2678b0d
system: grub: Make sure the font and background image are always found.
...
* gnu/system/grub.scm (eye-candy): Add 'search --file --set'.
2014-12-13 22:15:01 +01:00
Ludovic Courtès
6c777cf88c
system: Adjust 'grub.cfg' to work on systems with a separate /boot.
...
Fixes <http://bugs.gnu.org/19220 >.
Reported by Nikita Karetnikov <nikita@karetnikov.org>.
* gnu/system/grub.scm (grub-configuration-file)[entry->gexp]: Add
'search --file --set'.
(grub-configuration-file)[builder]: Remove 'search.file'.
2014-12-13 22:13:57 +01:00
Ludovic Courtès
5c5e7bdafd
vm: Use QEMU's standard VGA emulation by default.
...
* gnu/system/vm.scm (common-qemu-options): Add "-vga std".
2014-12-13 17:18:05 +01:00
宋文武
02f707c590
system: Add skeleton '.zlogin'.
...
* gnu/system/shadow.scm (default-skeletons): Add .zlogin.
2014-12-09 18:52:11 +08:00
宋文武
4e2a21d3d2
system: Cleanup bash startup files.
...
* gnu/system.scm (etc-directory) (bashrc): Rename to 'profile'.
* gnu/system/shadow.scm (default-skeletons): Rename '.bashrc' to
'.bash_profile'. Don't source /etc/profile.
2014-12-09 18:51:01 +08:00
Ludovic Courtès
a182e94e25
linux-initrd: Add the 'virtio_console' module for QEMU guests.
...
* gnu/system/linux-initrd.scm (base-initrd)[virtio-modules]: Add
"virtio_console".
2014-12-08 23:29:23 +01:00
Ludovic Courtès
9cb426b8bf
Revert "system: Add a 'needed-for-boot?' field to 'mapped-device'."
...
This reverts commit 3b09332adf
, which
turned out to be a bad idea because we need to have dependency
information between the device-mapping service and the file-system
service that uses it.
2014-11-30 18:54:07 +01:00
Alex Kost
1cc8f3a63c
system: locale: Fix typo in docstring.
...
* gnu/system/locale.scm (localedef-command): Fix typo.
2014-11-30 00:33:00 +03:00
Ludovic Courtès
3b09332adf
system: Add a 'needed-for-boot?' field to 'mapped-device'.
...
* gnu/system/file-systems.scm (<mapped-device>)[needed-for-boot?]: New
field.
* gnu/system.scm (operating-system-user-mapped-devices,
operating-system-boot-mapped-devices): Use it instead of trying to
guess. Guessing doesn't work when one refers to a partition using its
label, for instance.
* doc/guix.texi (Mapped Devices): Document 'needed-for-boot?'.
2014-11-29 14:40:26 +01:00
Ludovic Courtès
9cd0dfaa46
system: Change "en_US.UTF-8" to "en_US.utf8".
...
* build-aux/hydra/demo-os.scm (locale): Change to "en_US.utf8".
* gnu/system/install.scm (installation-os)[locale]: Ditto.
2014-11-29 11:37:53 +01:00
Ludovic Courtès
08b1990a93
linux-initrd: Remove the ".ko" suffix from module names in 'base-initrd'.
...
* gnu/system/linux-initrd.scm (base-initrd): Remove the .ko suffix from
module names.
2014-11-28 00:10:28 +01:00
Ludovic Courtès
d7e66f6295
linux-initrd: Remove now redundant module names.
...
* gnu/system/linux-initrd.scm (base-initrd)[virtio-modules]: Remove
"virtio.ko" and "virtio_ring.ko".
[virtio-9p-modules]: Remove "fscache.ko" and "9pnet.ko".
[linux-modules]: Remove "libahci.ko".
2014-11-28 00:10:28 +01:00
Ludovic Courtès
0e704a2d4e
linux-boot: Load modules and their dependencies, à la 'modprobe'.
...
* gnu/build/linux-boot.scm: Use (gnu build linux-modules).
(load-linux-module*): Remove.
(boot-system): Add #:linux-module-directory parameter.
[lookup-module]: New procedure.
Call 'current-module-debugging-port'. Pass #:lookup-module to
'load-linux-module*'. Map LOOKUP-MODULE on LINUX-MODULES.
* gnu/system/linux-initrd.scm (base-initrd): Adjust 'boot-system' call
accordingly. Adjust #:modules argument as well.
* gnu/system.scm (operating-system-activation-script)[%modules]: Likewise.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise.
2014-11-28 00:10:28 +01:00
Ludovic Courtès
600c285b63
linux-initrd: Copy modules and their dependencies to the initrd.
...
* gnu/system/linux-initrd.scm (flat-linux-module-directory)[build-exp]:
Add 'lookup' procedure. Use 'recursive-module-dependencies' to
compute the list of modules to copy.
Adjust #:modules parameter.
2014-11-28 00:10:28 +01:00
Ludovic Courtès
598e19dca1
system: Build system-wide locale definitions.
...
* gnu/system/locale.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu/system.scm (<operating-system>)[locale]: Change the default to
"en_US.utf8".
(operating-system-locale-directory): New procecure.
(operating-system-derivation): Use it.
* doc/guix.texi (Using the Configuration System): Change example locale
to "fr_FR.utf8".
(operating-system Reference): Add xref to "Locales". Document
'locale-definitions'.
(Locales): New section.
* po/guix/POTFILES.in: Add gnu/system.scm.
2014-11-27 08:55:46 +01:00
Ludovic Courtès
4d6b879cb5
file-systems: 'file-system-needed-for-boot?' always returns #t for "/".
...
Reported by Nikita Karetnikov.
* gnu/system/file-systems.scm (<file-system>): Rename 'needed-for-boot?'
accessor to '%file-system-needed-for-boot?'.
(file-system-needed-for-boot?): New inlinable procedure.
* gnu/system.scm (other-file-system-services)[file-systems]: Rely on
'file-system-needed-for-boot?' to handle the "/" case.
(operating-system-initrd-file)[boot-file-systems]: Likewise.
2014-11-25 18:01:59 +01:00
Ludovic Courtès
db84467a90
install: Add wpa-supplicant to the image.
...
Reported by Amirouche Boubekki <amirouche.boubekki@gmail.com>.
* gnu/system/install.scm (installation-os)[packages]: Add
WPA-SUPPLICANT.
2014-11-25 18:01:59 +01:00
Ludovic Courtès
b419c7f5fb
install: Add Cryptsetup to the image.
...
Reported by Nikita Karetnikov.
* gnu/system/install.scm (installation-os)[packages]: Add CRYPTSETUP.
* doc/guix.texi (System Installation): Mention it.
2014-11-23 21:56:31 +01:00