Commit graph

251 commits

Author SHA1 Message Date
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
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