From bd73e35aecae3be5d4e1b15087b55564f7ff3e26 Mon Sep 17 00:00:00 2001 From: oppiliappan Date: Thu, 30 Jul 2026 09:56:47 +0100 Subject: [PATCH] nix: fix docs builds Signed-off-by: oppiliappan --- .tangled/workflows/deploy-docs.yml | 1 + flake.nix | 2 +- nix/pkgs/docs.nix | 104 ++++++++++++++++------------- 3 files changed, 59 insertions(+), 48 deletions(-) diff --git a/.tangled/workflows/deploy-docs.yml b/.tangled/workflows/deploy-docs.yml index b6374185..d61fef5e 100644 --- a/.tangled/workflows/deploy-docs.yml +++ b/.tangled/workflows/deploy-docs.yml @@ -4,6 +4,7 @@ when: paths: - docs/** - input.css + - nix/pkgs/docs.nix engine: microvm image: nixos diff --git a/flake.nix b/flake.nix index 9a78a564..6a9a3a7a 100644 --- a/flake.nix +++ b/flake.nix @@ -160,7 +160,7 @@ appview = self.callPackage ./nix/pkgs/appview.nix {}; blog = self.callPackage ./nix/pkgs/blog.nix {}; docs = self.callPackage ./nix/pkgs/docs.nix { - inherit inter-fonts-src ibm-plex-mono-src lucide-src; + inherit inter-fonts-src ibm-plex-mono-src lucide-src tailwindcss-animated-src; inherit (pkgs) pagefind; }; spindle = self.callPackage ./nix/pkgs/spindle.nix {}; diff --git a/nix/pkgs/docs.nix b/nix/pkgs/docs.nix index 90d72c0f..a33645ee 100644 --- a/nix/pkgs/docs.nix +++ b/nix/pkgs/docs.nix @@ -2,65 +2,75 @@ pandoc, pagefind, tailwindcss, + tailwindcss-animated-src, + linkFarm, runCommandLocal, inter-fonts-src, ibm-plex-mono-src, lucide-src, dolly, src, -}: -runCommandLocal "docs" {} '' - mkdir -p working +}: let + tailwindcss-plugins = linkFarm "tailwindcss-plugins" [ + { + name = "tailwindcss-animated"; + path = tailwindcss-animated-src; + } + ]; +in + runCommandLocal "docs" {} '' + mkdir -p working - # copy templates, themes, styles, filters to working directory - cp ${src}/docs/*.html working/ - cp ${src}/docs/*.theme working/ - cp ${src}/docs/*.css working/ + # copy templates, themes, styles, filters to working directory + cp ${src}/docs/*.html working/ + cp ${src}/docs/*.theme working/ + cp ${src}/docs/*.css working/ - # icons - cp -rf ${lucide-src}/*.svg working/ + # icons + cp -rf ${lucide-src}/*.svg working/ - # logo - ${dolly}/bin/dolly -output working/dolly.svg -color currentColor + # logo + ${dolly}/bin/dolly -output working/dolly.svg -color currentColor - # content - chunked - ${pandoc}/bin/pandoc ${src}/docs/DOCS.md \ - -o $out/ \ - -t chunkedhtml \ - --variable toc \ - --variable-json single-page=false \ - --toc-depth=2 \ - --css=stylesheet.css \ - --chunk-template="%i.html" \ - --highlight-style=working/highlight.theme \ - --template=working/template.html + # content - chunked + ${pandoc}/bin/pandoc ${src}/docs/DOCS.md \ + -o $out/ \ + -t chunkedhtml \ + --variable toc \ + --variable-json single-page=false \ + --toc-depth=2 \ + --css=stylesheet.css \ + --chunk-template="%i.html" \ + --highlight-style=working/highlight.theme \ + --template=working/template.html - # content - single page - ${pandoc}/bin/pandoc ${src}/docs/DOCS.md \ - -o $out/single-page.html \ - --toc \ - --variable toc \ - --variable single-page \ - --toc-depth=2 \ - --css=stylesheet.css \ - --highlight-style=working/highlight.theme \ - --template=working/template.html + # content - single page + ${pandoc}/bin/pandoc ${src}/docs/DOCS.md \ + -o $out/single-page.html \ + --toc \ + --variable toc \ + --variable single-page \ + --toc-depth=2 \ + --css=stylesheet.css \ + --highlight-style=working/highlight.theme \ + --template=working/template.html - # fonts - mkdir -p $out/static/fonts - cp -f ${inter-fonts-src}/web/InterVariable*.woff2 $out/static/fonts/ - cp -f ${inter-fonts-src}/web/InterDisplay*.woff2 $out/static/fonts/ - cp -f ${inter-fonts-src}/InterVariable*.ttf $out/static/fonts/ - cp -f ${ibm-plex-mono-src}/fonts/complete/woff2/IBMPlexMono*.woff2 $out/static/fonts/ + # fonts + mkdir -p $out/static/fonts + cp -f ${inter-fonts-src}/web/InterVariable*.woff2 $out/static/fonts/ + cp -f ${inter-fonts-src}/web/InterDisplay*.woff2 $out/static/fonts/ + cp -f ${inter-fonts-src}/InterVariable*.ttf $out/static/fonts/ + cp -f ${ibm-plex-mono-src}/fonts/complete/woff2/IBMPlexMono*.woff2 $out/static/fonts/ - # favicons - ${dolly}/bin/dolly -output $out/static/logos/dolly.png -size 180 - ${dolly}/bin/dolly -output $out/static/logos/dolly.ico -size 48 - ${dolly}/bin/dolly -output $out/static/logos/dolly.svg -color currentColor -favicon + # favicons + ${dolly}/bin/dolly -output $out/static/logos/dolly.png -size 180 + ${dolly}/bin/dolly -output $out/static/logos/dolly.ico -size 48 + ${dolly}/bin/dolly -output $out/static/logos/dolly.svg -color currentColor -favicon - # styles - cd ${src} && ${tailwindcss}/bin/tailwindcss -i input.css -o $out/stylesheet.css + # styles + export NODE_PATH=${tailwindcss-plugins} + cd ${src} && ${tailwindcss}/bin/tailwindcss -i input.css -o $out/stylesheet.css - # search index - ${pagefind}/bin/pagefind --site $out --output-path $out/pagefind -'' + # search index + ${pagefind}/bin/pagefind --site $out --output-path $out/pagefind + '' -- 2.51.2