;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Claes Wallin ;;; ;;; 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 . (define-module (gnu packages pv) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu)) (define-public pv (package (name "pv") (version "1.6.6") (source (origin (method url-fetch) (uri (string-append "https://www.ivarch.com/programs/sources/pv-" version ".tar.bz2")) (sha256 (base32 "1wbk14xh9rfypiwyy68ssl8dliyji30ly70qki1y2xx3ywszk3k0")))) (build-system gnu-build-system) (home-page "https://www.ivarch.com/programs/pv.shtml") (synopsis "Pipeline progress indicator") (description "pv (Pipe Viewer) is a terminal-based tool for monitoring the progress of data through a pipeline. It can be inserted into any normal pipeline between two processes to give a visual indication of how quickly data is passing through, how long it has taken, how near to completion it is, and an estimate of how long it will be until completion.") (license artistic2.0))) eb08f4fb4bc7cf9f40c2'/>
blob: f0dd0cf742b3b521324b6f61e3580a0786e746f9 (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
;; -*-scheme-*-

;; This is an operating system configuration template
;; for a "bare bones" setup, with no X11 display server.

;; To build a disk image for a virtual machine, do
;;
;;     ./pre-inst-env guix system image --target=i586-pc-gnu \
;;         gnu/system/examples/bare-hurd.tmpl
;;
;; You may run it like so
;;
;;     guix environment --ad-hoc qemu -- qemu-system-i386 -enable-kvm -m 512M \
;;      -device rtl8139,netdev=net0 -netdev user,id=net0,hostfwd=tcp:127.0.0.1:10022-:2222 \
;;      -snapshot -hda <the-image>
;;
;; and use it like
;;
;;     ssh -p 10022 root@localhost
;;     guix build -e '(@@ (gnu packages commencement) gnu-make-boot0)'
;;
;; or even (if you use --image-size=3G)
;;
;;     guix build hello

(use-modules (gnu) (gnu system hurd) (guix utils))
(use-service-modules ssh)
(use-package-modules ssh)

(define %hurd-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")
    (users (cons (user-account
                  (name "guix")
                  (comment "Anonymous Hurd Hacker")
                  (group "users")
                  (supplementary-groups '("wheel")))
                 %base-user-accounts))
    (packages (cons openssh-sans-x %base-packages/hurd))
    (services (cons (service openssh-service-type
                             (openssh-configuration
                              (openssh openssh-sans-x)
                              (port-number 2222)
                              (permit-root-login #t)
                              (allow-empty-passwords? #t)
                              (password-authentication? #t)))
                    %base-services/hurd))))

%hurd-os