depot/third_party/nixpkgs/nixos/modules/programs/kdeconnect.nix
Default email 2c76a4cb41 Project import generated by Copybara.
GitOrigin-RevId: c757e9bd77b16ca2e03c89bf8bc9ecb28e0c06ad
2023-11-16 04:20:00 +00:00

35 lines
1.1 KiB
Nix

{ config, pkgs, lib, ... }:
with lib;
{
options.programs.kdeconnect = {
enable = mkEnableOption (lib.mdDoc ''
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
implementation if you use Gnome
'');
package = mkOption {
default = pkgs.plasma5Packages.kdeconnect-kde;
defaultText = literalExpression "pkgs.plasma5Packages.kdeconnect-kde";
type = types.package;
example = literalExpression "pkgs.gnomeExtensions.gsconnect";
description = lib.mdDoc ''
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;
};
};
}