···152152 are met, or not met.
153153 </para>
154154 </listitem>
155155+ <listitem>
156156+ <para>
157157+ <link xlink:href="https://github.com/parvardegr/sharing">sharing</link>,
158158+ a command-line tool to share directories and files from the
159159+ CLI to iOS and Android devices without the need of an extra
160160+ client app. Available as
161161+ <link linkend="opt-programs.sharing.enable">programs.sharing</link>.
162162+ </para>
163163+ </listitem>
155164 </itemizedlist>
156165 </section>
157166 <section xml:id="sec-release-23.05-incompatibilities">
+2
nixos/doc/manual/release-notes/rl-2305.section.md
···48484949- [autosuspend](https://github.com/languitar/autosuspend), a python daemon that suspends a system if certain conditions are met, or not met.
50505151+- [sharing](https://github.com/parvardegr/sharing), a command-line tool to share directories and files from the CLI to iOS and Android devices without the need of an extra client app. Available as [programs.sharing](#opt-programs.sharing.enable).
5252+5153## Backward Incompatibilities {#sec-release-23.05-incompatibilities}
52545355<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
···11+{ config, pkgs, lib, ... }:
22+with lib;
33+{
44+ options.programs.sharing = {
55+ enable = mkEnableOption (lib.mdDoc ''
66+ sharing, a CLI tool for sharing files.
77+88+ Note that it will opens the 7478 port for TCP in the firewall, which is needed for it to function properly
99+ '');
1010+ };
1111+ config =
1212+ let
1313+ cfg = config.programs.sharing;
1414+ in
1515+ mkIf cfg.enable {
1616+ environment.systemPackages = [ pkgs.sharing ];
1717+ networking.firewall.allowedTCPPorts = [ 7478 ];
1818+ };
1919+}