dotfiles/nixng/containers/matrix/heisenbridge/default.nix

39 lines
1 KiB
Nix
Raw Normal View History

{inputs, ...}: {
flake.nixngConfigurations.heisenbridge = inputs.nixng.nglib.makeSystem {
system = "x86_64-linux";
name = "heisenbridge";
nixpkgs = inputs.nixpkgs-stable;
config = {
pkgs,
lib,
...
}: let
inherit
(lib)
getExe'
;
in {
dumb-init = {
enable = true;
type.services = {};
};
init.services.heisenbridge = {
enabled = true;
# heisenbridge needs to retry the connection and task restarting does not work currently
shutdownOnExit = false;
script = pkgs.writeShellScript "heisenbridge" ''
REGISTRATION_FILE="/var/lib/registrations/heisenbridge.yaml"
${getExe' pkgs.heisenbridge "heisenbridge"} 'https://matrix.redalder.org/' \
-c "$REGISTRATION_FILE" \
$([ -e "$REGISTRATION_FILE" ] || echo "--generate") \
-l 127.0.0.1 \
-p 9898 \
-o @magic_rb:matrix.redalder.org
'';
};
};
};
}