shell.nix
#with (import <nixpkgs> {});
with (import (builtins.fetchTarball {
name = "nixos-26.05";
url = "https://github.com/nixos/nixpkgs/archive/02e08985a27c65ffd33d434eeb2e660a2e4dc84d.tar.gz";
sha256 = "1959piz48qhaaqdyr2m5mf92gnxxhrzhls6z1ppy01ckh5wdrya2";
}) {});
let
system = stdenv.hostPlatform.system;
bunVersion = "1.3.11";
bunPlatform =
{
x86_64-linux = { name = "linux-x64"; hash = "sha256-hhG6k1r4hvBabzh0ChUWAybBXl1dB63vlmEwtEk2B+0="; };
aarch64-linux = { name = "linux-aarch64"; hash = "sha256-0TlE2hKlPsx0v2pyC9HQTEVVwDjf5CI2U1anvkdpH98="; };
x86_64-darwin = { name = "darwin-x64"; hash = "sha256-xP4rkkchiwKV8k6JWq7I/uYudEUmeakCa2fqy9YRooY="; };
aarch64-darwin = { name = "darwin-aarch64"; hash = "sha256-b1o0Z+2crsR5W/eM1HZQfZ+HDH1XuGyUX8szgSZ3L/w="; };
}
.${system} or (throw "Unsupported system: ${system}");
bun = pkgs.bun.overrideAttrs {
version = bunVersion;
src = fetchurl {
url = "https://github.com/oven-sh/bun/releases/download/bun-v${bunVersion}/bun-${bunPlatform.name}.zip";
inherit (bunPlatform) hash;
};
sourceRoot = "bun-${bunPlatform.name}";
};
in
mkShell {
buildInputs = [
pkgs.autoconf
pkgs.automake
pkgs.bison
bun
pkgs.flex
pkgs.gcc
pkgs.git
pkgs.gnumake
pkgs.gnutar
pkgs.libtool
pkgs.nodejs_24
pkgs.pkg-config
pkgs.python3
pkgs.rustup
pkgs.playwright-driver.browsers
];
PLAYWRIGHT_BROWSERS_PATH = "${pkgs.playwright-driver.browsers}";
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = "1";
PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS = "true";
}