at 22.05-pre 1.1 kB view raw
1{ config, pkgs, lib, ... }: 2with lib; 3{ 4 options.programs.kdeconnect = { 5 enable = mkEnableOption '' 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</option> to use 11 <code>gnomeExtensions.gsconnect</code> as an alternative 12 implementation if you use Gnome. 13 ''; 14 package = mkOption { 15 default = pkgs.kdeconnect; 16 defaultText = literalExpression "pkgs.kdeconnect"; 17 type = types.package; 18 example = literalExpression "pkgs.gnomeExtensions.gsconnect"; 19 description = '' 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}