David Thompson
c829bc80bd
gnu: system: Add Linux container file systems.
...
* gnu/system/file-systems.scm (%container-file-systems): New variable.
2015-07-09 08:25:33 -04:00
David Thompson
575b4b092d
gnu: system: Move file-system->spec to (gnu system file-systems).
...
* gnu/system/linux-initrd.scm (file-system->spec): Move this...
* gnu/system/file-systems.scm: ... to here.
2015-07-07 21:20:59 -04:00
David Thompson
9110c2e942
gnu: system: Move <file-system-mapping> into (gnu system file-systems).
...
* 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).
2015-07-07 21:20:59 -04:00
Ludovic Courtès
28de8d258b
environment: Define 'GUIX_ENVIRONMENT'.
...
* 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.
2015-07-01 23:29:49 +02:00
Ludovic Courtès
e8277f90c8
linux-initrd: Use (guix cpio) instead of GNU cpio.
...
* 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.
2015-06-24 18:05:03 +02:00
David Thompson
727636aaf8
gnu: Add control group file systems.
...
* gnu/system/file-systems.scm (%control-groups): New variable.
(%base-file-system): Include control group file systems.
2015-06-19 07:49:18 -04:00
Ludovic Courtès
08fa76131e
install: Turn off deduplication for the binary tarball.
...
* 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.
2015-06-18 00:25:48 +02:00
Ludovic Courtès
e1ad6bfbe1
install: Use udev rules for device-mapper.
...
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'.
2015-06-12 19:29:52 +02:00
Ludovic Courtès
7acd3439ea
install: Omit /root from the binary tarball.
...
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.
2015-06-08 23:25:51 +02:00
Ludovic Courtès
781d0a2ce1
install: Use the actual store name when building the tarball.
...
* gnu/system/install.scm (self-contained-tarball): Use (%store-directory)
instead of "/gnu".
2015-05-27 22:18:21 +02:00
Ludovic Courtès
bf87f38ace
system: Define '%base-user-accounts'.
...
* 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.
2015-05-25 21:34:23 +02:00
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