summaryrefslogtreecommitdiff
path: root/gnu/system.scm
AgeCommit message (Collapse)Author
2015-05-25system: Define '%base-user-accounts'.Ludovic Courtès
* 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-24system: Make sure user accounts refer to existing groups.Ludovic Courtès
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-07system: Use "." instead of "source" in /etc/profile.Ludovic Courtès
* gnu/system.scm (etc-directory)[profile]: Use "." instead of "source", the latter being Bash-specific.
2015-05-07system: Check whether ~/.guix-profile/etc/profile exists.Ludovic Courtès
* gnu/system.scm (etc-directory)[profile]: Check for ~/.guix-profile/etc/profile rather than just ~/.guix-profile.
2015-05-06system: /etc/profile sources each profile's /etc/profile.Ludovic Courtès
Partly fixes <http://bugs.gnu.org/20255>. Reported by 宋文武 <iyzsong@gmail.com>. * gnu/system.scm (etc-directory)[profile]: Source /run/current-system/profile/etc/profile and $HOME/.guix-profile/etc/profile when available. Move definitions of SSL_CERT_DIR, SSL_CERT_FILE, and GIT_SSL_CAINFO before that.
2015-04-17system: Populate /etc/shells with the list of all the shells in use.Ludovic Courtès
Reported by Andy Wingo <wingo@pobox.com>. * gnu/system.scm (user-shells, shells-file): New procedures. (etc-directory): Add #:shell parameter. Use 'shells-file' instead of 'text-file'. (operating-system-etc-directory): Call 'user-shells' and pass #:shells to 'etc-directory'.
2015-04-12system: Allow users to PTRACE_ATTACH to their own processes.Ludovic Courtès
* gnu/build/activation.scm (activate-ptrace-attach): New procedure. * gnu/system.scm (operating-system-activation-script): Use it.
2015-04-10system: Clean /tmp and /var/run during early boot.Mark H Weaver
* gnu/system.scm (operating-system-boot-script): Clean out /tmp and /var/run before activating the system.
2015-04-05system: Take kernel modules from the user-specified kernel.Andy Wingo
* 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-03-12system: Add /etc/bashrc that loads bash-completion when available.Ludovic Courtès
* gnu/system.scm (etc-directory)[profile]: Conditionally source /etc/bashrc. [bashrc]: New file. Source bash_completion.sh when available.
2015-03-12system: Add fish, tcsh, and zsh to /etc/shells.Alexander I.Grafov (Axel)
* gnu/system.scm (etc-directory)[shells]: Add fish, tcsh, and zsh file names to /etc/shells. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-03-12system: Remove duplicated line from export.Alexander I.Grafov (Axel)
* gnu/system.scm (gnu system): Remove duplicate in exported names list. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-03-10system: Don't compare <pam-service> objects with 'equal?'.Ludovic Courtès
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-04gnu: Move 'which' to (gnu packages base).Ludovic Courtès
* gnu/packages/which.scm: Remove. * gnu-system.am (GNU_SYSTEM_MODULES): Remove it. * gnu/packages/base.scm (which): New variable. * gnu/packages/aspell.scm, gnu/packages/audio.scm, gnu/packages/autogen.scm, gnu/packages/cdrom.scm, gnu/packages/compression.scm, gnu/packages/datamash.scm, gnu/packages/games.scm, gnu/packages/glib.scm, gnu/packages/gnu-pw-mgr.scm, gnu/packages/gnutls.scm, gnu/packages/gps.scm, gnu/packages/guile.scm, gnu/packages/java.scm, gnu/packages/libevent.scm, gnu/packages/linux.scm, gnu/packages/lisp.scm, gnu/packages/node.scm, gnu/packages/ntp.scm, gnu/packages/orpheus.scm, gnu/packages/pciutils.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/rsync.scm, gnu/packages/sawfish.scm, gnu/packages/scheme.scm, gnu/packages/ssh.scm, gnu/packages/statistics.scm, gnu/packages/texlive.scm, gnu/packages/wdiff.scm: Adjust accordingly.
2015-03-03system: Add /etc/ssl symlink; set needed variables in /etc/profile.Mark H Weaver
* gnu/build/activation.scm (activate-etc): Create /etc/ssl symlink. * gnu/system.scm (etc-directory): Set SSL_CERT_DIR, SSL_CERT_FILE, and GIT_SSL_CAINFO in /etc/profile. Co-Authored-By: Ludovic Courtès <ludo@gnu.org>
2015-03-03Revert "system: Add 'x509-certificates' field, and populate /etc/ssl/certs."Mark H Weaver
This reverts commit e979e6dd523acaa2a089f1b8f44e34c1e5b7d32d.
2015-03-03Revert "system: Create a single-file certificate bundle in /etc/ssl/certs."Mark H Weaver
This reverts commit 993300f6ccfbc9cbe628978690fc98eb63365dbd.
2015-03-02system: Create a single-file certificate bundle in /etc/ssl/certs.Ludovic Courtès
Suggested by Mark H Weaver <mhw@netris.org>. * gnu/system.scm (certificate-bundle): New procedure. (etc-directory): Use it. [profile]: Set 'SSL_CERT_DIR', 'SSL_CERT_FILE', and 'GIT_SSL_CAINFO'.
2015-03-02system: Add 'x509-certificates' field, and populate /etc/ssl/certs.Ludovic Courtès
* gnu/system.scm (<operating-system>)[x509-certificates]: New field. (etc-directory): Add #:x509-certificates parameter and honor it. (operating-system-etc-directory): Pass #:x509-certificates in 'etc-directory' call. * doc/guix.texi (operating-system Reference): Document 'x509-certificates'.
2015-02-04system: Add bindings to configure libc's NSS.Ludovic Courtès
* 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-01-28system: Define $ASPELL_CONF in /etc/profile.Ludovic Courtès
* gnu/system.scm (etc-directory)[profile]: Define 'ASPELL_CONF'.
2015-01-27system: Add 'XDG_DATA_DIRS' and 'XDG_CONFIG_DIRS' to /etc/profile.宋文武
* gnu/system.scm (etc-directory)[profile]: Set 'XDG_DATA_DIRS' and 'XDG_CONFIG_DIRS'.
2015-01-22system: Make D-Bus warnings non fatal.Ludovic Courtès
* gnu/system.scm (etc-directory): Add 'DBUS_FATAL_WARNINGS' in PROFILE.
2015-01-22system: Create /etc/emacs/site-start.el.Ludovic Courtès
* gnu/system.scm (emacs-site-file, emacs-site-directory): New procedures. (etc-directory): Add 'EMACSLOADPATH' setting to PROFILE. Call 'emacs-site-directory', and bind its result to /etc/emacs.
2015-01-13system: Add iw to '%base-packages'.Ludovic Courtès
* gnu/system.scm (%base-packages): Add IW.
2014-12-13system: Add sudo to '%base-packages'.Ludovic Courtès
* gnu/system.scm (%base-packages): Add SUDO.
2014-12-13system: /etc/profile defines 'MANPATH', which includes the global profile.Ludovic Courtès
* gnu/system.scm (etc-directory)[profile]: Set 'MANPATH'.
2014-12-09system: 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-07system: Add 'man-db' to '%base-packages'.Ludovic Courtès
Suggested by Tsutsukakushi on #guix. * gnu/system.scm (%base-packages): Add MAN-DB.
2014-11-30Revert "system: Add a 'needed-for-boot?' field to 'mapped-device'."Ludovic Courtès
This reverts commit 3b09332adf7ce8e976a4d117a62c586a53af04aa, 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-29system: Add a 'needed-for-boot?' field to 'mapped-device'.Ludovic Courtès
* 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-28linux-boot: Load modules and their dependencies, à la 'modprobe'.Ludovic Courtès
* 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-27system: Build system-wide locale definitions.Ludovic Courtès
* 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-25file-systems: 'file-system-needed-for-boot?' always returns #t for "/".Ludovic Courtès
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-11system: Shorten the default label for GRUB entries.Ludovic Courtès
* gnu/system.scm (kernel->grub-label): Shorten entry labels.
2014-11-11activation: Set the firmware search path.Ludovic Courtès
* gnu/build/activation.scm (activate-firmware): New procedure. * gnu/system.scm (<operating-system>)[firmware]: New field. (directory-union): New procedure. (%base-firmware): New variable. (operating-system-activation-script): Use 'directory-union', and call 'activate-firmware'. * doc/guix.texi (operating-system Reference): Document 'firmware'.
2014-11-10services: Add 'user-unmount-service' as an essential service.Ludovic Courtès
* gnu/services/base.scm (user-unmount-service): New procedure. * gnu/system.scm (essential-services): Use it. * gnu/system/install.scm (cow-store-service): Mention it in comment.
2014-11-05system: Define 'INFOPATH' in /etc/profile.Ludovic Courtès
* gnu/system.scm (etc-directory)[bashrc]: Set 'INFOPATH'.
2014-11-02system: Allow Linux-libre to find our 'modprobe' command.Ludovic Courtès
Fixes <http://bugs.gnu.org/18525>. Reported by Mark H Weaver <mhw@netris.org>. * gnu/build/activation.scm (activate-modprobe): New procedure. * gnu/system.scm (modprobe-wrapper): New procedure. (operating-system-activation-script): Use both.
2014-10-29system: Add pciutils and pciutils to '%base-packages'.Ludovic Courtès
* gnu/system.scm (%base-packages): Add PCIUTILS and USBUTILS.
2014-10-07system: Export 'local-host-aliases'.Ludovic Courtès
* gnu/system.scm (local-host-aliases): New procedure. (default-/etc/hosts): Use it.
2014-09-22system: Add Patch to '%base-packages'.Ludovic Courtès
* gnu/system.scm (%base-packages): Add PATCH.
2014-09-22system: Add support for boot-time mapped devices.Ludovic Courtès
* gnu/build/linux-boot.scm (boot-system): Add #:pre-mount parameter and honor it. * gnu/system/linux-initrd.scm (base-initrd): Add #:mapped-devices parameter. Add 'device-mapping-commands' variable, and use it to build the #:pre-mount argument of 'boot-system'. * gnu/system.scm (mapped-device-user, operating-system-user-mapped-devices, operating-system-boot-mapped-devices): New procedures. (device-mapping-services): Use 'operating-system-user-mapped-devices' instead of 'operating-system-mapped-devices'. (operating-system-initrd-file): Call the initrd with #:mapped-devices.
2014-09-18system: Add support for swap devices.Ludovic Courtès
* gnu/services/base.scm (swap-service): New procedure. * gnu/system.scm (<operating-system>)[swap-devices]: New field. (swap-services): New procedure. (essential-services): Use it.
2014-09-18system: Define 'device-mapping-kind', and add a 'close' procedure.Ludovic Courtès
* gnu/system/file-systems.scm (<mapped-device-type>): New record type. (<mapped-device>)[command]: Remove field. [type]: New field. * gnu/services/base.scm (device-mapping-service): Rename 'command' parameter to 'open'. Add 'close' parameter and honor it. * gnu/system.scm (luks-device-mapping): Rename to... (open-luks-device): ... this. (close-luks-device): New procedure. (luks-device-mapping): New variable. (device-mapping-services): Get the type of MD, and pass its 'open' and 'close' fields to 'device-mapping-service'.
2014-09-13system: Use eudev instead of udev by default.Ludovic Courtès
* gnu/system.scm (%base-packages): Change 'udev' to 'eudev'. * gnu/services/base.scm (udev-service): Change #:udev to default to 'eudev'.
2014-09-13system: Add Diffutils to '%base-packages'.Ludovic Courtès
* gnu/system.scm (%base-packages): Add DIFFUTILS.
2014-09-12system: Add more common tools to '%base-packages'.Ludovic Courtès
* gnu/system.scm (%base-packages): Add gawk, tar, gzip, bzip2, xz, lzip, and wireless-tools.
2014-09-12system: Produce a basic /etc/nsswitch.conf to honor /etc/hosts.Ludovic Courtès
* gnu/system.scm (etc-directory): Produce nsswitch.conf.
2014-09-12system: Fix the default /etc/hosts.Ludovic Courtès
* gnu/system.scm (default-/etc/hosts): Fix the alias/address order. Add ::1.