From f90838df739b45e5e4f5c82ee335f8cd5eefb491 Mon Sep 17 00:00:00 2001 From: Danila Fedorin Date: Tue, 20 Jan 2026 04:17:32 +0000 Subject: [PATCH] Get stuff building on NixOS proper --- e2e/visual.spec.ts | 2 +- flake.nix | 37 ++++++++++++++++++++++--------------- 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/e2e/visual.spec.ts b/e2e/visual.spec.ts index d39bb75..a28839d 100644 --- a/e2e/visual.spec.ts +++ b/e2e/visual.spec.ts @@ -26,6 +26,6 @@ for (const pageUrl of pages) { await page.evaluate(() => new Promise(requestAnimationFrame)); - await expect(page).toHaveScreenshot({ fullPage: true }); + await expect(page).toHaveScreenshot({ fullPage: true, timeout: 20_000 }); }); } diff --git a/flake.nix b/flake.nix index d473292..8ec1084 100644 --- a/flake.nix +++ b/flake.nix @@ -10,34 +10,41 @@ flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; }; builtBlog = blog.defaultPackage.${system}; + blogWithRelativeLinks = pkgs.stdenv.mkDerivation { + name = "blogWithRelativeLinks"; + version = "1.0"; + buildInputs = [ + (pkgs.python3.withPackages (ps: [ + ps.beautifulsoup4 + ps.lxml + ])) + ]; + builtBlog = builtBlog; + urlScript = pkgs.writeTextFile { name = "chatgpt-fix-root-URLs.py"; text = builtins.readFile ./scripts/chatgpt-fix-root-URLs.py; }; + builder = builtins.toFile "builder.sh" " + source $stdenv/setup + mkdir -p code $out + cp -r $builtBlog/* code + chmod -R u+w code + (cd code && python3 $urlScript) + cp -r code/* $out + "; + }; in { devShell = pkgs.mkShell { packages = [ pkgs.nodejs pkgs.yarn pkgs.chromium - builtBlog + pkgs.python3 ]; - nativeBuildInputs = [ pkgs.yarnConfigHook ]; - - # Must be named this for pkgs.yarnConfigHook - yarnOfflineCache = pkgs.fetchYarnDeps { - yarnLock = ./yarn.lock; - hash = "sha256-jUa1XkxJ2dS6nTyH/gRrTkEedSUgcl7k6wd3OiCkj6A="; - }; - # Configure to use system Chromium PLAYWRIGHT_CHROMIUM_PATH = "${pkgs.chromium}/bin/chromium"; PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = "1"; # Expose the built blog package, which we'll be testing - builtBlog = builtBlog; - - # Optional but often needed in Nix sandboxes: - # XDG_CACHE_HOME = "$TMPDIR/xdg-cache"; - # XDG_CONFIG_HOME = "$TMPDIR/xdg-config"; - # XDG_DATA_HOME = "$TMPDIR/xdg-data"; + blogWithRelativeLinks = blogWithRelativeLinks; }; } );