Get stuff building on NixOS proper

This commit is contained in:
2026-01-20 04:17:32 +00:00
parent 9ef4de75cc
commit f90838df73
2 changed files with 23 additions and 16 deletions

View File

@@ -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;
};
}
);