aboutsummaryrefslogtreecommitdiff
path: root/gnu.scm
blob: 932e4cdd580f7266e5f8bcb3542cfd5f5475d6ca (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Joshua S. Grant <jgrant@parenthetical.io>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu)
  #:export (use-package-modules
            use-service-modules
            use-system-modules))

;;; Commentary:
;;;
;;; This composite module re-exports core parts the (gnu …) public modules.
;;;
;;; Code:

(eval-when (eval load compile)
  (begin
    (define %public-modules
      '((gnu system)
        (gnu system mapped-devices)
        (gnu system file-systems)
        (gnu system grub)                         ; 'grub-configuration'
        (gnu system pam)
        (gnu system shadow)                       ; 'user-account'
        (gnu system linux-initrd)
        (gnu system nss)
        (gnu services)
        (gnu services base)
        (gnu packages)
        (gnu packages base)
        (guix gexp)))                             ; so gexps can be used

    (for-each (let ((i (module-public-interface (current-module))))
                (lambda (m)
                  (module-use! i (resolve-interface m))))
              %public-modules)))

(define-syntax-rule (use-package-modules module ...)
  (use-modules (gnu packages module) ...))

(define-syntax-rule (use-service-modules module ...)
  (use-modules (gnu services module) ...))

(define-syntax-rule (use-system-modules module ...)
  (use-modules (gnu system module) ...))

;;; gnu.scm ends here
, pass it to ... (call-with-database): ... this, add #:wal-mode? parameter; when set to #f, do not set journal_model=WAL. Jan (janneke) Nieuwenhuizen 2020-06-30system: hurd: Oops, have 'initrd' default to #f....* gnu/system/hurd.scm (%hurd-default-operating-system)[initrd]: Oops, set to #f. Jan (janneke) Nieuwenhuizen 2020-06-26system: image: Fix disk-image name....This is a follow-up of 5980ec8ada5ede54bde6558c7ab8bf492bc70f85. * gnu/system/image.scm (system-disk-image): When using the image name, convert it to string first. Mathieu Othacehe 2020-06-26system: image: Use the image name as the disk-image derivation name....* gnu/system/image.scm (system-disk-image): Use the image name as disk-image derivation name, if defined. Otherwise use the generic "disk-image" name. Mathieu Othacehe 2020-06-25image: hurd: Initialize root partition for the Hurd....This is a follow-up to commit b904b59ce592c89dfb4675a8c06757afed6738a0. * gnu/system/image.scm (hurd-initialize-root-partition): Move to ... * gnu/system/images/hurd.scm (hurd-initialize-root-partition): ... here. (hurd-disk-image): Use it. Jan (janneke) Nieuwenhuizen 2020-06-25image: hurd: Create hurd-compatible ext2 file-system....This is a follow-up to commit b904b59ce592c89dfb4675a8c06757afed6738a0. * gnu/system/images/hurd.scm (hurd-disk-image): Add file-system-options to create an ext2 file-system that is compatible with the Hurd. Jan (janneke) Nieuwenhuizen 2020-06-25services: Add missing (ice-9 format) import....These issues were reported by -Wformat, though they were harmless in practice because importing (ice-9 format) changes the global 'format' binding currently. * gnu/services/nix.scm: Import (ice-9 format). * gnu/services/web.scm: Likewise. * gnu/system/mapped-devices.scm: Likewise. Ludovic Courtès 2020-06-24system: image: Enable compression on ISO9660 images....ISO9660 image compression was temporarily disabled to speed-up tests of the new image API. Enable it again. * gnu/system/image.scm (iso9660-image)[compression]: Enable it. Mathieu Othacehe 2020-06-24image: Move hurd image definition to a dedicated file....This moves hurd-disk-image to a dedicated file. It also defines a default operating-system so that the image can be built standalone. * gnu/system/images/hurd.scm: New file, * gnu/local.mk (GNU_SYSTEM_MODULES): add it, * gnu/system/image.scm (root-offset, root-label): Export it, (hurd-disk-image): remove it as this is now defined in the new, Hurd dedicated file above, (find-image): adapt to avoid loop dependency. Mathieu Othacehe 2020-06-23system: image: Remove fakeroot dependencies....Since c29bb909d241e7215e574e93d9799e701cbc6ddb, fakeroot "sed" and "coreutils" dependencies are now explicit. * gnu/system/image.scm (system-disk-image): Remove "sed" and "coreutils" from inputs. Mathieu Othacehe 2020-06-22system: image: Remove "image-root" when building raw disk-images....The "image-root" derivation output is used as a temporary directory that is passed to mke2fs and mkdosfs later on. By merging the creation of this directory and the production of partition images, we can get rid of the derivation. As mke2fs and mkdosfs are not able to override file permissions, call those commands with fakeroot. This way, all the image files will be owned by root, even if image generation is done in an unprivilegded context. * gnu/system/image.scm (system-disk-image): Merge "image-root" and "iso9660-image" derivations so that we spare an extra derivation. Also add "fakeroot" and its runtime dependencies to the inputs. * gnu/build/image.scm (make-ext-image, make-vfat-image): Make sure that mke2fs and mkdosfs are respectively called by fakeroot. Mathieu Othacehe 2020-06-22system: image: Remove "image-root" derivation when building ISO....The "image-root" derivation output is used as a temporary directory that is passed to GNU Xorriso later on. By merging the creation of this directory and the production of an ISO image, we can get rid of the derivation. * gnu/system/image.scm (system-iso9660-image): Merge "image-root" and "iso9660-image" derivations so that we spare an extra derivation. Mathieu Othacehe 2020-06-18uuid: Prevent a loop on invalid arguments....* gnu/system/uuid.scm (uuid=?): Use type predicates in the fallback case to prevent looping on invalid arguments. Maxim Cournoyer 2020-06-18system: hurd: Add "/bin/sh" and "/usr/bin/env"....* gnu/system/hurd.scm (%base-services/hurd): Add extra-special-files "/bin/sh" and "/usr/bin/env". Jan (janneke) Nieuwenhuizen 2020-06-14system: image: Make sure target is set....* gnu/system/image.scm (system-image): Move "with-parameters" call so that it encapsulates "operating-system-bootcfg". Mathieu Othacehe 2020-06-14system: image: Remove left-over....* gnu/system/image.scm: Remove a left-over since maybe-with-target procedure was removed. Mathieu Othacehe 2020-06-13image: Remove 'maybe-with-target'....* gnu/system/image.scm (maybe-with-target): Remove, (system-image): adapt accordingly. Mathieu Othacehe 2020-06-13image: Add 'target' support....* gnu/image.scm (<image>)[target]: New field, (image-target): new public method. * gnu/system/image.scm (hurd-disk-image): Set "i586-pc-gnu" as image 'target' field, (maybe-with-target): new procedure, (system-image): honor image 'target' field using the above procedure. Mathieu Othacehe 2020-06-13image: Make 'find-image' non-monadic....* gnu/system/image.scm (find-image): Make non-monadic. Add 'target' parameter. * gnu/tests/install.scm (run-install): Update caller, passing (%current-target-system). * guix/scripts/system.scm (perform-action): Likewise. Jan (janneke) Nieuwenhuizen 2020-06-13system: hurd: Remove 'cross-hurd-image' hack....The initial guix build -f gnu/system/hurd.scm hack has been superseded by regular guix system (cross) build. * gnu/system/hurd.scm (compile-manifest, cross-hurd-image): Remove. Jan (janneke) Nieuwenhuizen 2020-06-13system: bare-hurd.tmpl: Add openssh-sans-x client and service....* gnu/system/examples/bare-hurd.tmpl (%hurd-os)[packages]: Add openssh-sans-x. [services]: Add openssh-service. Add example usage. Jan (janneke) Nieuwenhuizen 2020-06-12system: image: Do not produce an HFS tree when building an ISO....Use "mbr_only" mode to make sure that no HFS+ tree are generated. * gnu/system/image.scm (system-image): Set MKRESCUE_SED_MODE to "mbr_only". Mathieu Othacehe 2020-06-09system: vm: Add missing imported module....* gnu/system/vm.scm (qemu-image): Import missing (gnu build hurd-boot) module. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Royce Strange 2020-06-08hurd-boot: Further cleanup of "rc"....* gnu/packages/hurd.scm (hurd-rc-script): Move implementation to ... * gnu/build/hurd-boot.scm (boot-hurd-system): ...here, new file. * gnu/build/linux-boot.scm (make-hurd-device-nodes): Move there likewise. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Jan (janneke) Nieuwenhuizen 2020-06-08system: hurd: Populate services....* gnu/system/hurd.scm (%base-services/hurd): Add hurd-console-service, hurd-getty-services, guix-service. Also add sylog and loopback, needed for ... * gnu/system.scm (hurd-default-essential-services): ... add %shepherd-root-service with dependencies: %boot-service, %activation-service, user-processes, root-file-system-service, file-system-service, pam-root-service. Jan (janneke) Nieuwenhuizen 2020-06-08system: examples: Add bare-hurd.tmpl....* gnu/system/hurd.scm (%hurd-def%hurd-default-operating-system-kernel, %hurd-default-operating-system): New exported variables. * gnu/system/examples/bare-hurd.tmpl: New file. * Makefile.am (EXAMPLES): Add it. * tests/guix-system.sh: Add --target=i586-pc-gnu when testing it. Jan (janneke) Nieuwenhuizen 2020-06-08image: Add Hurd support....* gnu/system/image.scm (hurd-disk-image): New exported variable, (root-offset, root-label): new variables, (esp-partition, root-partition): adapt accordingly, (find-image): add Hurd support. Mathieu Othacehe 2020-06-08system: bare-bones: Remove dependency to X libraries....Use "openssh-sans-x" to prevent the inclusion of X libraries to the bare-bones system closure. * gnu/system/examples/bare-bones.tmpl (operating-system)[services]: Use openssh-sans-x instead of openssh. Mathieu Othacehe 2020-06-08system: install: Add default libcs to gc-roots....During the installation, it may be needed to build locales that are not covered by glibc-utf8-locales. Make sure that the libraries required to build locales are available. This is a follow-up of 0eed77127592323d89f56c215a15374a1aaae110. * gnu/system/install.scm (installation-os)[services]: Add %default-locale-libcs to gc-root-service-type. Mathieu Othacehe 2020-06-06vm: Shared-store script runs the native QEMU and Bash....* gnu/system/vm.scm (system-qemu-image/shared-store-script): Use #+ for QEMU and BASH. Ludovic Courtès 2020-06-06vm: <virtual-machine> compiler honors system and target....* gnu/system/vm.scm (system-qemu-image/shared-store): Add #:system and #:target. Pass it down. (system-qemu-image/shared-store-script): Likewise. (virtual-machine-compiler): Likewise. Ludovic Courtès 2020-06-06vm: 'qemu-image' preserves the cross-compilation target of the OS....* gnu/system/vm.scm (qemu-image)[preserve-target, inputs*]: New variables. In gexp, use INPUTS* instead of INPUTS. Wrap OS and BOOTCFG-DRV in 'preserve-target'. Pass INPUTS* instead of INPUTS as the #:references-graphs. Ludovic Courtès 2020-06-06vm: 'qemu-image' uses the native partitioning tools and bootloader....* gnu/system/vm.scm (qemu-image): Use #+ for Parted, the bootloader, etc. Ludovic Courtès 2020-06-06vm: 'expression->derivation-in-linux-vm' always returns a native build....* gnu/system/vm.scm (expression->derivation-in-linux-vm): Remove #:target. [builder]: Use #+. Don't pass #:target-arm32? and #:target-aarch64? to 'load-in-linux-vm'. Pass #:target #f to 'gexp->derivation'. (qemu-image): Adjust accordingly. * gnu/build/vm.scm (load-in-linux-vm): Remove #:target-aarch64? and #:target-arm32?. Define them as local variables. Ludovic Courtès