{ stdenv, fetchFromGitLab, pkgs, lib, nodejs-14_x, pkg-config , libjpeg, pixman, cairo, pango, which, postgresql }: let nodejs = nodejs-14_x; version = "0.1.2"; src = fetchFromGitLab { owner = "cocainefarm"; repo = "mx-puppet-slack"; rev = "e4b51ed"; hash = "sha256-y2q3m5E6FuYSwn691SfFlwoFqkVolXl4esgiuVYHNOA="; }; myNodePackages = import ./node-composition.nix { inherit pkgs nodejs; inherit (stdenv.hostPlatform) system; }; in myNodePackages.package.override { inherit version src; nativeBuildInputs = [ nodejs.pkgs.node-pre-gyp nodejs.pkgs.node-gyp-build pkg-config which ]; buildInputs = [ libjpeg pixman cairo pango postgresql ]; postRebuild = '' # Build typescript stuff npm run build ''; postInstall = '' # Make an executable to run the server mkdir -p $out/bin cat < $out/bin/mx-puppet-slack #!/bin/sh exec ${nodejs}/bin/node $out/lib/node_modules/@mx-puppet/mx-puppet-slack/build/index.js "\$@" EOF chmod +x $out/bin/mx-puppet-slack ''; meta = with lib; { description = "A slack puppeting bridge for matrix"; license = licenses.asl20; homepage = "https://gitlab.com/mx-puppet/slack/mx-puppet-slack"; maintainers = with maintainers; [ ]; platforms = platforms.unix; }; }