66 lines
1.4 KiB
Nix
66 lines
1.4 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
pkgs-kabbone,
|
|
...
|
|
}:
|
|
let
|
|
cfg = config.services.corosync-qnetd;
|
|
in
|
|
{
|
|
# interface
|
|
options.services.corosync-qnetd = {
|
|
enable = lib.mkEnableOption "corosync-qnetd";
|
|
package = lib.mkPackageOption pkgs-kabbone "corosync-qdevice" { };
|
|
|
|
extraOptions = lib.mkOption {
|
|
type = with lib.types; listOf str;
|
|
default = [ ];
|
|
description = "Additional options with which to start corosync-qnetd.";
|
|
};
|
|
};
|
|
|
|
# implementation
|
|
|
|
# implementation
|
|
config = lib.mkIf cfg.enable {
|
|
environment.systemPackages = [ cfg.package ];
|
|
|
|
# environment.etc."corosync/corosync-qnetd.conf".text = ''
|
|
# totem {
|
|
# version: 2
|
|
# secauth: on
|
|
# cluster_name: ${cfg.clusterName}
|
|
# transport: knet
|
|
# }
|
|
|
|
|
|
# logging {
|
|
# to_syslog: yes
|
|
# }
|
|
# '';
|
|
|
|
systemd.packages = [ cfg.package ];
|
|
systemd.services.corosync-qnetd = {
|
|
serviceConfig = {
|
|
User = "coroqnetd";
|
|
StateDirectory = "corosync-qnetd";
|
|
StateDirectoryMode = "0700";
|
|
};
|
|
};
|
|
|
|
environment.etc."sysconfig/corosync-qnetd".text = lib.optionalString (cfg.extraOptions != [ ]) ''
|
|
COROSYNC-QNETD_OPTIONS="${lib.escapeShellArgs cfg.extraOptions}"
|
|
'';
|
|
};
|
|
|
|
meta = {
|
|
#buildDocsInSandbox = false;
|
|
#doc = ./mautrix-whatsapp.md;
|
|
maintainers = with lib.maintainers; [
|
|
kabbone
|
|
];
|
|
};
|
|
}
|