From 65e91d24a38878041f659d0fde230f6f855eaf7e Mon Sep 17 00:00:00 2001 From: Daniel Olsen Date: Thu, 23 Jul 2020 19:23:09 +0200 Subject: [PATCH 1/2] package matrix-corporal --- default.nix | 2 ++ pkgs/matrix-corporal/default.nix | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 pkgs/matrix-corporal/default.nix diff --git a/default.nix b/default.nix index d5f29a8..3527028 100644 --- a/default.nix +++ b/default.nix @@ -22,6 +22,8 @@ in matrix-wug = pkgs.callPackage ./pkgs/matrix-wug { }; + matrix-corporal = pkgs.callPackage ./pkgs/matrix-corporal { }; + rank_photos = pkgs.callPackage ./pkgs/rank_photos { }; vcsi = pkgs.callPackage ./pkgs/vcsi {}; diff --git a/pkgs/matrix-corporal/default.nix b/pkgs/matrix-corporal/default.nix new file mode 100644 index 0000000..755aae2 --- /dev/null +++ b/pkgs/matrix-corporal/default.nix @@ -0,0 +1,22 @@ +{lib, fetchFromGitHub, buildGoModule }: + +buildGoModule { + pname = "matrix-corporal"; + version = "1.9.0"; + + src = fetchFromGitHub { + owner = "devture"; + repo = "matrix-corporal"; + rev = "1.9.0"; + sha256 = "0zwfvlhp9j3skz6ryi01d7ps3wm8kb3njcbjf0bl1gv2h0cjhlji"; + }; + + vendorSha256 = "1fghbl0b418ld5szjafbiz3vp773skc0l6kaif5c2vsh2ivgr6hl"; + + meta = with lib; { + homepage = "https://github.com/devture/matrix-corporal"; + description = "Reconciliator and gateway for a managed Matrix server"; + license = licenses.agpl3; + platforms = platforms.linux; + }; +} From 863f6089e5a97e5f4440c6ba1578c9725ef4cfc7 Mon Sep 17 00:00:00 2001 From: Daniel Olsen Date: Thu, 23 Jul 2020 21:21:43 +0200 Subject: [PATCH 2/2] add module for matrix-corporal --- modules/matrix-corporal.nix | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 modules/matrix-corporal.nix diff --git a/modules/matrix-corporal.nix b/modules/matrix-corporal.nix new file mode 100644 index 0000000..ffdca63 --- /dev/null +++ b/modules/matrix-corporal.nix @@ -0,0 +1,34 @@ +{ lib, pkgs, config, ... }: +let + cfg = config.services.matrix-corporal; +in +{ + options.services.matrix-corporal = { + enable = lib.mkEnableOption "Start matrix-corporal"; + + package = lib.mkOption { + type = lib.types.package; + default = pkgs.nur.repos.dandellion.matrix-corporal; + }; + + settings = lib.mkOption { + default = {}; + description = '' + Configuration for matrix-corporal, see + for supported values. + ''; + }; + }; + + config = lib.mkIf cfg.enable { + systemd.services.pantalaimon = { + wantedBy = [ "default.target" ]; + after = [ "network-online.target" ]; + serviceConfig = { + Type = "simple"; + DynamicUser="yes"; + ExecStart = "${cfg.package}/bin/matrix-corporal -c ${pkgs.writeTextFile {name = "matrix-corporal-config.json"; text = lib.generators.toJSON {} cfg.settings;}}"; + }; + }; + }; +}