Group: Guix/Mirrors

From LibrePlanet
Jump to: navigation, search
(Add Codeberg mirror)
(Make Codeberg mirror official)
Line 23: Line 23:
 
=== Git ===
 
=== Git ===
  
The [https://git.savannah.gnu.org/cgit/guix.git official Git repository] lives at GNU Savannah, and nowhere elseAll commits are signed and '''guix pull''' verifies the signature of each new commit. This means that it is safe to '''guix pull''' from other copies of the Guix repository during Savannah outages.
+
* The [https://git.savannah.gnu.org/cgit/guix.git official Git repository] lives at GNU Savannah.  This is what '''guix pull''' will use by default.
 +
* There is also [https://codeberg.org/guix/guix-mirror an official mirror] at Codeberg.  We are discussing a gradual migration from Savannah to Codeberg.
  
[https://codeberg.org/guix/guix-mirror An unofficial Guix git mirror at Codeberg] is run by people close to the Guix project and updated in close to real timeIn fact, Guix is currently considering a gradual migration to Codeberg.
+
It is safe to momentarily '''guix pull''' from other copies of the Guix repository, for example during upstream outages.  Guix will reject commits that haven't been signed by trusted upstream commiters.  It will also warn loudly about (un)intentional downgrades.
  
Other fine mirrors exist, but pay close attention to when they were last synchronised!  '''guix pull''' protects against unintentional downgrades and unauthorised commits, but not against stale mirrors.
+
'''However, Guix will not detect when a mirror is out of date and may lack important (security) updatesYou are responsible for checking whether your chosen unofficial mirror is still, well, mirroring.'''

Revision as of 12:37, 6 February 2025

Substitutes

The Guix project runs two official build farms that continuously build binary substitutes, so users don't have to build everything at home. When installing Guix or Guix System for the first time, you'll be asked whether to trust their signatures and download their substitutes by default:

For Guix users outside of Europe, connections to both of these can sometimes be slow or censored. Don't fret just yet: volunteers maintain unofficial mirrors of the official servers that may be closer by:

To use one or more of these mirrors, simply add the URL(s) to the front of your substitute-urls list.

Mirrored substitutes are signed by the original builder, not the mirror. This means that mirror operators cannot add or modify binaries, as long as you trust only the signing keys published by the Guix project.

Git

  • The official Git repository lives at GNU Savannah. This is what guix pull will use by default.
  • There is also an official mirror at Codeberg. We are discussing a gradual migration from Savannah to Codeberg.

It is safe to momentarily guix pull from other copies of the Guix repository, for example during upstream outages. Guix will reject commits that haven't been signed by trusted upstream commiters. It will also warn loudly about (un)intentional downgrades.

However, Guix will not detect when a mirror is out of date and may lack important (security) updates! You are responsible for checking whether your chosen unofficial mirror is still, well, mirroring.