summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2026-03-15 23:27:34 -0600
committerAlejandro Soto <alejandro@34project.org>2026-03-15 23:27:34 -0600
commit271149ad49f485793ceb7bb0d8edba9c6e1d29e6 (patch)
tree482b48b4fdbb9fc7f0da18af9c69a61ab88ee5a0
parent59b61c3e3584fb8620cb48ba6c55c3f7ab2ba4b6 (diff)
sys/platform: [lustrated]: enable kdeconnect
-rw-r--r--sys/preset/user.nix23
1 files changed, 23 insertions, 0 deletions
diff --git a/sys/preset/user.nix b/sys/preset/user.nix
index e707481..ff939f8 100644
--- a/sys/preset/user.nix
+++ b/sys/preset/user.nix
@@ -9,6 +9,17 @@
in {
options.local.preset.user = {
enable = lib.mkEnableOption "user-like preset";
+
+ kdeconnect = {
+ self6 = lib.mkOption {
+ type = lib.types.str;
+ };
+
+ peers6 = lib.mkOption {
+ type = with lib.types; listOf str;
+ default = [];
+ };
+ };
};
config = lib.mkIf cfg.enable {
@@ -73,6 +84,18 @@ in {
};
};
+ networking = {
+ firewall.extraCommands = let
+ inherit (cfg.kdeconnect) self6;
+
+ peerRules = peer6: ''
+ ip6tables -A local-input -s ${peer6} -d ${self6} -p tcp -m multiport --dports 1714:1764 -j ACCEPT
+ ip6tables -A local-input -s ${peer6} -d ${self6} -p udp -m multiport --dports 1714:1764 -j ACCEPT
+ '';
+ in
+ lib.concatStrings (map peerRules cfg.kdeconnect.peers6);
+ };
+
services.nullmailer = {
enable = mkDefault true;