forked from mirrors/nixpkgs
16102dce2f
markdown can't represent the difference without another extension and both the html manual and the manpage render them the same, so keeping the distinction is not very useful on its own. with the distinction removed we can automatically convert many options that use <code> tags to markdown. the manpage remains unchanged, html manual does not render differently (but class names on code tags do change from "code" to "literal").
36 lines
1.1 KiB
Nix
36 lines
1.1 KiB
Nix
{ config, pkgs, lib, ... }:
|
|
with lib;
|
|
{
|
|
options.programs.kdeconnect = {
|
|
enable = mkEnableOption ''
|
|
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</option> to use
|
|
<literal>gnomeExtensions.gsconnect</literal> 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;
|
|
};
|
|
};
|
|
}
|