{ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; flake-utils.url = "github:numtide/flake-utils"; blog.url = "git+https://dev.danilafe.com/Nix-Configs/blog-static-flake.git"; blog.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = { self, nixpkgs, flake-utils, blog, }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; }; builtBlog = blog.defaultPackage.${system}; in { devShell = pkgs.mkShell { packages = [ pkgs.nodejs pkgs.yarn pkgs.chromium builtBlog ]; 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"; }; } ); }