digraph "Guix shepherd-service" { "user-file-systems" [label = "user-file-systems", shape = box, fontname = Helvetica]; "user-processes" -> "user-file-systems" [color = cyan3]; "user-processes" [label = "user-processes", shape = box, fontname = Helvetica]; "nscd" -> "user-processes" [color = magenta]; "guix-daemon" -> "user-processes" [color = blue]; "urandom-seed" -> "user-processes" [color = dimgrey]; "syslogd" -> "user-processes" [color = darkgoldenrod]; "term-tty6" -> "user-processes" [color = magenta]; "term-tty5" -> "user-processes" [color = red]; "term-tty4" -> "user-processes" [color = darkgoldenrod]; "term-tty3" -> "user-processes" [color = dimgrey]; "term-tty2" -> "user-processes" [color = darkviolet]; "term-tty1" -> "user-processes" [color = peachpuff4]; "networking" -> "user-processes" [color = dimgrey]; "nscd" [label = "nscd", shape = box, fontname = Helvetica]; "guix-daemon" [label = "guix-daemon", shape = box, fontname = Helvetica]; "urandom-seed" [label = "urandom-seed", shape = box, fontname = Helvetica]; "syslogd" [label = "syslogd", shape = box, fontname = Helvetica]; "ssh-daemon" -> "syslogd" [color = darkgoldenrod]; "ssh-daemon" [label = "ssh-daemon", shape = box, fontname = Helvetica]; "term-tty6" [label = "term-tty6", shape = box, fontname = Helvetica]; "console-font-tty6" -> "term-tty6" [color = darkgoldenrod]; "console-font-tty6" [label = "console-font-tty6", shape = box, fontname = Helvetica]; "term-tty5" [label = "term-tty5", shape = box, fontname = Helvetica]; "console-font-tty5" -> "term-tty5" [color = dimgrey]; "console-font-tty5" [label = "console-font-tty5", shape = box, fontname = Helvetica]; "term-tty4" [label = "term-tty4", shape = box, fontname = Helvetica]; "console-font-tty4" -> "term-tty4" [color = darkviolet]; "console-font-tty4" [label = "console-font-tty4", shape = box, fontname = Helvetica]; "term-tty3" [label = "term-tty3", shape = box, fontname = Helvetica]; "console-font-tty3" -> "term-tty3" [color = peachpuff4]; "console-font-tty3" [label = "console-font-tty3", shape = box, fontname = Helvetica]; "term-tty2" [label = "term-tty2", shape = box, fontname = Helvetica]; "console-font-tty2" -> "term-tty2" [color = darkseagreen]; "console-font-tty2" [label = "console-font-tty2", shape = box, fontname = Helvetica]; "term-tty1" [label = "term-tty1", shape = box, fontname = Helvetica]; "console-font-tty1" -> "term-tty1" [color = cyan3]; "console-font-tty1" [label = "console-font-tty1", shape = box, fontname = Helvetica]; "networking" [label = "networking", shape = box, fontname = Helvetica]; "ssh-daemon" -> "networking" [color = darkgoldenrod]; "root-file-system" [label = "root-file-system", shape = box, fontname = Helvetica]; "file-system-/dev/pts" -> "root-file-system" [color = peachpuff4]; "file-system-/dev/shm" -> "root-file-system" [color = darkgoldenrod]; "file-system-/gnu/store" -> "root-file-system" [color = blue]; "user-processes" -> "root-file-system" [color = cyan3]; "udev" -> "root-file-system" [color = darkseagreen]; "file-system-/dev/pts" [label = "file-system-/dev/pts", shape = box, fontname = Helvetica]; "user-processes" -> "file-system-/dev/pts" [color = cyan3]; "file-system-/dev/shm" [label = "file-system-/dev/shm", shape = box, fontname = Helvetica]; "user-processes" -> "file-system-/dev/shm" [color = cyan3]; "file-system-/gnu/store" [label = "file-system-/gnu/store", shape = box, fontname = Helvetica]; "user-processes" -> "file-system-/gnu/store" [color = cyan3]; "udev" [label = "udev", shape = box, fontname = Helvetica]; "term-tty6" -> "udev" [color = magenta]; "term-tty5" -> "udev" [color = red]; "term-tty4" -> "udev" [color = darkgoldenrod]; "term-tty3" -> "udev" [color = dimgrey]; "term-tty2" -> "udev" [color = darkviolet]; "term-tty1" -> "udev" [color = peachpuff4]; "networking" -> "udev" [color = dimgrey]; "host-name" [label = "host-name", shape = box, fontname = Helvetica]; "term-tty6" -> "host-name" [color = magenta]; "term-tty5" -> "host-name" [color = red]; "term-tty4" -> "host-name" [color = darkgoldenrod]; "term-tty3" -> "host-name" [color = dimgrey]; "term-tty2" -> "host-name" [color = darkviolet]; "term-tty1" -> "host-name" [color = peachpuff4]; "loopback" [label = "loopback", shape = box, fontname = Helvetica]; } ic Courtès <ludo@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/>. ;;; ;;; Build a self-contained tarball containing binaries for Guix and its ;;; dependencies. ;;; (use-modules (guix) (guix ui) (gnu system install) (ice-9 match)) (define copy-file* (lift2 copy-file %store-monad)) (define rename-file* (lift2 rename-file %store-monad)) (match (command-line) ((_ system file) (with-store store (run-with-store store (mlet %store-monad ((tarball (self-contained-tarball))) (mbegin %store-monad (show-what-to-build* (list tarball)) (built-derivations (list tarball)) (copy-file* (derivation->output-path tarball) (string-append file ".part")) (rename-file* (string-append file ".part") file))) #:system system))))