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

37 lines
1 KiB
Nix
Raw Normal View History

{ inputs, ... }:
{
flake.nixngConfigurations.heisenbridge = inputs.nixng.nglib.makeSystem {
system = "x86_64-linux";
name = "heisenbridge";
inherit (inputs) nixpkgs;
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} '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
'';
};
};
};
}