No description
  • Scheme 71.7%
  • Tree-sitter Query 28.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-06 16:56:25 +03:00
bromal packages: add beam-search-patches function 2026-10-06 16:56:25 +03:00
.guix-authorizations initial commit 2026-10-01 10:49:05 +03:00
.guix-channel initial commit 2026-10-01 10:49:05 +03:00
LICENSE add GPLv3 file 2026-10-03 00:06:28 +03:00
README.org add README.org 2026-10-03 22:46:33 +03:00

Bromal Guix Channel

This is a repository for the GNU Guix package manager, which contains a package and a service for Bromal Matrix homeserver. It also contains the most recent versions of Erlang and Elixir.

Installation

To use this Guix channel, add the following to your ~/.config/guix/channels.scm file:

  (cons* (channel
          (name 'bromal)
          (url "https://code.bromal.im/guix/channel.git")
          (introduction
           (make-channel-introduction
            "90d8ec65a62a0e95fdb8f18c8470163012613a5c"
            (openpgp-fingerprint
             "9E23 D5BC AEB7 E364 7321  4A00 C3A7 8EB3 FEFE 6C04"))))
         %default-channels)

Then run guix pull.

Substitutes

A substitute server is available at https://ci.bromal.im. On Guix System, you can add and authorize this URL the following way:

  ...

  (define %ci.bromal.im-key
    "(public-key (ecc (curve Ed25519) (q #3C46C613CAAC0DB9BFCC95EB777A5F4BEE05C8FA822411EAC0C22A5F28C0228A#)))")

  ...

  (operating-system
    (services
     ...
     (modify-services %desktop-services
       ...
       (guix-service-type config => (guix-configuration
                                     (inherit config)
                                     (substitute-urls
                                      (append (list
                                               ...
                                               "https://ci.bromal.im")
                                              %default-substitute-urls))
                                     (authorized-keys
                                      (append (list
                                               ...
                                               (plain-file "ci.bromal.im.pub" %ci.bromal.im-key))
                                              %default-authorized-guix-keys))))

       ...

Guix System will only use the substitution server after it has been reconfigured. The substitution server will therefore by default not be used the first time you run guix system reconfigure after adding the substitution server. It is therefore recommended to explicitly specify the use of the substitution server the first time you reconfigure your system:

  $ curl https://ci.bromal.im/signing-key.pub | sudo guix archive --authorize
  $ sudo -E guix system reconfigure ~/.config/guix/system.scm \
    --substitute-urls='https://ci.guix.gnu.org https://bordeaux.guix.gnu.org https://ci.bromal.im'

The Cuirass instance can be useful when investigating substitution failures.

Check out the chapter on substitutes in the Guix manual for more details.

Service

To start Bromal as a service, add the following to your services list:

  (service bromal-service-type)

You can also consult with its source code for more configuration options.

Credits

Some code was shamelessly stolen from Guix upstream.

Some information provided here was taken from Nonguix project.

License

This project is licensed under the GPLv3 or later. Please consult the LICENSE file for more details.