diff options
author | Nadrieril <nadrieril@gmail.com> | 2017-07-02 19:06:44 +0100 |
---|---|---|
committer | Nadrieril <nadrieril@gmail.com> | 2017-07-16 14:19:39 +0100 |
commit | 65e38b7c52976007a2bed5d6b971073cdb9f5bbd (patch) | |
tree | dabb4b72e5b74426e0b0704b79118aee2f84159d /nixos | |
parent | ce6fe1a61be52e6cb6d0d0f11ec917d31a93a7b7 (diff) |
bitlbee service: Add option to load libpurple plugins into bitlbee
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/services/networking/bitlbee.nix | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/nixos/modules/services/networking/bitlbee.nix b/nixos/modules/services/networking/bitlbee.nix index e72ea20cccee..bd26804788f3 100644 --- a/nixos/modules/services/networking/bitlbee.nix +++ b/nixos/modules/services/networking/bitlbee.nix @@ -7,6 +7,10 @@ let cfg = config.services.bitlbee; bitlbeeUid = config.ids.uids.bitlbee; + bitlbeePkg = if cfg.libpurple_plugins == [] + then pkgs.bitlbee + else pkgs.bitlbee.override { enableLibPurple = true; }; + bitlbeeConfig = pkgs.writeText "bitlbee.conf" '' [settings] @@ -25,6 +29,12 @@ let ${cfg.extraDefaults} ''; + purple_plugin_path = + lib.concatMapStringsSep ":" + (plugin: "${plugin}/lib/pidgin/") + cfg.libpurple_plugins + ; + in { @@ -90,6 +100,15 @@ in ''; }; + libpurple_plugins = mkOption { + type = types.listOf types.package; + default = []; + example = literalExample "[ pkgs.purple-matrix ]"; + description = '' + The list of libpurple plugins to install. + ''; + }; + configDir = mkOption { default = "/var/lib/bitlbee"; type = types.path; @@ -144,14 +163,16 @@ in }; systemd.services.bitlbee = - { description = "BitlBee IRC to other chat networks gateway"; + { + environment.PURPLE_PLUGIN_PATH = purple_plugin_path; + description = "BitlBee IRC to other chat networks gateway"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig.User = "bitlbee"; - serviceConfig.ExecStart = "${pkgs.bitlbee}/sbin/bitlbee -F -n -c ${bitlbeeConfig}"; + serviceConfig.ExecStart = "${bitlbeePkg}/sbin/bitlbee -F -n -c ${bitlbeeConfig}"; }; - environment.systemPackages = [ pkgs.bitlbee ]; + environment.systemPackages = [ bitlbeePkg ]; }; |