Skip to content

Commit

Permalink
feat: add note on Cachix binary cache
Browse files Browse the repository at this point in the history
This fixes the request in #25.
  • Loading branch information
wucke13 committed Oct 16, 2024
1 parent 0edacaf commit ce0bbb5
Showing 1 changed file with 23 additions and 2 deletions.
25 changes: 23 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,32 @@ Among other things this includes:
- derivations to build the seL4 kernel
- derivations to build our ongoing seL4-rs project, a Rust based wrapper arround seL4
- derivations to build the seL4-test suite for various (simulated and phyiscal) targets
- a generic [FOD](https://nixos.org/manual/nixpkgs/stable/#fixed-output-derivation) fetcher for [Google's repo tool](https://android.googlesource.com/tools/repo)
- a generic [FOD](https://nixos.org/manual/nixpkgs/stable/#fixed-output-derivation) fetcher for
[Google's repo tool](https://android.googlesource.com/tools/repo)

# Caching

Many of the derivations in this repository depend on huge builds, which are not cached by
<https://cache.nixos.org/>. To spare you (and us) hours of compiling cross-compilers, the
CI-pipeline configured for this repository pushes its binary artifacts to the
[DLR-FT Cachix](https://app.cachix.org/cache/dlr-ft). Hence, you may use the following binary cache
with [Cachix](https://app.cachix.org):
`dlr-ft.cachix.org-1:QalYjdLh69S57wX6br7xTVEtOWDoPLXTMTUSurVKnVg=`

To do so, simply invoke the `cachix` executable as followed, before `nix build` or `nix develop`:

```console
cachix use dlr-ft
```

Please note: while we try to keep the relevant artifacts in the Cachix, there might be times
at which some of the artifacts have been evicted from the cache; this is a best-effort to make
everybody's life easier. There is no guarantee that all (or in fact any) of the dependencies to
build this repo's derivations is in the cache.

# About code style and DRY

The code especially in the `flake.nix` is very repetetive.
The code especially in the `flake.nix` is very repetitive.
This is fully intentional, we want the code to be easily copy-pasteable.
Nix' expressive syntax would allow for the various things to be condensed into a much shorter generator expression, however, that is detrimental to the goal of this repo:
providing accessible information on how to compile seL4 related projects in Nix.
Expand Down

0 comments on commit ce0bbb5

Please sign in to comment.