Commit Graph

215 Commits

Author SHA1 Message Date
Danny Milosavljevic 71d0420202
system: Rename operating-system-parameters-file to operating-system-boot-parameters-file.
* gnu/system.scm (operating-system-parameters-file): Rename to ...
(operating-system-boot-parameters-file): ... this.
(operating-system-directory-base-entries): Adapt call site.
2017-04-22 20:54:43 +02:00
Danny Milosavljevic af98d25a12
system: Rename operating-system-kernel-arguments to operating-system-user-kernel-arguments.
* gnu/system.scm (operating-system-kernel-arguments): Rename to ...
(operating-system-user-kernel-arguments): ... this.
(<operating-system>): Adapt accordingly.
(operating-system-bootcfg): Adapt accordingly.
(operating-system-parameters-file): Adapt accordingly.
* gnu/system/vm.scm (system-qemu-image/shared-store-script): Adapt
accordingly.
2017-04-22 20:54:31 +02:00
Marius Bakke e162050dfc
gnu: Add workaround for `date` regression in coreutils@8.26.
See <https://bugs.gnu.org/23035> and <https://bugs.gnu.org/26238>.

* gnu/packages/base.scm (coreutils-8.27): New variable.
* gnu/system.scm (%base-packages): Use that instead of COREUTILS.
2017-04-19 22:07:18 +02:00
Ludovic Courtès efe7d19a9e
services: 'service-parameters' becomes 'service-value'.
* gnu/services.scm (<service>)[parameters]: Rename to...
[value]: ... this.
Change calls to 'service-parameters' to 'service-value'.
* gnu/system.scm, gnu/tests/base.scm,
guix/scripts/system.scm, tests/services.scm: Likewise.
* doc/guix.texi (Service Reference): Adjust accordingly.
2017-04-16 00:48:07 +02:00
Danny Milosavljevic 958a1fda9e
system: Make grub use <menu-entry> instead of <boot-parameters> again.
* gnu/system/grub.scm: Remove boot-parameters->menu-entry.
(grub-configuration): Don't use boot-parameters->menu-entry.
* gnu/system.scm (operating-system-bootcfg): Use menu-entry.
* guix/scripts/system.scm (reinstall-grub): Use profile-grub-entries.
(perform-action): Use profile-grub-entries.
2017-04-15 22:02:38 +02:00
Mathieu Othacehe 2e58e05bb6
system: Pass boot-parameters to (gnu system grub).
* gnu/system.scm (operating-system-bootcfg): Pass boot-parameters.
* gnu/system/grub.scm (boot-parameters->menu-entry): New variable.
(grub-configuration-file): Use boot-parameters->menu-entry.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2017-04-15 16:37:55 +02:00
Mathieu Othacehe 7085ca9690
system: Rename (internal) grub-device to fs->boot-device.
* gnu/system.scm (grub-device): Rename to...
(fs->boot-device): ... this.
(operating-system-grub.cfg): Adapt.
(operating-system-parameters-file): Adapt.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2017-04-15 14:42:50 +02:00
Mathieu Othacehe c76b3046f6
system: Rename operating-system-grub.cfg to operating-system-bootcfg.
* gnu/system.scm (operating-system-grub.cfg): Rename to...
(operating-system-bootcfg): ... this.
* gnu/system/vm.scm (system-disk-image): Use operating-system-bootcfg.
(system-qemu-image): Use operating-system-bootcfg.
(system-qemu-image/shared-store): Use operating-system-bootcfg.
* guix/scripts/system.scm (perform-action): Use operating-system-bootcfg.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2017-04-15 14:41:10 +02:00
Mathieu Othacehe c2e9942b8f
system: Rename kernel->grub-label to kernel->boot-label.
* gnu/system.scm (kernel->grub-label): Rename to kernel->boot-label.
(operating-system-grub.cfg): Adapt.
(operating-system-parameters-file): Ditto.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2017-04-15 12:39:27 +02:00
Ludovic Courtès 856be82323
system: Avoid '_' as a pattern variable in 'match'.
* gnu/system.scm (operating-system-root-file-system): Don't use '_' as a
wildcard in 'match', to cope with literal semantics in 2.2.
2017-03-10 14:48:06 +01:00
David Craven 43fe431cce
vm: Remove hard coded kernel file name.
* gnu/system/vm.scm (system-qemu-image/shared-store-script,
expression->derivation-in-linux-vm): Use operating-system-kernel-file and
system-linux-image-file-name.
* gnu/system.scm (system-linux-image-file-name): Add ARM.
2017-02-28 23:43:35 +01:00
Ludovic Courtès a43aca973e
system: Introduce 'file-systems' Shepherd service.
* gnu/services/base.scm (file-system-shepherd-services): New procedure.
(file-system-service-type): Use it as the SHEPHERD-ROOT-SERVICE-TYPE
extension.
(user-processes-service-type): Change to take a single 'grace-delay'
parameter.
(user-processes-service): Remove 'file-systems' parameter.  Pass
GRACE-DELAY as the only value for the service.
* gnu/system.scm (essential-services): Adjust accordingly.
2017-01-31 23:21:59 +01:00
Eric Bavier 52db41aff8
gnu: system: Add openfwwf-firmware to %base-firmware.
* gnu/system.scm (%base-firmware): Add openfwwf-firmware.
* doc/guix.texi (Hardware Considerations): Mention b43-open support.
(operating-system Reference)[firmware]: Likewise.
2016-11-22 09:38:36 -06:00
Ludovic Courtès 946465bbaf
system: Reintroduce 'GUIX_LOCPATH', for compatibility with glibc@2.23.
* gnu/system.scm (operating-system-environment-variables): Re-add
'GUIX_LOCPATH'.  This reverts part of
9f58fe3d1c.
2016-11-08 23:31:27 +01:00
Mark H Weaver 71e21fb26d
Merge branch 'master' into core-updates 2016-11-07 00:33:16 -05:00
Chris Marusich 3382bfe9ea
system: Avoid using device paths in <menu-entry> device field.
This fixes a regression introduced by
1ef8b72a7f, in which we would incorrectly use a
device path in a label-based grub root search command, e.g. 'search --label
--set /dev/sda4'.

* gnu/system.scm (grub-device): New procedure.
(operating-system-grub.cfg, operating-system-parameters-file): Use it.
(read-boot-parameters): Handle device paths correctly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-11-06 18:08:46 +01:00
Leo Famulari 205f0107bb
Merge branch 'master' into core-updates 2016-10-30 19:19:21 -04:00
Chris Marusich 1ef8b72a7f
system: Record store file system info in each generation.
* gnu/system.scm (<boot-parameters>)[store-device, store-mount-point]:
New fields.
(read-boot-parameters): Initialize them.
(operating-system-grub.cfg): Likewise.  Remove STORE-FS argument from
call to 'grub-configuration-file'.
(operating-system-parameters-file): Add 'store' element in
'boot-parameters'.
* gnu/system/grub.scm (strip-mount-point): Replace 'store-fs' parameter
by 'mount-point'; adjust accordingly.  Adjust callers.
(<menu-entry>)[device, device-mount-point]: New fields.
(eye-candy): Replace 'root-fs' parameter by 'store-device'; add
'store-mount-point'.  Use keyword arguments for 'system' and 'port'.
(grub-root-search): Remove 'root-fs' by 'device' and adjust
accordingly.
(grub-configuration-file): Remove 'store-fs' parameter.  Adjust
accordingly.
* guix/scripts/system.scm (previous-grub-entries): Initialize 'device'
and 'device-mount-point' fields from PARAMS.
* doc/guix.texi (GRUB Configuration): Document 'device' and
'device-mount-point'.  Explain that 'linux' can be prefixed by a GRUB
device name.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-10-30 22:59:46 +01:00
Ludovic Courtès 79355ae3e8
Merge branch 'master' into core-updates 2016-09-30 12:05:27 +02:00
Carlos Sánchez de La Lama 0f65f54ebd
system: grub.cfg uses correct file names when store is not in root partition.
Fixes <http://bugs.gnu.org/24346>.
Reported by csanchezdll@gmail.com (Carlos Sánchez de La Lama).

* guix/scripts/system.scm (previous-grub-entries): Get the initrd file
name from PARAMS.
* gnu/system.scm (operating-system-grub.cfg): Use
'operating-system-initrd-file' to retrieve the initrd file name.
* gnu/system/grub.scm (strip-mount-point): New procedure.
(grub-configuration-file)[entry->gexp]: Call 'strip-mount-point' for
LINUX and INITRD.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-09-24 17:48:13 +09:00
Ludovic Courtès d7b342d815
system: 'read-boot-parameters' reads the 'initrd' parameter.
* gnu/system.scm (<boot-parameters>)[initrd]: New field.
(read-boot-parameters): Read the 'initrd' element and fill in the
'initrd' field of the result.
2016-09-24 17:48:12 +09:00
Ludovic Courtès 9e41130b14
system: Use 'file-append' to denote file names.
* gnu/services/avahi.scm, gnu/services/base.scm,
gnu/services/databases.scm, gnu/services/dbus.scm,
gnu/services/desktop.scm, gnu/services/dict.scm,
gnu/services/mail.scm, gnu/services/networking.scm,
gnu/services/sddm.scm, gnu/services/spice.scm,
gnu/services/ssh.scm, gnu/services/web.scm,
gnu/services/xorg.scm, gnu/system.scm: Replace the
 #~(string-append #$pkg "/bin/foo") idiom with
 (file-append pkg "/bin/foo").
2016-09-10 13:10:06 +02:00
Ludovic Courtès ab20d74a46
system: Build the initrd file name with 'file-append'.
* gnu/system.scm (operating-system-initrd-file)
(operating-system-grub.cfg): Use 'file-append' to construct the initrd
file name.
2016-09-09 23:54:44 +02:00
Ludovic Courtès 44d5f54e31
system: grub: Allow arbitrary kernel file names in 'menu-entry'.
Fixes <http://bugs.gnu.org/20067>.
Reported by Tomáš Čech <sleep_walker@suse.cz>.

* gnu/system.scm (system-linux-image-file-name)
(operating-system-kernel-file): New procedures.
(operating-system-grub.cfg): Use 'operating-system-kernel-file' for the
'kernel' field of 'menu-entry'.
(operating-system-parameters-file): Likewise for the 'kernel' entry.
(read-boot-parameters): Adjust 'kernel' field so that it contains the
absolute file name of the image.
* gnu/system/grub.scm (grub-configuration-file)[linux-image-name]:
Remove.
[entry->gexp]: Assume LINUX is the absolute file name of the kernel
image.
* doc/guix.texi (GRUB Configuration): Add an example, and adjust
'kernel' field documentation accordingly.
2016-09-09 23:54:43 +02:00
Efraim Flashner b3d2be945d
Merge remote-tracking branch 'origin/master' into core-updates 2016-08-29 23:46:33 +03:00
Ludovic Courtès aa1145df8d
services: Make a single extensible 'file-systems' service.
Previously we would create one 'file-system-service-type' instead per
file system.  Now, we create only one instance for all the file
systems.

* gnu/services/base.scm (fstab-service-type)[compose]: Change to
CONCATENATE.
(file-system-shepherd-service): Change to return either one
<shepherd-service> or #f.
(file-system-service-type): Pluralize 'name'.  Adjust
SHEPHERD-ROOT-SERVICE-TYPE extension to above changes.  Add 'compose'
and 'extend'.
(file-system-service): Remove.
* gnu/system.scm (other-file-system-services): Rename to...
(non-boot-file-system-service): ... this.  Change to return a single
FILE-SYSTEM-SERVICE-TYPE instance.
(essential-services): Adjust accordingly.
2016-08-22 00:20:48 +02:00
Leo Famulari 9f58fe3d1c
gnu: glibc/linux: Adjust variable name to upstream change.
* gnu/packages/base.scm (glibc/linux)[arguments]: Change
'libc_cv_localedir' to 'libc_cv_complocaledir' in #:configure-flags.
* gnu/system.scm: (operating-system-environment-variables): Remove
'GUIX_LOCPATH'.
2016-08-10 15:41:21 -04:00
Ludovic Courtès ab3a64507a
system: Define 'GUIX_LOCPATH' to work around 'glibc' package defect.
Our 'glibc' package currently ignores /run/current-system/locale,
although the intent is to look for locales in that directory.

* gnu/packages/base.scm (glibc/linux): Add comment about
/run/current-system/locale being ignored.
* gnu/system.scm (operating-system-environment-variables): Add
'GUIX_LOCPATH'.
* gnu/tests/base.scm (run-basic-test): Add "locale" test.
2016-08-02 18:07:19 +02:00
Carlos Sánchez de La Lama cad7e6abaf
system: Source /etc/environment before $HOME/.guix-profile/etc/profile.
* gnu/system.scm (operating-system-etc-service) <profile>: Move sourcing
of /etc/environment before that of $HOME/.guix-profile/etc/profile.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-07-27 23:08:20 +02:00
Ludovic Courtès 2bdd7ac17c
system: Honor the 'dependencies' field of file systems.
This allows mapped devices listed in 'dependencies' to be properly taken
into account.

Reported by Andreas Enge <andreas@enge.fr>.

* gnu/system.scm (mapped-device-user): Check whether DEVICE is a member
of the 'dependencies' of FS.
* tests/system.scm (%luks-device, %os-with-mapped-device): New variables.
("operating-system-user-mapped-devices")
("operating-system-boot-mapped-devices")
("operating-system-boot-mapped-devices, implicit dependency"): New tests.
2016-07-18 01:26:03 +02:00
Ludovic Courtès 2b4185792d
gexp: 'gexp->file' emits code to set '%load-path'.
* guix/gexp.scm (gexp->file): Add #:set-load-path? parameter and honor it.
* gnu/system.scm (operating-system-parameters-file): Pass
  #:set-load-path? #f.
* doc/guix.texi (G-Expressions): Adjust accordingly.
2016-07-12 22:47:08 +02:00
Ludovic Courtès b2fef041fc
system: Add procedures to access user accounts and service names.
* gnu/system.scm (operating-system-user-accounts)
(operating-system-shepherd-service-names): New procedures.
2016-05-04 23:35:55 +02:00
Ludovic Courtès 4da8c19e83 mapped-devices: 'mapped-device-service' takes a <mapped-device>.
* gnu/system/mapped-devices.scm (device-mapping-service): Take a
<mapped-device> instead of 3 parameters.
(device-mapping-service-type): Adjust accordingly.
* gnu/system.scm (device-mapping-services): Adjust accordingly.
2016-04-18 01:24:06 +02:00
Ludovic Courtès 374f14c265 system: Move 'luks-device-mapping' to (gnu system mapped-devices).
* gnu/system.scm (open-luks-device, close-luks-device)
(luks-device-mapping): Move to...
* gnu/system/mapped-devices.scm: ... here.  New file.
2016-04-18 01:24:06 +02:00
Ludovic Courtès 060d62a740 system: Add (gnu system mapped-devices).
* gnu/system/file-systems.scm (<mapped-device>, <mapped-device-type>):
Move to...
* gnu/system/mapped-devices.scm: ... here.  New file.
* gnu/system.scm, gnu/services/base.scm,
gnu/system/linux-initrd.scm: Use it.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu.scm (%public-modules): Add it.
2016-04-18 01:24:06 +02:00
Ludovic Courtès ae05e366be system: Define 'GTK_DATA_PREFIX' globally.
Fixes <http://bugs.gnu.org/23200>.
Reported by Chris Marusich <cmmarusich@gmail.com>.

* gnu/system.scm (operating-system-environment-variables): Add
'GTK_DATA_PREFIX'.
2016-04-04 23:45:57 +02:00
Ludovic Courtès 02683c3331 system: Use 'info-reader' instead of Texinfo to avoid dragging Perl.
* gnu/system.scm (%base-packages): Use INFO-READER instead of TEXINFO.
2016-03-24 22:47:15 +01:00
Alex Kost 453cdf8606 system: Do not create "site-start.el".
After commits 004ea62 and 092dd65, Emacs can find packages in a system
profile, so it autoloads guix code without additional hacks, which can
be removed now.

* gnu/system.scm (emacs-site-file, emacs-site-directory): Remove.
(operating-system-etc-service): Adjust accordingly.
(operating-system-environment-variables): Remove EMACSLOADPATH.
2016-03-24 18:49:59 +03:00
Ludovic Courtès 255f730879 gnu: eudev: Add dependency on blkid.
* gnu/packages/linux.scm (eudev)[inputs]: Add UTIL-LINUX.
(eudev-with-blkid): Remove.
* gnu/services/base.scm (udev-service): Use EUDEV instead of
EUDEV-WITH-BLKID.
* gnu/system.scm (%base-packages): Likewise.
2016-03-09 15:26:09 +01:00
Ludovic Courtès 112024826d system: Explicitly set umask to 022 in /etc/profile.
Fixes <http://bugs.gnu.org/22650>.
Reported by myglc2 <myglc2@gmail.com>.

* gnu/system.scm (operating-system-etc-service)[profile]: Invoke
'umask'.
2016-03-08 23:30:53 +01:00
Petter d0a65256a3 system: GRUB menu entry says "beta" instead of "alpha"
* gnu/system.scm (kernel->grub-label): Change "alpha" to "beta'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-03-03 17:42:47 +01:00
Ludovic Courtès 16cc99610d system: Add rfkill to '%base-packages'.
* gnu/system.scm (%base-packages): Add RFKILL.
2016-03-03 17:42:47 +01:00
Alex Kost 5dccaffe64 system: Add iproute to '%base-packages'.
* gnu/system.scm (%base-packages): Add iproute.
2016-02-18 11:59:03 +03:00
Ludovic Courtès f5582b2c1d system: Selected locale is automatically built.
Fixes <http://bugs.gnu.org/22572>.
Reported by Mark H Weaver <mhw@netris.org>.

* gnu/system/locale.scm (%not-dot): New variable.
(denormalize-codeset, locale-name->definition): New procedures.
* gnu/system.scm (locale-name->definition*): New procedure.
(operating-system-locale-directory): Instead of raising an error, add
the missing locale.
* doc/guix.texi (Locales): Adjust accordingly.
2016-02-10 15:15:17 +01:00
Ludovic Courtès 939c5c31d6 system: Add Texinfo to '%base-packages'.
Fixes <http://bugs.gnu.org/22598>.
Reported by myglc2 <myglc2@gmail.com>.

* gnu/system.scm (%base-packages): Add TEXINFO.
2016-02-08 23:46:46 +01:00
Alex Kost b3fee145df system: Fix EMACSLOADPATH.
After commit 13fe4891fa, Emacs package
includes "site-start.el", and it has a priority over
"/etc/emacs/site-start.el" on GuixSD because "/etc/emacs" is added to
the end of 'load-path'.

* gnu/system.scm (operating-system-environment-variables): Change
  EMACSLOADPATH to prepend "/etc/emacs" to 'load-path' instead of
  appending.
2016-02-07 11:24:35 +03:00
Ludovic Courtès 2a5f0db4c4 system: /etc/profile reads /etc/environment for the sake of lshd.
Fixes <http://bugs.gnu.org/22175>.

* gnu/system.scm (operating-system-etc-service)[profile]: Add hack to
define variables from /etc/environment.
2016-02-03 11:21:11 +01:00
Ludovic Courtès 400ed6acdd gnu: eudev: Add variant that depends on libblkid.
This fixes a bug whereby /dev/disk/by-{label,id} would be missing on
GuixSD (/dev/disk/by-id would still contain device-mapped partitions
though.)

Reported by Mark H Weaver <mhw@netris.org>.

* gnu/packages/linux.scm (eudev-with-blkid): New variable.
* gnu/services/base.scm (udev-service): #:udev defaults to
EUDEV-WITH-BLKID.
* gnu/system.scm (%base-packages): Replace EUDEV with EUDEV-WITH-BLKID.
2016-02-02 21:16:59 +01:00
Federico Beffa 81fc64da7e gnu: aspell: Wrap binary to find dictionaries.
* gnu/packages/aspell.scm (aspell): Add 'wrap-aspell' phase.
* gnu/system.scm (operating-system-etc-service): Remove 'ASPELL_CONF'
definition.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-02-02 21:16:59 +01:00
Alex Kost d4053c710b services: Rename 'dmd' services to 'shepherd'.
* gnu/services/shepherd.scm (dmd-root-service-type, %dmd-root-service)
  (dmd-service-type, <dmd-service>, dmd-service, dmd-service?)
  (make-dmd-service, dmd-service-documentation, dmd-service-provision)
  (dmd-service-requirement, dmd-service-respawn, dmd-service-start)
  (dmd-service-stop, dmd-service-auto-start?, dmd-service-modules)
  (dmd-service-imported-modules, dmd-service-file-name, dmd-service-file)
  (dmd-service-back-edges): Rename to...
  (shepherd-root-service-type, %shepherd-root-service, shepherd-service-type)
  (<shepherd-service>, shepherd-service, shepherd-service?)
  (make-shepherd-service, shepherd-service-documentation)
  (shepherd-service-provision, shepherd-service-requirement)
  (shepherd-service-respawn, shepherd-service-start)
  (shepherd-service-stop, shepherd-service-auto-start?)
  (shepherd-service-modules, shepherd-service-imported-modules)
  (shepherd-service-file-name, shepherd-service-file)
  (shepherd-service-back-edges): ...this
* gnu/services.scm: Adjust comments.
* gnu/services/avahi.scm (avahi-dmd-service): Rename to...
  (avahi-shepherd-service): ... this.
* gnu/services/base.scm (%root-file-system-dmd-service)
  (file-system->dmd-service-name, mapped-device->dmd-service-name)
  (dependency->dmd-service-name, file-system-dmd-service)
  (mingetty-dmd-service, nscd-dmd-service, guix-dmd-service)
  (guix-publish-dmd-service, udev-dmd-service, gpm-dmd-service): Rename to...
  (%root-file-system-shepherd-service)
  (file-system->shepherd-service-name, mapped-device->shepherd-service-name)
  (dependency->shepherd-service-name, file-system-shepherd-service)
  (mingetty-shepherd-service, nscd-shepherd-service, guix-shepherd-service)
  (guix-publish-shepherd-service, udev-shepherd-service)
  (gpm-shepherd-service): ... this.
* gnu/services/databases.scm (postgresql-dmd-service): Rename to...
  (postgresql-shepherd-service): ... this.
* gnu/services/desktop.scm (upower-dmd-service, elogind-dmd-service):
  Rename to...
  (upower-shepherd-service, elogind-shepherd-service): ... this.
* gnu/services/dbus.scm (dbus-dmd-service): Rename to...
  (dbus-shepherd-service): ... this.
* gnu/services/lirc.scm (lirc-dmd-service): Rename to...
  (lirc-shepherd-service): ... this.
* gnu/services/mail.scm (dovecot-dmd-service): Rename to...
  (dovecot-shepherd-service): ... this.
* gnu/services/networking.scm (ntp-dmd-service, tor-dmd-service)
  (bitlbee-dmd-service, wicd-dmd-service, network-manager-dmd-service): Rename to...
  (dbus-shepherd-service): ... this.
* gnu/services/ssh.scm (lsh-dmd-service): Rename to...
  (lsh-shepherd-service): ... this.
* gnu/services/web.scm (nginx-dmd-service): Rename to...
  (nginx-shepherd-service): ... this.
* gnu/services/xorg.scm (slim-dmd-service): Rename to...
  (slim-shepherd-service): ... this.
* gnu/system.scm (essential-services): Use '%shepherd-root-service'.
* gnu/system/install.scm (cow-store-service-type): Adjust accordingly.
* guix/scripts/system.scm (dmd-service-node-label, dmd-service-node-type)
  (export-dmd-graph): Likewise.
* tests/guix-system.sh: Likewise.
* tests/services.scm ("dmd-service-back-edges"): Rename to...
  ("shepherd-service-back-edges"): Adjust accordingly.
* doc/guix.texi: Likewise.
* doc/images/service-graph.dot: Use 'shepherd' service name.
2016-01-29 20:21:53 +03:00