wrap loom into a Nix package
This commit is contained in:
parent
30e97f5b8e
commit
67d13d8634
6 changed files with 58 additions and 26 deletions
6
flake.lock
generated
6
flake.lock
generated
|
|
@ -2,11 +2,11 @@
|
|||
"nodes": {
|
||||
"deno-with-packages": {
|
||||
"locked": {
|
||||
"lastModified": 1757917630,
|
||||
"narHash": "sha256-zK0p0oq7NhBUUsfcPYS+iu2A0+HzzHJ4WxZ5MDd+Lis=",
|
||||
"lastModified": 1759993728,
|
||||
"narHash": "sha256-qZNehYgtNCB7YpMqZww4kgjlWDTPxqxivaHuCxMrGtA=",
|
||||
"owner": "voleum-org",
|
||||
"repo": "deno-with-packages",
|
||||
"rev": "26f60eb96b0d092373e4fbe0ceae1a080b8f00b6",
|
||||
"rev": "6af05b2c5104339767126fa968ce9c62ec9ee352",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
shelf = import ./shelf {
|
||||
inherit pkgs system lib;
|
||||
};
|
||||
in {
|
||||
in rec {
|
||||
deno = {
|
||||
enable = true;
|
||||
lockfiles = shelf.lockfiles ++ [ ./platform/loom/deno.lock ];
|
||||
|
|
@ -28,8 +28,10 @@
|
|||
packages.website =
|
||||
import ./nix/website.nix { inherit pkgs; root = ./.; };
|
||||
|
||||
packages.loom = import ./platform { inherit pkgs; denoCache = config.packages.deno-cache; };
|
||||
|
||||
devShells.default = pkgs.mkShell {
|
||||
buildInputs = with pkgs; [ config.packages.deno pandoc reuse ];
|
||||
buildInputs = with pkgs; [ config.packages.deno pandoc reuse packages.loom ];
|
||||
inputsFrom = [ config.flake-root.devShell ];
|
||||
shellHook = ''
|
||||
echo "Available scrolls:"
|
||||
|
|
|
|||
31
platform/default.nix
Normal file
31
platform/default.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{ pkgs, denoCache }:
|
||||
pkgs.stdenv.mkDerivation {
|
||||
name = "loom";
|
||||
src = ./loom;
|
||||
|
||||
buildPhase = ''
|
||||
export DENO_DIR=$TMPDIR/.deno_cache
|
||||
echo "Deno cache is ${denoCache}"
|
||||
cp -rL "${denoCache}" "$DENO_DIR"/ 2>/dev/null || true
|
||||
chmod -R u+w "$DENO_DIR" 2>/dev/null || true
|
||||
|
||||
echo "DENO_DIR is $DENO_DIR"
|
||||
|
||||
${pkgs.deno}/bin/deno task build:editor
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/editor
|
||||
|
||||
cp -r editor/dist $out/editor/dist
|
||||
cp -r mod.ts deno.json deno.lock $out
|
||||
cp -r cli $out
|
||||
# This is meant to be executed from inside a devShell with Deno set up
|
||||
cat > $out/bin/loom <<EOF
|
||||
#!/bin/sh
|
||||
cd $out
|
||||
exec deno task run "\$@"
|
||||
EOF
|
||||
chmod +x $out/bin/loom
|
||||
'';
|
||||
}
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
"dev:editor": "cd editor && deno run --cached-only -A --node-modules-dir npm:vite dev",
|
||||
"build:editor": "cd editor && deno run --cached-only -A --node-modules-dir npm:vite build",
|
||||
"check:editor": "cd editor && deno run --cached-only -A --node-modules-dir npm:svelte-check --tsconfig ./tsconfig.app.json && tsc -p tsconfig.node.json"
|
||||
"run": "deno run --cached-only -A mod.ts serve"
|
||||
"run": "deno run --cached-only -A mod.ts"
|
||||
"compile": "deno compile --cached-only --no-config --no-check --include ./editor/dist/ --allow-read --allow-env --allow-net mod.ts"
|
||||
},
|
||||
"imports": {
|
||||
|
|
|
|||
38
platform/loom/deno.lock
generated
38
platform/loom/deno.lock
generated
|
|
@ -2,15 +2,15 @@
|
|||
"version": "5",
|
||||
"specifiers": {
|
||||
"npm:@stricli/core@*": "1.2.0",
|
||||
"npm:@sveltejs/vite-plugin-svelte@^6.2.1": "6.2.1_svelte@5.39.9__acorn@8.15.0_vite@7.1.9__@types+node@24.6.2__picomatch@4.0.3_@types+node@24.6.2",
|
||||
"npm:@sveltejs/vite-plugin-svelte@^6.2.1": "6.2.1_svelte@5.39.11__acorn@8.15.0_vite@7.1.9__@types+node@24.7.0__picomatch@4.0.3_@types+node@24.7.0",
|
||||
"npm:@tsconfig/svelte@^5.0.5": "5.0.5",
|
||||
"npm:@types/node@^24.6.0": "24.6.2",
|
||||
"npm:@types/node@^24.6.0": "24.7.0",
|
||||
"npm:express@*": "5.1.0",
|
||||
"npm:rolldown-vite@7.1.14": "7.1.14_@types+node@24.6.2_picomatch@4.0.3",
|
||||
"npm:svelte-check@^4.3.2": "4.3.2_svelte@5.39.9__acorn@8.15.0_typescript@5.9.3",
|
||||
"npm:svelte@^5.39.6": "5.39.9_acorn@8.15.0",
|
||||
"npm:rolldown-vite@7.1.14": "7.1.14_@types+node@24.7.0_picomatch@4.0.3",
|
||||
"npm:svelte-check@^4.3.2": "4.3.3_svelte@5.39.11__acorn@8.15.0_typescript@5.9.3",
|
||||
"npm:svelte@^5.39.6": "5.39.11_acorn@8.15.0",
|
||||
"npm:typescript@~5.9.3": "5.9.3",
|
||||
"npm:vite@*": "7.1.9_@types+node@24.6.2_picomatch@4.0.3"
|
||||
"npm:vite@*": "7.1.9_@types+node@24.7.0_picomatch@4.0.3"
|
||||
},
|
||||
"npm": {
|
||||
"@emnapi/core@1.5.0": {
|
||||
|
|
@ -397,7 +397,7 @@
|
|||
"acorn"
|
||||
]
|
||||
},
|
||||
"@sveltejs/vite-plugin-svelte-inspector@5.0.1_@sveltejs+vite-plugin-svelte@6.2.1__svelte@5.39.9___acorn@8.15.0__vite@7.1.9___@types+node@24.6.2___picomatch@4.0.3__@types+node@24.6.2_svelte@5.39.9__acorn@8.15.0_vite@7.1.9__@types+node@24.6.2__picomatch@4.0.3_@types+node@24.6.2": {
|
||||
"@sveltejs/vite-plugin-svelte-inspector@5.0.1_@sveltejs+vite-plugin-svelte@6.2.1__svelte@5.39.11___acorn@8.15.0__vite@7.1.9___@types+node@24.7.0___picomatch@4.0.3__@types+node@24.7.0_svelte@5.39.11__acorn@8.15.0_vite@7.1.9__@types+node@24.7.0__picomatch@4.0.3_@types+node@24.7.0": {
|
||||
"integrity": "sha512-ubWshlMk4bc8mkwWbg6vNvCeT7lGQojE3ijDh3QTR6Zr/R+GXxsGbyH4PExEPpiFmqPhYiVSVmHBjUcVc1JIrA==",
|
||||
"dependencies": [
|
||||
"@sveltejs/vite-plugin-svelte",
|
||||
|
|
@ -406,7 +406,7 @@
|
|||
"vite"
|
||||
]
|
||||
},
|
||||
"@sveltejs/vite-plugin-svelte@6.2.1_svelte@5.39.9__acorn@8.15.0_vite@7.1.9__@types+node@24.6.2__picomatch@4.0.3_@types+node@24.6.2": {
|
||||
"@sveltejs/vite-plugin-svelte@6.2.1_svelte@5.39.11__acorn@8.15.0_vite@7.1.9__@types+node@24.7.0__picomatch@4.0.3_@types+node@24.7.0": {
|
||||
"integrity": "sha512-YZs/OSKOQAQCnJvM/P+F1URotNnYNeU3P2s4oIpzm1uFaqUEqRxUB0g5ejMjEb5Gjb9/PiBI5Ktrq4rUUF8UVQ==",
|
||||
"dependencies": [
|
||||
"@sveltejs/vite-plugin-svelte-inspector",
|
||||
|
|
@ -430,8 +430,8 @@
|
|||
"@types/estree@1.0.8": {
|
||||
"integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="
|
||||
},
|
||||
"@types/node@24.6.2": {
|
||||
"integrity": "sha512-d2L25Y4j+W3ZlNAeMKcy7yDsK425ibcAOO2t7aPTz6gNMH0z2GThtwENCDc0d/Pw9wgyRqE5Px1wkV7naz8ang==",
|
||||
"@types/node@24.7.0": {
|
||||
"integrity": "sha512-IbKooQVqUBrlzWTi79E8Fw78l8k1RNtlDDNWsFZs7XonuQSJ8oNYfEeclhprUldXISRMLzBpILuKgPlIxm+/Yw==",
|
||||
"dependencies": [
|
||||
"undici-types"
|
||||
]
|
||||
|
|
@ -914,7 +914,7 @@
|
|||
"readdirp@4.1.2": {
|
||||
"integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="
|
||||
},
|
||||
"rolldown-vite@7.1.14_@types+node@24.6.2_picomatch@4.0.3": {
|
||||
"rolldown-vite@7.1.14_@types+node@24.7.0_picomatch@4.0.3": {
|
||||
"integrity": "sha512-eSiiRJmovt8qDJkGyZuLnbxAOAdie6NCmmd0NkTC0RJI9duiSBTfr8X2mBYJOUFzxQa2USaHmL99J9uMxkjCyw==",
|
||||
"dependencies": [
|
||||
"@oxc-project/runtime",
|
||||
|
|
@ -1086,8 +1086,8 @@
|
|||
"statuses@2.0.2": {
|
||||
"integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw=="
|
||||
},
|
||||
"svelte-check@4.3.2_svelte@5.39.9__acorn@8.15.0_typescript@5.9.3": {
|
||||
"integrity": "sha512-71udP5w2kaSTcX8iV0hn3o2FWlabQHhJTJLIQrCqMsrcOeDUO2VhCQKKCA8AMVHSPwdxLEWkUWh9OKxns5PD9w==",
|
||||
"svelte-check@4.3.3_svelte@5.39.11__acorn@8.15.0_typescript@5.9.3": {
|
||||
"integrity": "sha512-RYP0bEwenDXzfv0P1sKAwjZSlaRyqBn0Fz1TVni58lqyEiqgwztTpmodJrGzP6ZT2aHl4MbTvWP6gbmQ3FOnBg==",
|
||||
"dependencies": [
|
||||
"@jridgewell/trace-mapping",
|
||||
"chokidar",
|
||||
|
|
@ -1099,8 +1099,8 @@
|
|||
],
|
||||
"bin": true
|
||||
},
|
||||
"svelte@5.39.9_acorn@8.15.0": {
|
||||
"integrity": "sha512-sVOie0sbU9F/Lh0IoUfaq9hLzujRKxiL7xTMbG0y8ROx/qErtbfmm6sLSlJUbUMW4NcIgqHQPFiHX4LakA8fzA==",
|
||||
"svelte@5.39.11_acorn@8.15.0": {
|
||||
"integrity": "sha512-8MxWVm2+3YwrFbPaxOlT1bbMi6OTenrAgks6soZfiaS8Fptk4EVyRIFhJc3RpO264EeSNwgjWAdki0ufg4zkGw==",
|
||||
"dependencies": [
|
||||
"@jridgewell/remapping",
|
||||
"@jridgewell/sourcemap-codec",
|
||||
|
|
@ -1143,8 +1143,8 @@
|
|||
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
|
||||
"bin": true
|
||||
},
|
||||
"undici-types@7.13.0": {
|
||||
"integrity": "sha512-Ov2Rr9Sx+fRgagJ5AX0qvItZG/JKKoBRAVITs1zk7IqZGTJUwgUr7qoYBpWwakpWilTZFM98rG/AFRocu10iIQ=="
|
||||
"undici-types@7.14.0": {
|
||||
"integrity": "sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA=="
|
||||
},
|
||||
"unpipe@1.0.0": {
|
||||
"integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="
|
||||
|
|
@ -1152,7 +1152,7 @@
|
|||
"vary@1.1.2": {
|
||||
"integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="
|
||||
},
|
||||
"vite@7.1.9_@types+node@24.6.2_picomatch@4.0.3": {
|
||||
"vite@7.1.9_@types+node@24.7.0_picomatch@4.0.3": {
|
||||
"integrity": "sha512-4nVGliEpxmhCL8DslSAUdxlB6+SMrhB0a1v5ijlh1xB1nEPuy1mxaHxysVucLHuWryAxLWg6a5ei+U4TLn/rFg==",
|
||||
"dependencies": [
|
||||
"@types/node",
|
||||
|
|
@ -1171,7 +1171,7 @@
|
|||
],
|
||||
"bin": true
|
||||
},
|
||||
"vitefu@1.1.1_vite@7.1.9__@types+node@24.6.2__picomatch@4.0.3_@types+node@24.6.2": {
|
||||
"vitefu@1.1.1_vite@7.1.9__@types+node@24.7.0__picomatch@4.0.3_@types+node@24.7.0": {
|
||||
"integrity": "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==",
|
||||
"dependencies": [
|
||||
"vite"
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
todo
|
||||
Loading…
Add table
Add a link
Reference in a new issue