at 23.11-pre 1.1 kB view raw
1{ config, pkgs, lib, ... }: 2with lib; 3{ 4 options.programs.kdeconnect = { 5 enable = mkEnableOption (lib.mdDoc '' 6 kdeconnect. 7 8 Note that it will open the TCP and UDP port from 9 1714 to 1764 as they are needed for it to function properly. 10 You can use the {option}`package` to use 11 `gnomeExtensions.gsconnect` as an alternative 12 implementation if you use Gnome. 13 ''); 14 package = mkOption { 15 default = pkgs.plasma5Packages.kdeconnect-kde; 16 defaultText = literalExpression "pkgs.plasma5Packages.kdeconnect-kde"; 17 type = types.package; 18 example = literalExpression "pkgs.gnomeExtensions.gsconnect"; 19 description = lib.mdDoc '' 20 The package providing the implementation for kdeconnect. 21 ''; 22 }; 23 }; 24 config = 25 let 26 cfg = config.programs.kdeconnect; 27 in 28 mkIf cfg.enable { 29 environment.systemPackages = [ cfg.package ]; 30 networking.firewall = rec { 31 allowedTCPPortRanges = [ { from = 1714; to = 1764; } ]; 32 allowedUDPPortRanges = allowedTCPPortRanges; 33 }; 34 }; 35}