{ pkgs, nodejs, stdenv, lib, ... }: let packageName = with lib; concatStrings (map (entry: (concatStrings (mapAttrsToList (key: value: "${key}-${value}") entry))) (importJSON ./package.json)); nodePackages = import ./node-composition.nix { inherit pkgs nodejs; inherit (stdenv.hostPlatform) system; }; in nodePackages."${packageName}".override { nativeBuildInputs = [ pkgs.makeWrapper ]; postInstall = '' makeWrapper '${nodejs}/bin/node' "$out/bin/matrix-appservice-slack" \ --add-flags "$out/lib/node_modules/matrix-appservice-slack/lib/app.js" ''; meta = with lib; { description = "A Matrix <--> Slack bridge"; maintainers = with maintainers; [ kampka ]; license = licenses.asl20; }; }