Skip to content
Snippets Groups Projects
Commit 3134b38e authored by Millian Poquet's avatar Millian Poquet
Browse files

artifact guide: nix binary cache + v traceability

parent 2a590384
No related branches found
No related tags found
No related merge requests found
......@@ -69,6 +69,7 @@
- Artifact data on Zenodo. #todo([zenodo link])
- Artifact code on Software Heritage. #todo([software heritage link])
- Artifact code on a GitLab instance. #todo([git link])
- Artifact Nix binary cache. #url("https://lightweight-pred-sched-europar24.cachix.org")
#line(length:100%, stroke: .5mm)
]
......@@ -176,13 +177,60 @@ Please note that the way to enable flakes depend on whether you are on NixOS or
- Launching `nix build 'github:nixos/nixpkgs?ref=23.11#hello'` should create a `result` symbolic link in your current directory. Then, launching `./result/bin/hello` should print `Hello, world!`.
- Launching `nix shell 'github:nixos/nixpkgs?ref=23.11#hello' --command hello` should print `Hello, world!`.
== Configure Nix to use our binary cache
This step is completely optional but recommended for this artifact reviewers, as it enables to download precompiled versions of our software environments instead of building them on your own machine.
#todo[cachix]
== Using our Nix binary cache
*This step is completely optional*.
Using our binary cache is however recommended
as it enables to download precompiled versions of our software environments instead of building them on your own machine.
Our cache has the following properties.
- URL is #url("https://lightweight-pred-sched-europar24.cachix.org")
- Public key is #text(size: 9pt, raw("lightweight-pred-sched-europar24.cachix.org-1:dHsm8geVskEOsZIjzXtVCmPvh0L2zwTlLm8V4QoJdgI="))
Once again, we recommend to use #link("https://nixos.wiki/wiki/Binary_Cache#Using_a_binary_cache")[up-to-date documentation on using a Nix binary cache]
but show how to use our cache as of 2024-05-07.
If *you are using NixOS*, you must edit your Nix#underline[OS] configuration file to add our cache URL in the `nix.settings.substituters` array,
and our cache public key in the `nix.settings.trusted-public-keys` array.
If you are *not using NixOS*,
you must edit your #underline[Nix] configuration file (`~/.config/nix/nix.conf` on Linux) to add our cache URL in the `substituters` array,
and our cache public key in the `trusted-public-keys` array. Please find below a *2-line* example configuration file that only enables the NixOS binary cache and ours.
#{
set text(size: 9pt)
show raw.where(block: true): it => [
#let nlines = it.lines.len()
#table(columns: (auto, auto), align: (right, left), inset: 0.0em, gutter: 0.5em, stroke: none,
..it.lines.enumerate().map(((i, line)) => (math.mono(text(gray)[#(i + 1)]), line)).flatten()
)
]
rect(stroke: (thickness: .05mm), fill: luma(97%), outset:0mm)[
```
substituters = https://cache.nixos.org https://lightweight-pred-sched-europar24.cachix.org
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= lightweight-pred-sched-europar24.cachix.org-1:dHsm8geVskEOsZIjzXtVCmPvh0L2zwTlLm8V4QoJdgI=
```
]
}
== Version traceability
#todo[dump all envs versions]
All the software versions we use are *fully and purely defined* in the `flake.nix` and `flake.lock` files,
and in the `flake.nix` and `flake.lock` of the flake inputs (recursively).
For the sake of traceability, here are the versions that we think are the most important.
- This artifact Git repository commit #todo[git repo commit]
- Nix 2.18.0
- Nixpkgs commit `057f9aecfb71c4437d2b27d3323df7f93c010b7e`
- NUR-kapack commit `4d8ca88fd8a0a2287ee5c023877f14d53d4854c1`
- SimGrid release 3.34 (commit `036c801d55e3ab07b470c79640109080fed049a1`)
- intervalset commit `13d8f2d7000d4dc4e3202422658b0b5d83f83679`
- batprotocol commit `25bc5bbf039c18a8024c4ab326047ba56800376a`
- easy-powercap release europar24 (commit `659660c35650e9f46ec47e8c0743d75649e68d7b`)
- Batsim commit `ee797ccebbb95410479663ee0547e752112fc83e`
- Python 3.11.6
- Pandas 2.1.1
- fastparquet release 2024.2.0 (commit `eec9e614603f9be3cb495409ccb263caff53fe9d`)
- R 4.3.2
- tidyverse 2.0.0
- Typst commit `21c78abd6eecd0f6b3208405c7513be3bbd8991c` (after 0.11.0)
= Step-by-Step Instructions
All the scripts strongly related to the experiments of Article @lightpredenergy are available on #todo[git repo].
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment