0c178a0ef6
Upstream nixpkgs removed a lot of aliases this time, so we needed to do the following transformations. It's a real shame that aliases only really become discoverable easily when they are removed. * runCommandNoCC -> runCommand * gmailieer -> lieer We also need to work around the fact that home-manager hasn't catched on to this rename. * mysql -> mariadb * pkgconfig -> pkg-config This also affects our Nix fork which needs to be bumped. * prometheus_client -> prometheus-client * rxvt_unicode -> rxvt-unicode-unwrapped * nix-review -> nixpkgs-review * oauth2_proxy -> oauth2-proxy Additionally, some Go-related builders decided to drop support for passing the sha256 hash in directly, so we need to use the generic hash arguments. Change-Id: I84aaa225ef18962937f8616a9ff064822f0d5dc3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6792 Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi> Reviewed-by: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: wpcarro <wpcarro@gmail.com>
93 lines
2.3 KiB
Nix
93 lines
2.3 KiB
Nix
{ depot, pkgs, ... }:
|
|
|
|
let
|
|
inherit (depot.users.sterni.nix.html)
|
|
__findFile
|
|
esc
|
|
withDoctype
|
|
;
|
|
|
|
exampleDocument = withDoctype (<html> { lang = "en"; } [
|
|
(<head> { } [
|
|
(<meta> { charset = "utf-8"; } null)
|
|
(<title> { } "html.nix example document")
|
|
(<link>
|
|
{
|
|
rel = "license";
|
|
href = "https://code.tvl.fyi/about/LICENSE";
|
|
type = "text/html";
|
|
}
|
|
null)
|
|
(<style> { } (esc ''
|
|
hgroup h2 {
|
|
font-weight: normal;
|
|
}
|
|
|
|
dd {
|
|
margin: 0;
|
|
}
|
|
''))
|
|
])
|
|
(<body> { } [
|
|
(<main> { } [
|
|
(<hgroup> { } [
|
|
(<h1> { } (esc "html.nix"))
|
|
(<h2> { } [
|
|
(<em> { } "the")
|
|
(esc " most cursed HTML DSL ever!")
|
|
])
|
|
])
|
|
(<dl> { } [
|
|
(<dt> { } [
|
|
(esc "Q: Wait, it's all ")
|
|
(<a>
|
|
{
|
|
href = "https://cl.tvl.fyi/q/hashtag:cursed";
|
|
}
|
|
(esc "cursed"))
|
|
(esc " nix hacks?")
|
|
])
|
|
(<dd> { } (esc "A: Always has been. 🔫"))
|
|
(<dt> { } (esc "Q: Why does this work?"))
|
|
(<dd> { } [
|
|
(esc "Because nix ")
|
|
(<a>
|
|
{
|
|
href = "https://github.com/NixOS/nix/blob/293220bed5a75efc963e33c183787e87e55e28d9/src/libexpr/parser.y#L410-L416";
|
|
}
|
|
(esc "translates "))
|
|
(<a>
|
|
{
|
|
href = "https://github.com/NixOS/nix/blob/293220bed5a75efc963e33c183787e87e55e28d9/src/libexpr/lexer.l#L100";
|
|
}
|
|
(esc "SPATH tokens"))
|
|
(esc " like ")
|
|
(<code> { } (esc "<nixpkgs>"))
|
|
(esc " into calls to ")
|
|
(<code> { } (esc "__findFile"))
|
|
(esc " in the ")
|
|
(<em> { } (esc "current"))
|
|
(esc " scope.")
|
|
])
|
|
])
|
|
])
|
|
])
|
|
]);
|
|
in
|
|
|
|
pkgs.runCommand "html.nix.html"
|
|
{
|
|
passAsFile = [ "exampleDocument" ];
|
|
inherit exampleDocument;
|
|
nativeBuildInputs = [ pkgs.html5validator ];
|
|
} ''
|
|
set -x
|
|
test "${esc "<> && \" \'"}" = "<> && " '"
|
|
|
|
# slow as hell unfortunately
|
|
html5validator "$exampleDocumentPath"
|
|
|
|
mv "$exampleDocumentPath" "$out"
|
|
|
|
set +x
|
|
''
|