Próximo: , Anterior: , Acima: Canais   [Conteúdo][Índice]


6.4 Customizing the System-Wide Guix

Se você estiver executando o Guix System ou construindo imagens de sistema com ele, talvez você queira personalizar o guix de todo o sistema que ele fornece—especificamente, /run/current-system/profile/bin/guix. Por exemplo, você pode querer fornecer canais adicionais ou fixar sua revisão.

Isso pode ser feito usando o procedimento guix-for-channels, que retorna um pacote para os canais fornecidos e o usa como parte da configuração do seu sistema operacional, como neste exemplo:

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

(define my-channels
  ;; Canais que devem estar disponíveis para
  ;; /run/current-system/profile/bin/guix.
  (append
   (list (channel
          (name 'guix-science)
          (url "https://github.com/guix-science/guix-science")
          (branch "master")))
   %default-channels))

(operating-system
  ;; …
  (services
    ;; Change the package used by 'guix-service-type'.
    (modify-services %base-services
      (guix-service-type
       config => (guix-configuration
                  (inherit config)
                  (channels my-channels)
                  (guix (guix-for-channels my-channels)))))))

O sistema operacional resultante terá os canais guix e guix-science visíveis por padrão. O campo channels de guix-configuration acima garante ainda mais que /etc/guix/channels.scm, que é usado por guix pull, especifica o mesmo conjunto de canais (veja campo channels de guix-configuration).

O módulo (gnu packages package-management) exporta o procedimento guix-for-channels, descrito abaixo.

Procedimento: guix-for-channels canais

Retorna um pacote correspondente a canais.

O resultado é um pacote “regular”, que pode ser usado em guix-configuration como mostrado acima ou em qualquer outro lugar que espere um pacote.