flake reorg

This commit is contained in:
Robin Appelman 2025-03-30 16:23:27 +02:00
commit 0eb1875fb4
10 changed files with 88 additions and 363 deletions

9
nix/assets.nix Normal file
View file

@ -0,0 +1,9 @@
{fetchSteam}:
fetchSteam {
name = "tf2-vpks";
appId = "440";
depotId = "441";
manifestId = "5382461088476630278"; # 22 December 2023 00:13:59 UTC
hash = "sha256-p8waSdyFTKSo7CKQAjAGhL4hGiacjU0M59z47VH1NwM=";
fileList = ["regex:(tf2|hl2)_(misc|textures)_.*\.vpk"];
}

5
nix/overlay.nix Normal file
View file

@ -0,0 +1,5 @@
prev: final: {
vbsp-server = final.callPackage ./package.nix {};
vbsp-server-assets = final.callPackage ./assets.nix {};
vbsp-server-viewer = final.callPackage ./viewer.nix {};
}

35
nix/package.nix Normal file
View file

@ -0,0 +1,35 @@
{
stdenv,
rust-bin,
makeRustPlatform,
meshoptimizer,
vbsp-server-viewer,
lib,
}: let
toolchain = rust-bin.stable.latest.default;
rustPlatform = makeRustPlatform {
rustc = toolchain;
cargo = toolchain;
};
inherit (lib.sources) sourceByRegex;
src = sourceByRegex ../. ["Cargo.*" "(src|derive|benches|tests|examples.*)(/.*)?"];
in
rustPlatform.buildRustPackage rec {
pname = "vbsp-server";
version = "0.1.0";
GLTFPACK = "${meshoptimizer}/bin/gltfpack";
inherit src;
postPatch = ''
cp -r ${vbsp-server-viewer} src/server/viewer/dist
'';
doCheck = false;
cargoLock = {
lockFile = ../Cargo.lock;
};
buildFeatures = ["server"];
}

19
nix/viewer.nix Normal file
View file

@ -0,0 +1,19 @@
{
buildNpmPackage,
importNpmLock,
nodejs_20,
lib,
}:
buildNpmPackage rec {
pname = "vbsp-server-viewer";
version = "0.1.0";
src = ../src/server/viewer;
npmDeps = importNpmLock {
npmRoot = src;
};
npmConfigHook = importNpmLock.npmConfigHook;
installPhase = "cp -r dist $out";
}