1
0
Fork 0
mirror of https://github.com/NixOS/nix.dev.git synced 2024-10-18 00:06:26 -04:00
Commit graph

22 commits

Author SHA1 Message Date
Valentin Gagarin 84c2d8e800
update Nix releases (#1061) 2024-09-17 08:47:21 +00:00
Valentin Gagarin abfb843643
update Nix releases (#1059) 2024-09-11 10:05:28 +00:00
Valentin Gagarin 96bbe86678
downgrade latest Nix to 2.23 (#1058) 2024-09-10 02:41:53 +02:00
Valentin Gagarin 174bdff866
update Nix and Nixpkgs releases (#1033) 2024-08-14 19:21:54 +00:00
Valentin Gagarin ee7f0869c0
update Nix manuals (#1007) 2024-06-28 15:10:45 +02:00
Valentin Gagarin bfa0c7de86
migrate from niv to npins (#991) 2024-06-03 09:50:23 +02:00
Valentin Gagarin 890d05a88b
update Nix manuals (#980) 2024-05-15 10:10:58 +02:00
Valentin Gagarin 07a1507f25 update some comments 2024-04-05 17:17:53 +02:00
Silvan Mosberger f4794639c6 Various improvements to the dynamically generated Nix versions
- Use separate JSON files to track sources for Nixpkgs and Nix releases
  This greatly simplifies the code, because we can directly encode
  versions as keys without ambiguity
- Avoid an instance of IFD for the redirect generation
- Use pkgs.substitute instead of builtins.replaceStrings
- Turn off the single-page feature for now. It was added by Valentin in
  a previous commit, but I think we should discuss this a bit more
- Simplify a lot of the code and add comments
- Fix the mutable redirects, they were broken by a parent commit
- Remove pieces of Nix code that weren't used, like the import of the
  Nixpkgs manual. This can be added in the future when necessary
- Make sure that Nix versions are cached by building from the store path
2024-04-04 02:04:56 +02:00
Valentin Gagarin e837576351 refactor
this change also places all historical Nix manuals under a stable URL
2024-04-03 13:59:14 +02:00
Valentin Gagarin a3b5aad725 add a script to update Nixpkgs releases
this will accumulate releases over time. it's not great, but this is the
price of persistent URLs. otherwise, when people link to supposedly stable
URLs, and we garbage-collect old manuals, those links will rot away.

it's also slightly simpler algorithmically, and therefore easier to
reason about.

this can be incrementally improved in the future, by automatically
adding redirects to e.g. the closest following release for which the
manual is still served. for example, if we currently serve

    23.11
    23.05
    22.11
    22.05

but in the future decide to cut that list to the first two, the script
would drop the excess pins and add redirects like these:

    /manual/nixpkgs/22.05/* /manual/nixpkgs/23.05/:splat 301
    /manual/nixpkgs/22.11/* /manual/nixpkgs/23.05/:splat 301

the condition for that would be that we are reasonably sure that the
manuals will manage their own internal redirects as pages and anchors
move around between releases.
2024-04-03 09:21:26 +02:00
Valentin Gagarin 2e867e05e3 pin to known-good revision
before that, the script was semantically wrong as it pinned to the tip
of the branch.
2024-04-03 09:21:26 +02:00
Valentin Gagarin 751f62916b multiline awk script for readability 2024-04-03 09:21:26 +02:00
Valentin Gagarin 0a70dbf90c deep clone, optimise checkouts 2024-04-03 09:21:26 +02:00
Valentin Gagarin a7fb1513b5 only fetch branches that differ from pins 2024-04-03 09:21:26 +02:00
Valentin Gagarin c7374d4b7f only fetch release branches 2024-04-03 09:21:26 +02:00
Valentin Gagarin 161bba2625 add script to update Nix release branches 2024-04-03 09:21:26 +02:00
Valentin Gagarin 3ffb8d8227 rework the way redirects are built 2024-04-03 09:21:26 +02:00
Valentin Gagarin 0ff3ceca01
use upstream page redirects for Nix manual (#829) 2024-01-15 13:44:42 +01:00
fricklerhandwerk 21bfef408a host Nix reference manual on nix.dev
this is the most cursed setup you will see any time soon.

we're dumping the Nix manual unchanged into the build tree *after*
building. the reason is that we'd want to link to it from our table of
contents, but because Sphinx does not allow adding arbitrary files to
the build output in arbitrary locations (only `_static` works). but we
want to place the manual behind a particular URL, and the alternative of
maintaining URL rewrites (e.g. in nginx) is not accessible here because the
infrastructure is managed somewhere else.

now that the files won't appear in their desired locations at Sphinx
build time, we can't use relative links to reference them, therefore we
have to resort to pointing to the web URL the manual will appear at.
this is terrible and I'm sorry. please fix this if you have a better
idea. once we use URLs though, we have to avoid linkchecking, since
those files may not be there before deploying them.

figuring all of this out took way longer than anyone would wish.

Co-authored-by: Alejandro Sanchez Medina <alejandrosanchzmedina@gmail.com>
2023-11-27 07:30:35 +01:00
fricklerhandwerk 533724820c use "source" for niv source names
this removes a difference to how Nix currently fetches flake references.

using a constant is preferrable because renaming the source won't force
downstream rebuilds of store objects cached from when flakes were used.

upstream fix: https://github.com/nmattia/niv/pull/379
2023-11-07 03:06:11 +01:00
fricklerhandwerk 1e2299cff6 remove flake.nix
use niv for dependency management.

this follows our own tutorials on writing packages and development
shells, and we generally find it is easier to read and work with.

Co-authored-by: Alejandro Sanchez Medina <alejandrosanchzmedina@gmail.com>
2023-11-07 03:04:28 +01:00