char/topaz-flake
git clone https://git.t4t.associates/char/topaz-flake
37dcc24
main
1{ 2fetchgit , 3fetchPnpmDeps , 4lib , 5makeWrapper , 6nodejs , 7pnpm_11 , 8pnpmConfigHook , 9stdenvNoCC , 10} : 11stdenvNoCC . mkDerivation ( finalAttrs: { 12pname = "city-role-bot" ; 13version = "0-unstable-2026-09-04" ; 14 15src = fetchgit { 16url = "https://git.t4t.associates/char-slop/city-role-bot.git" ; 17rev = "d72003f19e53e6406522d8573015aa5fee1c16de" ; 18hash = "sha256-yzisagfzT1ekSKgGoOWnipykJSEzn3ofTNmGIM14xVk=" ; 19}; 20 21postPatch = '' 22substituteInPlace src/store.ts \ 23--replace-fail "new URL('../data/', import.meta.url)" \ 24"new URL(process.env.CITY_ROLE_BOT_DATA_DIR ?? '../data/', import.meta.url)" 25'' ; 26 27pnpmDeps = fetchPnpmDeps { 28inherit ( finalAttrs ) pname version src postPatch ; 29pnpm = pnpm_11 ; 30fetcherVersion = 4 ; 31hash = "sha256-pwVrivKuMB/S+0Ir0j9f4iLFKVO6sXRsxPzklSDODdo=" ; 32}; 33 34nativeBuildInputs = [ 35makeWrapper 36nodejs 37pnpm_11 38pnpmConfigHook 39]; 40 41dontBuild = true ; 42 43doCheck = true ; 44checkPhase = '' 45runHook preCheck 46pnpm run check 47runHook postCheck 48'' ; 49 50installPhase = '' 51runHook preInstall 52 53mkdir -p $ out /lib/city-role-bot 54cp -r node_modules src $ out /lib/city-role-bot/ 55makeWrapper ${ lib . getExe nodejs } $ out /bin/city-role-bot \ 56--add-flags " $ out /lib/city-role-bot/src/index.ts" 57 58runHook postInstall 59'' ; 60 61meta = { 62description = "Reaction-role Discord bot" ; 63homepage = "https://git.t4t.associates/char-slop/city-role-bot" ; 64mainProgram = "city-role-bot" ; 65}; 66})