Nächste: , Vorige: , Nach oben: Kanäle   [Inhalt][Index]


6.4 Anpassung des systemweiten Guix

Wenn bei Ihnen Guix System läuft oder Sie Guix System benutzen, um Abbilder („Images“) zu erstellen, möchten Sie vielleicht Anpassungen vornehmen, welches guix darin systemweit verfügbar ist – um genau zu sein, an /run/current-system/profile/bin/guix. Zum Beispiel könnten Sie zusätzliche Kanäle vorsehen oder genau festschreiben, welche Version es verwendet.

Dazu verwenden Sie die Prozedur guix-for-channels, die ein Paket für die angegebenen Pakete zurückliefert, welche sie in Ihrer Betriebssystemkonfiguration so benutzen wie in diesem Beispiel:

(use-modules (gnu packages package-management)
             (guix channels))

(define meine-kanäle
  ;; Die Kanäle, die in /run/current-system/profile/bin/guix
  ;; verfügbar sein sollen.
  (append
   (list (channel
          (name 'guix-science)
          (url "https://github.com/guix-science/guix-science")
          (branch "master")))
   %default-channels))

(operating-system
  ;; …
  (services
    ;; Ändern, welches Paket 'guix-service-type' verwendet.
    (modify-services %base-services
      (guix-service-type
       config => (guix-configuration
                  (inherit config)
                  (channels meine-kanäle)
                  (guix (guix-for-channels meine-kanäle)))))))

Das Ergebnis ist ein Betriebssystem, in dem sowohl der guix-Kanal als auch der Kanal guix-science als Voreinstellung sichtbar sind. Das Feld channels in der obigen guix-configuration bewirkt zudem, dass die Datei /etc/guix/channels.scm, die von guix pull benutzt wird, dieselben Kanäle angibt (siehe das Feld channels in guix-configuration).

Das Modul (gnu packages package-management) exportiert die Prozedur guix-for-channels, die im Folgenden beschrieben wird.

Prozedur: guix-for-channels Kanäle

Liefert ein Paket mit jedem der Kanäle.

Das Ergebnis ist ein „normales“ Paket, das für die Nutzung in guix-configuration geeignet ist, wie oben gezeigt, aber auch überall sonst wo ein Paket erwartet wird.