package.nix (1166B)
1 { 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 fetchPnpmDeps, 6 nodejs_20, 7 pnpm_9, 8 pnpmConfigHook, 9 }: 10 11 stdenv.mkDerivation (finalAttrs: { 12 pname = "headscale-webui"; 13 version = "0.0.5"; 14 15 src = fetchFromGitHub { 16 owner = "jamebal"; 17 repo = "headscale-webui"; 18 tag = "v${finalAttrs.version}"; 19 hash = "sha256-IDWrGXJG18j4xpDxE/w/wmRrK6wY+ykV4aeshKboK8Q="; 20 }; 21 22 patches = [ ./pnpm-lock.yaml.patch ]; 23 24 pnpmDeps = fetchPnpmDeps { 25 inherit (finalAttrs) 26 pname 27 version 28 src 29 patches 30 ; 31 fetcherVersion = 3; 32 hash = "sha256-rwK8+vbs4fdETBzeC/oc3y6nSQ3VcznahdqmedzFgrg="; 33 }; 34 35 nativeBuildInputs = [ 36 nodejs_20 37 pnpm_9 38 pnpmConfigHook 39 ]; 40 41 buildPhase = '' 42 runHook preBuild 43 pnpm run build:prod 44 runHook postBuild 45 ''; 46 47 installPhase = '' 48 runHook preInstall 49 mkdir $out 50 cp -R dist $out 51 runHook postInstall 52 ''; 53 54 meta = { 55 description = "Tailscale-compatible orchestration server web front-end for headscale"; 56 homepage = "https://github.com/jamebal/headscale-webui"; 57 license = lib.licenses.mit; 58 maintainers = [ lib.maintainers.sikmir ]; 59 skip.ci = true; 60 }; 61 })
