nixpkgs-suyu/nixos/modules/programs/kdeconnect.nix

36 lines
1.1 KiB
Nix
Raw Normal View History

2019-06-28 17:28:37 +02:00
{ config, pkgs, lib, ... }:
with lib;
{
options.programs.kdeconnect = {
enable = mkEnableOption (lib.mdDoc ''
2019-06-28 17:28:37 +02:00
kdeconnect.
Note that it will open the TCP and UDP port from
1714 to 1764 as they are needed for it to function properly.
You can use the {option}`package` to use
`gnomeExtensions.gsconnect` as an alternative
2019-06-28 17:28:37 +02:00
implementation if you use Gnome.
'');
2019-06-28 17:28:37 +02:00
package = mkOption {
default = pkgs.plasma5Packages.kdeconnect-kde;
defaultText = literalExpression "pkgs.plasma5Packages.kdeconnect-kde";
2019-06-28 17:28:37 +02:00
type = types.package;
example = literalExpression "pkgs.gnomeExtensions.gsconnect";
description = lib.mdDoc ''
2019-06-28 17:28:37 +02:00
The package providing the implementation for kdeconnect.
'';
};
};
config =
let
cfg = config.programs.kdeconnect;
in
mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
networking.firewall = rec {
allowedTCPPortRanges = [ { from = 1714; to = 1764; } ];
allowedUDPPortRanges = allowedTCPPortRanges;
};
};
}