docs(nixery): dynamically display current nixpkgs commit

People occasionally ask what the current nixpkgs commit is on
nixery.dev (see e.g. https://github.com/tazjin/nixery/issues/153).

With this change, the commit is displayed on nixery.dev if Nixery is
built for the TVL deployment.

Change-Id: I795220214db5a367a126c9b4bd03754e9f144940
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5881
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
This commit is contained in:
Vincent Ambo 2022-06-16 17:52:36 +03:00 committed by clbot
parent a0122f4922
commit b8c4d6068f
3 changed files with 25 additions and 13 deletions

View File

@ -19,7 +19,7 @@
with pkgs;
let
inherit (pkgs) buildGoModule;
inherit (pkgs) buildGoModule lib;
# Avoid extracting this from git until we have a way to plumb
# through revision numbers.
@ -33,7 +33,23 @@ depot.nix.readTree.drvTargets rec {
# Use mdBook to build a static asset page which Nixery can then
# serve. This is primarily used for the public instance at
# nixery.dev.
nixery-book = callPackage ./docs { };
#
# If the nixpkgs commit is known, append it to the main docs page.
nixery-book = callPackage ./docs {
postamble = lib.optionalString (pkgs ? nixpkgsCommits.unstable) ''
### Which revision of `nixpkgs` is used for the builds?
The current revision of `nixpkgs` is
[`${pkgs.nixpkgsCommits.unstable}`][commit] from the
`nixos-unstable` channel.
This instance of Nixery uses the `nixpkgs` channel pinned by TVL
in [`//third_party/sources/sources.json`][sources].
[commit]: https://github.com/NixOS/nixpkgs/commit/${pkgs.nixpkgsCommits.unstable}
[sources]: https://code.tvl.fyi/tree/third_party/sources/sources.json
'';
};
nixery-popcount = callPackage ./popcount { };

View File

@ -7,7 +7,7 @@
# Some of the documentation is pulled in and included from other
# sources.
{ fetchFromGitHub, mdbook, runCommand, rustPlatform }:
{ fetchFromGitHub, mdbook, runCommand, rustPlatform, postamble ? "" }:
let
nix-1p = fetchFromGitHub {
@ -17,10 +17,14 @@ let
sha256 = "1pf9i90gn98vz67h296w5lnwhssk62dc6pij983dff42dbci7lhj";
};
in
runCommand "nixery-book" { } ''
runCommand "nixery-book"
{
POSTAMBLE = postamble;
} ''
mkdir -p $out
cp -r ${./.}/* .
chmod -R a+w src
cp ${nix-1p}/README.md src/nix-1p.md
echo "''${POSTAMBLE}" >> src/nixery.md
${mdbook}/bin/mdbook build -d $out
''

View File

@ -34,7 +34,7 @@ meta-package that automatically expands to several other packages.
Meta-packages **must** be the first path component if they are used. Currently
there are only two meta-packages:
- `shell`, which provides a `bash`-shell with interactive configuration and
- `shell`, which provides a `bash`-shell with interactive configuration and
standard tools like `coreutils`.
- `arm64`, which provides ARM64 binaries.
@ -53,14 +53,6 @@ Over [on Github][Nixery]. It is licensed under the Apache 2.0 license. Consult
the documentation entries in the sidebar for information on how to set up your
own instance of Nixery.
### Which revision of `nixpkgs` is used for the builds?
The instance at `nixery.dev` tracks a recent NixOS channel, currently NixOS
20.09. The channel is updated several times a day.
Private registries might be configured to track a different channel (such as
`nixos-unstable`) or even track a git repository with custom packages.
### Should I depend on `nixery.dev` in production?
While we appreciate the enthusiasm, if you would like to use Nixery in your