{ description = "Shared Quixos protobuf protocol definitions"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils, ... }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; }; quixos-protocol = pkgs.stdenvNoCC.mkDerivation { pname = "quixos-protocol"; version = "0.1.0"; src = ./.; npmDeps = pkgs.importNpmLock { npmRoot = ./.; }; npmConfigHook = pkgs.importNpmLock.npmConfigHook; nativeBuildInputs = [ pkgs.importNpmLock.npmConfigHook pkgs.nodejs_24 pkgs.protobuf ]; buildPhase = '' runHook preBuild export QUIXOS_PROTO_PATH="${pkgs.protobuf}/include:$PWD/proto''${QUIXOS_PROTO_PATH:+:$QUIXOS_PROTO_PATH}" npm run build runHook postBuild ''; installPhase = '' runHook preInstall mkdir -p "$out" cp --reflink=auto --recursive proto "$out/proto" cp --reflink=auto --recursive dist "$out/dist" cp package.json "$out/package.json" mkdir -p "$out/bin" cat > "$out/bin/quixos-descriptor-check" <