2023-05-14 13:02:13 +02:00
|
|
|
{ nglib, nixpkgs }:
|
|
|
|
nglib.makeSystem {
|
|
|
|
system = "x86_64-linux";
|
|
|
|
name = "mautrix-signal";
|
|
|
|
inherit nixpkgs;
|
|
|
|
config = ({ pkgs, ... }:
|
|
|
|
{
|
|
|
|
dumb-init = {
|
|
|
|
enable = true;
|
|
|
|
type.services = { };
|
|
|
|
};
|
|
|
|
|
|
|
|
init.services.mautrix-signal = {
|
|
|
|
enabled = true;
|
|
|
|
shutdownOnExit = true;
|
|
|
|
script =
|
|
|
|
let
|
|
|
|
config = ./mautrix-signal.yaml;
|
|
|
|
inherit (pkgs) lib;
|
|
|
|
in
|
|
|
|
pkgs.writeShellScript "mautrix-signal"
|
|
|
|
''
|
|
|
|
DATA_DIR="/var/lib/mautrix-signal"
|
|
|
|
CONFIG_FILE="$DATA_DIR/config.yaml"
|
|
|
|
REGISTRATION_FILE="/var/lib/registrations/mautrix-signal.yaml"
|
|
|
|
DB_FILE="$DATA_DIR/sqlite.db"
|
|
|
|
|
|
|
|
cp ${config} "$CONFIG_FILE" ; chmod 755 "$CONFIG_FILE"
|
|
|
|
|
|
|
|
[ -e "$REGISTRATION_FILE" ] || \
|
|
|
|
${lib.getExe pkgs.mautrix-signal} -c "$CONFIG_FILE" -r "$REGISTRATION_FILE" -g
|
|
|
|
${lib.getExe pkgs.mautrix-signal} -c "$CONFIG_FILE" -r "$REGISTRATION_FILE" -n
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
|
|
|
init.services.signald = {
|
|
|
|
enabled = true;
|
|
|
|
shutdownOnExit = true;
|
|
|
|
script =
|
|
|
|
let
|
|
|
|
inherit (pkgs) lib;
|
|
|
|
in
|
|
|
|
pkgs.writeShellScript "signald"
|
|
|
|
''
|
|
|
|
DATA_DIR="/var/lib/signald"
|
|
|
|
SOCKET_PATH="/var/run/signald/signald.sock"
|
|
|
|
mkdir -p $(dirname $SOCKET_PATH)
|
|
|
|
|
2023-05-24 08:48:35 +02:00
|
|
|
export LANG=en_US.UTF-8
|
2023-05-14 13:02:13 +02:00
|
|
|
${lib.getExe pkgs.signald} -d $DATA_DIR -s $SOCKET_PATH
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
});
|
|
|
|
}
|