aboutsummaryrefslogtreecommitdiff
path: root/gnu/system.scm
AgeCommit message (Expand)Author
2015-09-14gnu: system: Add Linux container module....* gnu/system/linux-container.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * gnu/system.scm: Export 'operating-system-etc-directory', 'operating-system-boot-script', 'operating-system-locale-directory', and 'file-union'. (operating-system-boot-script): Add #:container? keyword argument. (operating-system-activation-script): Add #:container? keyword argument. Don't call 'activate-firmware' or 'activate-ptrace-attach' when activating a container. David Thompson
2015-08-18Revert "PRELIMINARY: Add three programs to %setuid-programs."...This reverts commit fb1e06fc5f7648ab3078876f009fa7a983b17c41. Mark H Weaver
2015-08-18PRELIMINARY: Add three programs to %setuid-programs.Mark H Weaver
2015-08-04system: Default to newest linux-libre....* gnu/system.scm (<operating-system>)[kernel]: Change default to LINUX-LIBRE. Mark H Weaver
2015-07-26system: Add 'ping6' to %SETUID-PROGRAMS....* gnu/system.scm (%setuid-programs): Add 'ping6'. Ludovic Courtès
2015-07-20system: Default to Linux-libre 4.0....* gnu/system.scm (<operating-system>)[kernel]: Change default to LINUX-LIBRE-4.0. Ludovic Courtès
2015-07-17file-systems: Add a 'dependencies' field to <file-system>....* gnu/system/file-systems.scm (<file-system>)[dependencies]: New field. * gnu/system.scm (other-file-system-services)[requirements]: Honor 'file-system-dependencies'. * doc/guix.texi (File Systems): Document it. Ludovic Courtès
2015-07-17system: Add 'kernel-arguments' field....* gnu/system.scm (<operating-system>)[kernel-arguments]: New field. (operating-system-grub.cfg): Honor it. (operating-system-parameters-file): Add 'kernel-arguments' to the parameters file. * guix/scripts/system.scm (previous-grub-entries)[system->grub-entry]: Read the 'kernel-arguments' field of the parameters file, when available. * gnu/system/vm.scm (system-qemu-image/shared-store-script): Use (operating-system-kernel-arguments os) in '-append'. * doc/guix.texi (operating-system Reference): Document it. Ludovic Courtès
2015-07-09build: file-systems: Import (guix build syscalls) for non-static Guiles....* gnu/build/file-systems.scm: Import (guix build syscalls) when 'mount' is not defined. * gnu/system.scm (operating-system-activation-script): Include (guix build syscalls) module in derivation. David Thompson
2015-07-07system: Fix typo....* gnu/system.scm (etc-directory): Fix typo in a comment. Alex Kost
2015-06-23system: emacs-site-file: Use 'geiser-install to load geiser....Suggested by Alex Kost <alezost@gmail.com>. * gnu/system.scm (emacs-site-file): Use 'geiser-install to load geiser instead of setting 'geiser-guile-load-path' manually. 宋文武
2015-06-16system: Rename 'sudoers' into 'sudoers-file'....* gnu/system.scm (<operating-system>): Rename record field. (etc-directory): Rename argument. (operating-system-etc-directory): Adjust accordingly. * doc/guix.texi (operating-system Reference): Likewise. Alex Kost
2015-06-05system: 'hosts-file' is now a file-like object....Partly fixes <http://bugs.gnu.org/20720>. Reported by Alex Kost <alezost@gmail.com>. * gnu/system.scm (default-/etc/hosts): Change 'text-file' to 'plain-file'. (maybe-file->monadic): New procedure. (operating-system-etc-directory): Use it. * doc/guix.texi (operating-system Reference, Networking Services): Adjust accordingly. Ludovic Courtès
2015-06-05system: 'sudoers' is now a file-like object....Partly fixes <http://bugs.gnu.org/20720> Reported by Alex Kost <alezost@gmail.com>. * gnu/system.scm (etc-directory): Change default #:sudoers value to a 'plain-file'. Don't bind it. Remove #~#$. (maybe-string->file): New procedure. (operating-system-etc-directory): Use it. (%sudoers-specification): Use 'plain-file'. * doc/guix.texi (operating-system Reference): Adjust accordingly. Ludovic Courtès
2015-05-25system: 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. Ludovic Courtès
2015-05-24system: 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. Ludovic Courtès
2015-05-07system: Use "." instead of "source" in /etc/profile....* gnu/system.scm (etc-directory)[profile]: Use "." instead of "source", the latter being Bash-specific. Ludovic Courtès
2015-05-07system: Check whether ~/.guix-profile/etc/profile exists....* gnu/system.scm (etc-directory)[profile]: Check for ~/.guix-profile/etc/profile rather than just ~/.guix-profile. Ludovic Courtès
2015-05-06system: /etc/profile sources each profile's /etc/profile....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. Ludovic Courtès
2015-04-17system: Populate /etc/shells with the list of all the shells in use....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'. Ludovic Courtès
2015-04-12system: Allow users to PTRACE_ATTACH to their own processes....* gnu/build/activation.scm (activate-ptrace-attach): New procedure. * gnu/system.scm (operating-system-activation-script): Use it. Ludovic Courtès
2015-04-10system: Clean /tmp and /var/run during early boot....* gnu/system.scm (operating-system-boot-script): Clean out /tmp and /var/run before activating the system. Mark H Weaver
2015-04-05system: 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> Andy Wingo
2015-03-12system: Add /etc/bashrc that loads bash-completion when available....* gnu/system.scm (etc-directory)[profile]: Conditionally source /etc/bashrc. [bashrc]: New file. Source bash_completion.sh when available. Ludovic Courtès
2015-03-12system: Add fish, tcsh, and zsh to /etc/shells....* 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> Alexander I.Grafov (Axel)
2015-03-12system: Remove duplicated line from export....* gnu/system.scm (gnu system): Remove duplicate in exported names list. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Alexander I.Grafov (Axel)
2015-03-10system: 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'. Ludovic Courtès
2015-03-04gnu: Move 'which' to (gnu packages base)....* 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. Ludovic Courtès
2015-03-03system: Add /etc/ssl symlink; set needed variables in /etc/profile....* 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> Mark H Weaver
2015-03-03Revert "system: Add 'x509-certificates' field, and populate /etc/ssl/certs."...This reverts commit e979e6dd523acaa2a089f1b8f44e34c1e5b7d32d. Mark H Weaver
2015-03-03Revert "system: Create a single-file certificate bundle in /etc/ssl/certs."...This reverts commit 993300f6ccfbc9cbe628978690fc98eb63365dbd. Mark H Weaver
2015-03-02system: Create a single-file certificate bundle in /etc/ssl/certs....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'. Ludovic Courtès
2015-03-02system: Add 'x509-certificates' field, and populate /etc/ssl/certs....* 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'. Ludovic Courtès
2015-02-04system: 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. Ludovic Courtès
2015-01-28system: Define $ASPELL_CONF in /etc/profile....* gnu/system.scm (etc-directory)[profile]: Define 'ASPELL_CONF'. Ludovic Courtès
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....* gnu/system.scm (etc-directory): Add 'DBUS_FATAL_WARNINGS' in PROFILE. Ludovic Courtès
2015-01-22system: Create /etc/emacs/site-start.el....* 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. Ludovic Courtès
2015-01-13system: Add iw to '%base-packages'....* gnu/system.scm (%base-packages): Add IW. Ludovic Courtès
2014-12-13system: Add sudo to '%base-packages'....* gnu/system.scm (%base-packages): Add SUDO. Ludovic Courtès
2014-12-13system: /etc/profile defines 'MANPATH', which includes the global profile....* gnu/system.scm (etc-directory)[profile]: Set 'MANPATH'. Ludovic Courtès
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'....Suggested by Tsutsukakushi on #guix. * gnu/system.scm (%base-packages): Add MAN-DB. Ludovic Courtès
2014-11-30Revert "system: Add a 'needed-for-boot?' field to 'mapped-device'."...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. Ludovic Courtès
2014-11-29system: 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?'. Ludovic Courtès
2014-11-28linux-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. Ludovic Courtès
2014-11-27system: 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. Ludovic Courtès
2014-11-25file-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. Ludovic Courtès
2014-11-11system: Shorten the default label for GRUB entries....* gnu/system.scm (kernel->grub-label): Shorten entry labels. Ludovic Courtès
2014-11-11activation: Set the firmware search path....* 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'. Ludovic Courtès