aboutsummaryrefslogtreecommitdiff
path: root/modules/matrix/pkgs/mx-puppet-slack.nix
diff options
context:
space:
mode:
authorMax Audron <audron@cocaine.farm>2023-08-11 16:51:35 +0200
committerMax Audron <audron@cocaine.farm>2023-08-11 16:51:35 +0200
commit5828af9fc19e18dc85e49fcc1a251a7eb25d909c (patch)
treec70c3e52237c08d3fdcb2f1269c524c25e3feeb8 /modules/matrix/pkgs/mx-puppet-slack.nix
init
Diffstat (limited to 'modules/matrix/pkgs/mx-puppet-slack.nix')
-rw-r--r--modules/matrix/pkgs/mx-puppet-slack.nix49
1 files changed, 49 insertions, 0 deletions
diff --git a/modules/matrix/pkgs/mx-puppet-slack.nix b/modules/matrix/pkgs/mx-puppet-slack.nix
new file mode 100644
index 0000000..110cdca
--- /dev/null
+++ b/modules/matrix/pkgs/mx-puppet-slack.nix
@@ -0,0 +1,49 @@
+{ 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 <<EOF > $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;
+ };
+}