projects/guix·blob sysadmin-team · refs

42 lines · 1.7 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2024, 2026 Janneke Nieuwenhuizen <[email protected]>
3;;;
4;;; This file is part of GNU Guix.
5;;;
6;;; GNU Guix is free software; you can redistribute it and/or modify it
7;;; under the terms of the GNU General Public License as published by
8;;; the Free Software Foundation; either version 3 of the License, or (at
9;;; your option) any later version.
10;;;
11;;; GNU Guix is distributed in the hope that it will be useful, but
12;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU General Public License for more details.
15;;;
16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19(define-module (gnu installer kernel)
20 #:use-module (gnu system hurd)
21 #:use-module (guix read-print)
22 #:export (kernel->configuration))
23
24(define-syntax-rule (G_ str)
25 ;; In this file, translatable strings are annotated with 'G_' so xgettext
26 ;; catches them, but translation happens later on at run time.
27 str)
28
29(define (kernel->configuration kernel dry-run?)
30 (if (and (string? kernel)
31 (string-prefix? "Hurd" kernel))
32 `((kernel %hurd-default-operating-system-kernel)
33 ,(comment (G_ ";; \"noide\" disables the gnumach IDE driver, enabling rumpdisk.\n"))
34 (kernel-arguments '("noide"))
35 (firmware '())
36 (hurd hurd)
37 (locale-libcs (list glibc/hurd))
38 (name-service-switch #f)
39 (essential-services (hurd-default-essential-services this-operating-system))
40 (privileged-programs '())
41 (setuid-programs %setuid-programs/hurd))
42 '()))