aboutsummaryrefslogtreecommitdiff
path: root/gnu/system/images/hurd.scm
blob: 9b618f7dc6e2842664cf5cf3d275f8398f5cbe73 (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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; 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 system images hurd)
  #:use-module (guix gexp)
  #:use-module (gnu bootloader)
  #:use-module (gnu bootloader grub)
  #:use-module (gnu image)
  #:use-module (gnu packages ssh)
  #:use-module (guix platforms x86)
  #:use-module (gnu services)
  #:use-module (gnu services ssh)
  #:use-module (gnu system)
  #:use-module (gnu system file-systems)
  #:use-module (gnu system hurd)
  #:use-module (gnu system image)
  #:use-module (srfi srfi-26)
  #:export (hurd-barebones-os
            hurd-disk-image
            hurd-image-type
            hurd-qcow2-image-type
            hurd-barebones-disk-image
            hurd-barebones-qcow2-image))

(define hurd-barebones-os
  (operating-system
    (inherit %hurd-default-operating-system)
    (bootloader (bootloader-configuration
                 (bootloader grub-minimal-bootloader)
                 (targets '("/dev/sdX"))))
    (file-systems (cons (file-system
                          (device (file-system-label "my-root"))
                          (mount-point "/")
                          (type "ext2"))
                        %base-file-systems))
    (host-name "guixygnu")
    (timezone "Europe/Amsterdam")
    (packages (cons openssh-sans-x %base-packages/hurd))
    (services (cons (service openssh-service-type
                             (openssh-configuration
                              (openssh openssh-sans-x)
                              (use-pam? #f)
                              (port-number 2222)
                              (permit-root-login #t)
                              (allow-empty-passwords? #t)
                              (password-authentication? #t)))
               %base-services/hurd))))

(define hurd-initialize-root-partition
  #~(lambda* (#:rest args)
      (apply initialize-root-partition
             (append args
                     (list #:make-device-nodes make-hurd-device-nodes
                           ;; XXX Creating a db.sqlite with journal_mode=WAL
                           ;; yields "unable to open database file" on GNU/Hurd
                           ;; for an sqlite with the hurd-locking-mode.patch;
                           ;; see <https://bugs.gnu.org/42151>.
                           #:wal-mode? #f)))))

(define hurd-disk-image
  (image-without-os
   (format 'disk-image)
   (platform i586-gnu)
   (partitions
    (list (partition
           (size 'guess)
           (offset root-offset)
           (label root-label)
           (file-system "ext2")
           (file-system-options '("-o" "hurd" "-O" "ext_attr"))
           (flags '(boot))
           (initializer hurd-initialize-root-partition))))))

(define hurd-image-type
  (image-type
   (name 'hurd-raw)
   (constructor (cut image-with-os hurd-disk-image <>))))

(define hurd-qcow2-image-type
  (image-type
   (name 'hurd-qcow2)
   (constructor (lambda (os)
                  (image
                   (inherit hurd-disk-image)
                   (format 'compressed-qcow2)
                   (operating-system os))))))

(define hurd-barebones-disk-image
  (image
   (inherit
    (os+platform->image hurd-barebones-os i586-gnu
                        #:type hurd-image-type))
   (name 'hurd-barebones-disk-image)))

(define hurd-barebones-qcow2-image
  (image
   (inherit
    (os+platform->image hurd-barebones-os i586-gnu
                        #:type hurd-qcow2-image-type))
   (name 'hurd-barebones.qcow2)))

;; Return the default image.
hurd-barebones-qcow2-image
science team. Change-Id: I790fe329cde11fcb4b706b01b9aa59ad29d8c874 Efraim Flashner 2024-01-22news: Add entry for removing linux-libre 4.14 (EoL)....* etc/news.scm: Add entry for linux-libre 4.14 removal and add my copyright header. Change-Id: I5c2418bc22a4ae2bba63c1cf77e66d2574766e01 Wilko Meyer 2024-01-16teams: Add Wilko Meyer to kernel....* etc/teams.scm: Add Wilko Meyer. Change-Id: Ia7b85a090a4d8e81689bd137e1d12cb3708aa760 Signed-off-by: Leo Famulari <leo@famulari.name> Wilko Meyer 2024-01-14teams: Add Vivien Kraus....* etc/teams.scm.in ("Vivien Kraus"): New member. Change-Id: Iab2c9300f3e1e604fb2ee539a7eb05e7a3f54776 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Vivien Kraus 2024-01-13news: Fix 'de' translation....* etc/news.scm: Fix typo. Change-Id: I943fed38a444d1403cc5f979a7d6b9f52bedf5dd Florian Pelz 2024-01-12teams: Add entry for Sharlatan Hellseher....* etc/teams.scm ("Sharlatan Hellseher"): New member. Change-Id: I05f1442e90799e182feb153f45191e789c05461b Sharlatan Hellseher 2024-01-09news: Add entry for the new '--max-layers=N' option....* etc/news.scm: Add entry. Change-Id: I286c04fd2cef820007606d1092ab45be4466fb19 Oleg Pykhalov 2024-01-05teams: Add ‘core-packages’ team....* etc/teams.scm (bootstrap): Add “gnu/packages/commencement.scm”. (core-packages): New team. (Ludovic Courtès): Add to ‘core-packages’ team. Change-Id: I25f22d436a4dc9bf4c8f577f94cc178cbaa80768 Ludovic Courtès 2024-01-04etc: Add rust-team manifest....Change-Id: Ie43bd4a88d35270dcac7baaabeafbcc3a755db1e Efraim Flashner 2023-12-22teams: mozilla: Add icecat-extension.scm and browser-extensions.scm....* etc/teams.scm (mozilla): Add "gnu/build/icecat-extension.scm" and "gnu/packages/browser-extensions.scm". Change-Id: Id59fb307256e5870b3c19f0b7c41446775a57d9e Clément Lassieur 2023-12-20teams: Add entry for Clément Lassieur....* etc/teams.scm ("Clément Lassieur"): New member. Change-Id: If6456d9496f59b0a26608ad5e55aa8fdfb8af492 Clément Lassieur 2023-12-18maint: Build more development packages for GNU/Hurd....* etc/hurd-manifest.scm: Add Autotools and Guile-related packages. Change-Id: I6ded9623543a8f5444e9d6bb04284e9ca2aa2dcd Ludovic Courtès 2023-12-10bash completion: Complete ‘guix style -f’ with files....* etc/completion/bash/guix (_guix_is_dash_f): Recognise ‘--whole-file’ as a member of the ‘-f’ family. (_guix_complete): Add a new clause for ‘guix style’. Reported by cmiller in #guix. Change-Id: I3f55f7fd7fb8610dc13770ebfe70d9f65c1497af Tobias Geerinckx-Rice 2023-11-20teams: Include golang-check.scm in the go team....* etc/teams.scm (go): Add gnu/packages/golang-check.scm to scope. Change-Id: Ifc90eb0c3fc5d716b605e7e3e100a38431498a2c Signed-off-by: Christopher Baines <mail@cbaines.net> Benjamin 2023-11-12teams: Add Ekaitz Zarraga to bootstrap and zig....* etc/teams.scm: Add Ekaitz Zarraga. Change-Id: Idda2ffbc15adc3725bcd1600988582f0d4c2766a Signed-off-by: Efraim Flashner <efraim@flashner.co.il> Ekaitz Zarraga 2023-11-12teams: Add Zig team....* etc/teams.scm (zig): New team for the zig programming language, packages and build system. Change-Id: I96f9ced1ad04b1cd9041c53aa8c86fe29014ccd1 Signed-off-by: Efraim Flashner <efraim@flashner.co.il> Ekaitz Zarraga 2023-11-07doc: Add some guidelines for reviewing....* doc/contributing.texi (Contributing) [Reviewing the Work of Others]: New section. (Debbugs Usertags): Expound with Emacs Debbugs information and document the 'reviewed-looks-good' usertag. * etc/git/gitconfig [b4]: New section. Change-Id: I56630b15ec4fbc5c67e5420dbf2838556a005d6b Reviewed-by: Ludovic Courtès <ludo@gnu.org> Maxim Cournoyer 2023-11-07fish completion: Fix typos....* etc/completion/fish/guix.fish (__fish_guix_needs_command): Fix spelling of specified. (__fish_guix_using_command): Fix spelling of specified. Change-Id: Ieac612da8cd2a7a1c44c5a54c57574ce2b8d8bd4 Efraim Flashner 2023-11-01teams.scm: Add file-local variable prop line for the mode....This tells Emacs to use the scheme-mode to edit the file. * etc/teams.scm (mode): New file-local variable. Change-Id: I9a48f552e831317402673d95cf6c1de506d388b5 Maxim Cournoyer 2023-10-27teams: Add myself to audio team....Message-ID: <cfad42ecdcd190893699ef28d42b35b706729bcd.1698355699.git.gabriel@erlikon.ch> In-Reply-To: <81d0877b2cb39164563dfbf2c551f1c99aad75ed.1698355699.git.gabriel@erlikon.ch> References: <81d0877b2cb39164563dfbf2c551f1c99aad75ed.1698355699.git.gabriel@erlikon.ch> From: Gabriel Wicki <gabriel@erlikon.ch> Date: Tue, 2 May 2023 16:47:41 +0200 Subject: [PATCH 2/2] teams: Add Gabriel Wicki. * etc/teams.scm.in ("Gabriel Wicki"): New member. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Gabriel Wicki 2023-10-27teams: Add audio team....Message-ID: <81d0877b2cb39164563dfbf2c551f1c99aad75ed.1698355699.git.gabriel@erlikon.ch> From: Gabriel Wicki <gabriel@erlikon.ch> Date: Tue, 2 May 2023 16:38:15 +0200 Subject: [PATCH 1/2] teams: Add audio team. * etc/teams.scm.in (audio): Add team. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Gabriel Wicki