diff options
author | Vincent Ambo <mail@tazj.in> | 2022-01-30T16·06+0300 |
---|---|---|
committer | tazjin <tazjin@tvl.su> | 2022-01-31T16·11+0000 |
commit | aa122cbae78ce97d60c0c98ba14df753d97e40b1 (patch) | |
tree | 12b98d85c4b18fe870feb26de70db9ba61837bd7 /web | |
parent | 2d10d60fac0fd00a71b65cfdcb9fba0477b2086c (diff) |
style: format entire depot with nixpkgs-fmt r/3723
This CL can be used to compare the style of nixpkgs-fmt against other formatters (nixpkgs, alejandra). Change-Id: I87c6abff6bcb546b02ead15ad0405f81e01b6d9e Reviewed-on: https://cl.tvl.fyi/c/depot/+/4397 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: lukegb <lukegb@tvl.fyi> Reviewed-by: wpcarro <wpcarro@gmail.com> Reviewed-by: Profpatsch <mail@profpatsch.de> Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: cynthia <cynthia@tvl.fyi> Reviewed-by: edef <edef@edef.eu> Reviewed-by: eta <tvl@eta.st> Reviewed-by: grfn <grfn@gws.fyi>
Diffstat (limited to 'web')
-rw-r--r-- | web/atom-feed/default.nix | 5 | ||||
-rw-r--r-- | web/blog/default.nix | 5 | ||||
-rw-r--r-- | web/blog/fragments.nix | 45 | ||||
-rw-r--r-- | web/bubblegum/default.nix | 66 | ||||
-rw-r--r-- | web/bubblegum/examples/blog.nix | 43 | ||||
-rw-r--r-- | web/bubblegum/examples/default.nix | 61 | ||||
-rw-r--r-- | web/bubblegum/examples/derivation-svg.nix | 8 | ||||
-rw-r--r-- | web/bubblegum/examples/hello.nix | 8 | ||||
-rw-r--r-- | web/cgit-taz/default.nix | 5 | ||||
-rw-r--r-- | web/panettone/shell.nix | 2 | ||||
-rw-r--r-- | web/static/default.nix | 4 | ||||
-rw-r--r-- | web/todolist/default.nix | 29 | ||||
-rw-r--r-- | web/tvl/blog/default.nix | 2 | ||||
-rw-r--r-- | web/tvl/default.nix | 10 | ||||
-rw-r--r-- | web/tvl/footer/default.nix | 2 | ||||
-rw-r--r-- | web/tvl/logo/default.nix | 42 | ||||
-rw-r--r-- | web/tvl/template/default.nix | 16 |
17 files changed, 209 insertions, 144 deletions
diff --git a/web/atom-feed/default.nix b/web/atom-feed/default.nix index 1fbcde9bd4ff..fca69e20fad9 100644 --- a/web/atom-feed/default.nix +++ b/web/atom-feed/default.nix @@ -90,7 +90,7 @@ let # Feed generation functions: - renderEpoch = epoch: removeSuffix "\n" (readFile (runCommandNoCC "date-${toString epoch}" {} '' + renderEpoch = epoch: removeSuffix "\n" (readFile (runCommandNoCC "date-${toString epoch}" { } '' date --date='@${toString epoch}' --utc --iso-8601='seconds' > $out '')); @@ -147,6 +147,7 @@ let ${concatStrings (map renderEntry (sortEntries f.entries))} </feed> ''); -in { +in +{ inherit entry feed renderFeed renderEpoch; } diff --git a/web/blog/default.nix b/web/blog/default.nix index 2cabc09b5524..f55c33a63a54 100644 --- a/web/blog/default.nix +++ b/web/blog/default.nix @@ -40,7 +40,7 @@ let fragments = import ./fragments.nix args; # Functions for generating feeds for these blogs using //web/atom-feed. - toFeedEntry = { baseUrl, ...}: defun [ post atom-feed.entry ] (post: rec { + toFeedEntry = { baseUrl, ... }: defun [ post atom-feed.entry ] (post: rec { id = "${baseUrl}/${post.key}"; title = post.title; content = readFile (renderMarkdown post.content); @@ -52,7 +52,8 @@ let href = id; }; }); -in { +in +{ inherit post toFeedEntry; inherit (fragments) renderPost; diff --git a/web/blog/fragments.nix b/web/blog/fragments.nix index 63fc1ab4c5cf..19d62fa4744d 100644 --- a/web/blog/fragments.nix +++ b/web/blog/fragments.nix @@ -20,29 +20,29 @@ let escape = replaceStrings [ "<" ">" "&" "'" ] [ "<" ">" "&" "'" ]; header = name: title: '' - <!DOCTYPE html> - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <meta name="description" content="${escape name}"> - <link rel="stylesheet" type="text/css" href="${staticUrl}/tvl.css" media="all"> - <link rel="icon" type="image/webp" href="/static/favicon.webp"> - <link rel="alternate" type="application/atom+xml" title="Atom Feed" href="https://tvl.fyi/feed.atom"> - <title>${escape name}: ${escape title}</title> - </head> - <body class="light"> - <header> - <h1><a class="blog-title" href="/">${escape name}</a> </h1> - <hr> - </header> + <!DOCTYPE html> + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="description" content="${escape name}"> + <link rel="stylesheet" type="text/css" href="${staticUrl}/tvl.css" media="all"> + <link rel="icon" type="image/webp" href="/static/favicon.webp"> + <link rel="alternate" type="application/atom+xml" title="Atom Feed" href="https://tvl.fyi/feed.atom"> + <title>${escape name}: ${escape title}</title> + </head> + <body class="light"> + <header> + <h1><a class="blog-title" href="/">${escape name}</a> </h1> + <hr> + </header> ''; fullFooter = content: '' - <hr> - <footer> - ${content} - </footer> - </body> + <hr> + <footer> + ${content} + </footer> + </body> ''; draftWarning = writeText "draft.html" '' @@ -61,7 +61,7 @@ let <hr> ''; - renderPost = { name, footer, ... }: post: runCommandNoCC "${post.key}.html" {} '' + renderPost = { name, footer, ... }: post: runCommandNoCC "${post.key}.html" { } '' cat ${writeText "header.html" (header name post.title)} > $out # Write the post title & date @@ -90,6 +90,7 @@ let cat ${writeText "footer.html" (fullFooter footer)} >> $out ''; -in { +in +{ inherit isDraft isUnlisted renderPost; } diff --git a/web/bubblegum/default.nix b/web/bubblegum/default.nix index 1fbe544bce11..528d73032ba6 100644 --- a/web/bubblegum/default.nix +++ b/web/bubblegum/default.nix @@ -134,20 +134,23 @@ let code = statusCodes."${statusArg}" or null; line = statusArg; } else { - code = null; line = null; + code = null; + line = null; }; renderedHeaders = lib.concatStrings (lib.mapAttrsToList (n: v: "${n}: ${toString v}\r\n") headers); - internalError = msg: respond 500 { - Content-type = "text/plain"; - } "bubblegum error: ${msg}"; + internalError = msg: respond 500 + { + Content-type = "text/plain"; + } "bubblegum error: ${msg}"; body = builtins.tryEval bodyArg; in - if status.code == null || status.line == null - then internalError "Invalid status ${lib.generators.toPretty {} statusArg}." - else if !body.success - then internalError "Unknown evaluation error in user code" - else lib.concatStrings [ + if status.code == null || status.line == null + then internalError "Invalid status ${lib.generators.toPretty {} statusArg}." + else if !body.success + then internalError "Unknown evaluation error in user code" + else + lib.concatStrings [ "Status: ${toString status.code} ${status.line}\r\n" renderedHeaders "\r\n" @@ -169,9 +172,9 @@ let let p = builtins.getEnv "PATH_INFO"; in - if builtins.stringLength p == 0 - then "/" - else p; + if builtins.stringLength p == 0 + then "/" + else p; /* Helper function which converts a path from the root of the CGI script (i. e. something which @@ -187,12 +190,13 @@ let else "${scriptName}/${path}"; bins = getBins pkgs.coreutils [ "env" "tee" "cat" "printf" "chmod" ] - // getBins nint [ "nint" ]; + // getBins nint [ "nint" ]; /* Type: args -> either path derivation string -> derivation */ writeCGI = - { # if given sets the `PATH` to search for `nix-instantiate` + { + # if given sets the `PATH` to search for `nix-instantiate` # Useful when using for example thttpd which unsets `PATH` # in the CGI environment. binPath ? "" @@ -202,7 +206,8 @@ let , name ? null , ... }@args: - input: let + input: + let drvName = if builtins.isString input || args ? name then args.name @@ -227,20 +232,31 @@ let # always pass depot so scripts can use this library "--arg depot '(import ${minimalDepot} {})'" ]); - in runExecline.local drvName {} [ - "importas" "out" "out" - "pipeline" [ - "foreground" [ - "if" [ bins.printf "%s\n" shebang ] + in + runExecline.local drvName { } [ + "importas" + "out" + "out" + "pipeline" + [ + "foreground" + [ + "if" + [ bins.printf "%s\n" shebang ] ] - "if" [ bins.cat script ] + "if" + [ bins.cat script ] ] - "if" [ bins.tee "$out" ] - "if" [ bins.chmod "+x" "$out" ] - "exit" "0" + "if" + [ bins.tee "$out" ] + "if" + [ bins.chmod "+x" "$out" ] + "exit" + "0" ]; -in { +in +{ inherit respond pathInfo diff --git a/web/bubblegum/examples/blog.nix b/web/bubblegum/examples/blog.nix index 9359d38fa28e..76b91168b894 100644 --- a/web/bubblegum/examples/blog.nix +++ b/web/bubblegum/examples/blog.nix @@ -26,17 +26,17 @@ let let matched = builtins.match "/?([0-9]+)-([0-9]+)-([0-9]+)-.+" post; in - if matched == null - then [ 0 0 0 ] - else builtins.map builtins.fromJSON matched; + if matched == null + then [ 0 0 0 ] + else builtins.map builtins.fromJSON matched; parseTitle = post: let matched = builtins.match "/?[0-9]+-[0-9]+-[0-9]+-(.+).html" post; in - if matched == null - then "no title" - else builtins.head matched; + if matched == null + then "no title" + else builtins.head matched; dateAtLeast = a: b: builtins.all fun.id @@ -68,11 +68,13 @@ let <main> <h1>blog posts</h1> <ul> - '' + lib.concatMapStrings (post: '' + '' + lib.concatMapStrings + (post: '' <li> <a href="${absolutePath (url.encode {} post)}">${parseTitle post}</a> </li> - '') posts + '' + '') + posts + '' </ul> </main> ''; @@ -80,10 +82,14 @@ let formatDate = let # Assume we never deal with years < 1000 - formatDigit = d: string.fit { - char = "0"; width = 2; - } (toString d); - in lib.concatMapStringsSep "-" formatDigit; + formatDigit = d: string.fit + { + char = "0"; + width = 2; + } + (toString d); + in + lib.concatMapStringsSep "-" formatDigit; post = title: post: '' <main> @@ -101,8 +107,9 @@ let validatePathInfo = pathInfo: let chars = string.toChars pathInfo; - in builtins.length chars > 1 - && !(builtins.elem "/" (builtins.tail chars)); + in + builtins.length chars > 1 + && !(builtins.elem "/" (builtins.tail chars)); response = if pathInfo == "/" @@ -129,6 +136,8 @@ let inner = "<h1>404 — not found</h1>"; }; in - respond response.status { - "Content-type" = "text/html"; - } (generic response) +respond response.status +{ + "Content-type" = "text/html"; +} + (generic response) diff --git a/web/bubblegum/examples/default.nix b/web/bubblegum/examples/default.nix index 3f0f51db6369..89482f93eacc 100644 --- a/web/bubblegum/examples/default.nix +++ b/web/bubblegum/examples/default.nix @@ -29,33 +29,54 @@ let ; bins = (getBins pkgs.thttpd [ "thttpd" ]) - // (getBins pkgs.coreutils [ "printf" "cp" "mkdir" ]); + // (getBins pkgs.coreutils [ "printf" "cp" "mkdir" ]); webRoot = let copyScripts = lib.concatMap - (path: let - cgi = writeCGI { - # assume we are on NixOS since thttpd doesn't set PATH. - # using third_party.nix is tricky because not everyone - # has a tvix daemon running. - binPath = "/run/current-system/sw/bin"; - } path; - in [ - "if" [ bins.cp cgi "\${out}/${cgi.name}" ] - ]) scripts; - in runExecline.local "webroot" {} ([ - "importas" "out" "out" - "if" [ bins.mkdir "-p" "$out" ] + (path: + let + cgi = writeCGI + { + # assume we are on NixOS since thttpd doesn't set PATH. + # using third_party.nix is tricky because not everyone + # has a tvix daemon running. + binPath = "/run/current-system/sw/bin"; + } + path; + in + [ + "if" + [ bins.cp cgi "\${out}/${cgi.name}" ] + ]) + scripts; + in + runExecline.local "webroot" { } ([ + "importas" + "out" + "out" + "if" + [ bins.mkdir "-p" "$out" ] ] ++ copyScripts); port = 9000; in - writeExecline "serve-examples" {} [ - "foreground" [ - bins.printf "%s\n" "Running on http://localhost:${toString port}" - ] - "${bins.thttpd}" "-D" "-p" (toString port) "-l" "/dev/stderr" - "-c" "*.nix" "-d" webRoot +writeExecline "serve-examples" { } [ + "foreground" + [ + bins.printf + "%s\n" + "Running on http://localhost:${toString port}" ] + "${bins.thttpd}" + "-D" + "-p" + (toString port) + "-l" + "/dev/stderr" + "-c" + "*.nix" + "-d" + webRoot +] diff --git a/web/bubblegum/examples/derivation-svg.nix b/web/bubblegum/examples/derivation-svg.nix index a5f30a2bd155..9a625afb55d7 100644 --- a/web/bubblegum/examples/derivation-svg.nix +++ b/web/bubblegum/examples/derivation-svg.nix @@ -6,6 +6,8 @@ let respond ; in - respond "OK" { - Content-type = "image/svg+xml"; - } (builtins.readFile "${depot.tvix.docs.svg}/component-flow.svg") +respond "OK" +{ + Content-type = "image/svg+xml"; +} + (builtins.readFile "${depot.tvix.docs.svg}/component-flow.svg") diff --git a/web/bubblegum/examples/hello.nix b/web/bubblegum/examples/hello.nix index db04d4082371..bd4891f7d66d 100644 --- a/web/bubblegum/examples/hello.nix +++ b/web/bubblegum/examples/hello.nix @@ -87,6 +87,8 @@ let response = routes."${pathInfo}" or notFound; in - respond response.status { - "Content-type" = "text/html"; - } (template response) +respond response.status +{ + "Content-type" = "text/html"; +} + (template response) diff --git a/web/cgit-taz/default.nix b/web/cgit-taz/default.nix index a89b96fd92ba..83ec822e5d6b 100644 --- a/web/cgit-taz/default.nix +++ b/web/cgit-taz/default.nix @@ -63,12 +63,13 @@ let envp[envn++] = build_env( "PATH=%s", CGI_PATH ); #ifdef CGI_LD_LIBRARY_PATH ''; - thttpdCgit = thttpd.overrideAttrs(old: { + thttpdCgit = thttpd.overrideAttrs (old: { patches = [ ./thttpd_cgi_idx.patch thttpdConfigPatch ]; }); -in writeShellScriptBin "cgit-launch" '' +in +writeShellScriptBin "cgit-launch" '' exec ${thttpdCgit}/bin/thttpd -D -C ${thttpdConfig} '' diff --git a/web/panettone/shell.nix b/web/panettone/shell.nix index aeafc7afcd99..54bc49013b79 100644 --- a/web/panettone/shell.nix +++ b/web/panettone/shell.nix @@ -1,4 +1,4 @@ -{ depot ? import ../.. {} }: +{ depot ? import ../.. { } }: with depot.third_party; diff --git a/web/static/default.nix b/web/static/default.nix index 2120e649f03c..9eaeb0ec1495 100644 --- a/web/static/default.nix +++ b/web/static/default.nix @@ -5,7 +5,9 @@ let storeDirLength = with builtins; (stringLength storeDir) + 1; logo = depot.web.tvl.logo; -in lib.fix(self: pkgs.runCommand "tvl-static" { +in +lib.fix (self: pkgs.runCommand "tvl-static" +{ passthru = { # Preserving the string context here makes little sense: While we are # referencing this derivation, we are not doing so via the nix store, diff --git a/web/todolist/default.nix b/web/todolist/default.nix index a2fcb501bde6..c37a65555956 100644 --- a/web/todolist/default.nix +++ b/web/todolist/default.nix @@ -39,7 +39,7 @@ let user = string; }; - allTodos = fromJSON (readFile (runCommandNoCC "depot-todos.json" {} '' + allTodos = fromJSON (readFile (runCommandNoCC "depot-todos.json" { } '' ${ripgrep}/bin/rg --json 'TODO\(\w+\):.*$' ${depot.path} | \ ${jq}/bin/jq -s -f ${./extract-todos.jq} > $out '')); @@ -58,22 +58,23 @@ let ''); userParagraph = todos: - let user = (head todos).user; - in '' - <p> - <h3> - <a style="color:inherit; text-decoration: none;" - name="${user}" - href="#${user}">${user}</a> - </h3> - ${concatStringsSep "\n" (map todoElement todos)} - </p> - <hr> - ''; + let user = (head todos).user; + in '' + <p> + <h3> + <a style="color:inherit; text-decoration: none;" + name="${user}" + href="#${user}">${user}</a> + </h3> + ${concatStringsSep "\n" (map todoElement todos)} + </p> + <hr> + ''; staticUrl = "https://static.tvl.fyi/${depot.web.static.drvHash}"; -in writeTextFile { +in +writeTextFile { name = "tvl-todos"; destination = "/index.html"; text = '' diff --git a/web/tvl/blog/default.nix b/web/tvl/blog/default.nix index fe8d1c42d6dd..963bb635e3b9 100644 --- a/web/tvl/blog/default.nix +++ b/web/tvl/blog/default.nix @@ -3,7 +3,7 @@ { config = { name = "TVL's blog"; - footer = depot.web.tvl.footer {}; + footer = depot.web.tvl.footer { }; baseUrl = "https://tvl.fyi/blog"; }; diff --git a/web/tvl/default.nix b/web/tvl/default.nix index 1025b1a7b2b4..262be54c0ef1 100644 --- a/web/tvl/default.nix +++ b/web/tvl/default.nix @@ -16,9 +16,10 @@ let (map (p: "cp ${blog.renderPost tvl.blog.config p} $out/blog/${p.key}.html") posts) ); - tvlGraph = runCommandNoCC "tvl.svg" { - nativeBuildInputs = with pkgs; [ fontconfig freetype cairo jetbrains-mono ]; - } '' + tvlGraph = runCommandNoCC "tvl.svg" + { + nativeBuildInputs = with pkgs; [ fontconfig freetype cairo jetbrains-mono ]; + } '' ${graphviz}/bin/neato -Tsvg ${./tvl.dot} > $out ''; @@ -121,7 +122,8 @@ let </style> ''; }; -in runCommandNoCC "website" {} '' +in +runCommandNoCC "website" { } '' mkdir -p $out/blog cp ${homepage} $out/index.html ${postRenderingCommands tvl.blog.posts} diff --git a/web/tvl/footer/default.nix b/web/tvl/footer/default.nix index 7412d019ee56..dc2c963f90f4 100644 --- a/web/tvl/footer/default.nix +++ b/web/tvl/footer/default.nix @@ -15,7 +15,7 @@ args: '' <a class="uncoloured-link" href="https://todo.tvl.fyi/">todos</a> | <a class="uncoloured-link" href="https://atward.tvl.fyi/">search</a> - '' + lib.optionalString (args ? extraFooter) args.extraFooter + '' +'' + lib.optionalString (args ? extraFooter) args.extraFooter + '' </p> <p class="lod">ಠ_ಠ</p> '' diff --git a/web/tvl/logo/default.nix b/web/tvl/logo/default.nix index 940f67199bf6..d9e023946a42 100644 --- a/web/tvl/logo/default.nix +++ b/web/tvl/logo/default.nix @@ -21,20 +21,22 @@ let # Create an animated CSS that equally spreads out the colours over # the animation duration (1min). - animatedCss = colours: let - # Calculate at which percentage offset each colour should appear. - stepSize = 100 / ((builtins.length colours) - 1); - frames = lib.imap0 (idx: colour: { inherit colour; at = idx * stepSize; }) colours; - frameCss = frame: "${toString frame.at}% { fill: ${frame.colour}; }"; - in '' - #armchair-background { - animation: 30s infinite alternate armchairPalette; - } + animatedCss = colours: + let + # Calculate at which percentage offset each colour should appear. + stepSize = 100 / ((builtins.length colours) - 1); + frames = lib.imap0 (idx: colour: { inherit colour; at = idx * stepSize; }) colours; + frameCss = frame: "${toString frame.at}% { fill: ${frame.colour}; }"; + in + '' + #armchair-background { + animation: 30s infinite alternate armchairPalette; + } - @keyframes armchairPalette { - ${lib.concatStringsSep "\n" (map frameCss frames)} - } - ''; + @keyframes armchairPalette { + ${lib.concatStringsSep "\n" (map frameCss frames)} + } + ''; # Dark version of the logo, suitable for light backgrounds. darkCss = armchairCss: '' @@ -67,7 +69,8 @@ let </svg> ''; -in depot.nix.readTree.drvTargets(lib.fix (self: { +in +depot.nix.readTree.drvTargets (lib.fix (self: { # Expose the logo construction functions. inherit palette darkCss lightCss animatedCss staticCss; @@ -75,7 +78,7 @@ in depot.nix.readTree.drvTargets(lib.fix (self: { logoSvg = style: pkgs.writeText "logo.svg" (logoSvg style); # Create a PNG of the TVL logo with the specified style and DPI. - logoPng = style: dpi: pkgs.runCommandNoCC "logo.png" {} '' + logoPng = style: dpi: pkgs.runCommandNoCC "logo.png" { } '' ${pkgs.inkscape}/bin/inkscape \ --export-area-drawing \ --export-background-opacity 0 \ @@ -87,7 +90,8 @@ in depot.nix.readTree.drvTargets(lib.fix (self: { pastelRainbow = self.logoSvg (darkCss (animatedCss (lib.attrValues palette))); } -# Add individual outputs for static dark logos of each colour. -// (lib.mapAttrs' - (k: v: lib.nameValuePair "${k}Png" - (self.logoPng (darkCss (staticCss v)) 96)) palette))) + # Add individual outputs for static dark logos of each colour. + // (lib.mapAttrs' + (k: v: lib.nameValuePair "${k}Png" + (self.logoPng (darkCss (staticCss v)) 96)) + palette))) diff --git a/web/tvl/template/default.nix b/web/tvl/template/default.nix index 6ccc10de6235..6b6a5b03038e 100644 --- a/web/tvl/template/default.nix +++ b/web/tvl/template/default.nix @@ -1,6 +1,7 @@ { depot, pkgs, lib, ... }: -{ # content of the <title> tag +{ + # content of the <title> tag title # main part of the page, usually wrapped with <main> , content @@ -17,7 +18,8 @@ let inherit (depot.tools) cheddar; in -runCommandNoCC "${lib.strings.sanitizeDerivationName title}-index.html" { +runCommandNoCC "${lib.strings.sanitizeDerivationName title}-index.html" +{ headerPart = '' <!DOCTYPE html> <head> @@ -36,11 +38,11 @@ runCommandNoCC "${lib.strings.sanitizeDerivationName title}-index.html" { inherit content; footerPart = '' - <hr> - <footer> - ${depot.web.tvl.footer args} - </footer> - </body> + <hr> + <footer> + ${depot.web.tvl.footer args} + </footer> + </body> ''; passAsFile = [ "headerPart" "content" "footerPart" ]; |