aboutsummaryrefslogtreecommitdiff
path: root/gnu/system/hurd.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/system/hurd.scm')
-rw-r--r--gnu/system/hurd.scm17
1 files changed, 17 insertions, 0 deletions
diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm
index 9a351529e8..6263d3de71 100644
--- a/gnu/system/hurd.scm
+++ b/gnu/system/hurd.scm
@@ -18,6 +18,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu system hurd)
+ #:use-module (ice-9 match)
#:use-module (guix gexp)
#:use-module (guix profiles)
#:use-module (guix utils)
@@ -51,6 +52,8 @@
%desktop-services/hurd
%hurd-default-operating-system
%hurd-default-operating-system-kernel
+ %hurd64-default-operating-system
+ %hurd64-default-operating-system-kernel
%setuid-programs/hurd))
;;; Commentary:
@@ -68,6 +71,14 @@
(%current-target-system #f))
gnumach)))
+(define %hurd64-default-operating-system-kernel
+ (if (system-hurd?)
+ gnumach
+ ;; A cross-built GNUmach does not work
+ (with-parameters ((%current-system "x86_64-linux")
+ (%current-target-system #f))
+ gnumach)))
+
(define %base-packages/hurd
;; Note: the Shepherd comes before the Hurd, not just because its duty is to
;; shepherd the herd, but also because we want its 'halt' and 'reboot'
@@ -142,3 +153,9 @@
(essential-services (hurd-default-essential-services this-operating-system))
(privileged-programs '())
(setuid-programs %setuid-programs/hurd)))
+
+(define %hurd64-default-operating-system
+ (operating-system
+ (inherit %hurd-default-operating-system)
+ (kernel %hurd64-default-operating-system-kernel)))
+