KDE Connect

From NixOS Wiki

KDE Connect is an application with various functions for integrating a phone and the Linux computer. It allows you to send files to the other device, control its media playback, send remote control inputs, display its notifications and much more. KDE Connect is also available for the GNOME desktop environment as GSConnect extension.

Installation

KDE

programs.kdeconnect.enable = true;

KDE via Home Manager

home-manager.users.username.services.kdeconnect.enable = true;

networking.firewall = rec {
  allowedTCPPortRanges = [ { from = 1714; to = 1764; } ];
  allowedUDPPortRanges = allowedTCPPortRanges;
};

GSConnect (for GNOME)

programs.kdeconnect = {
  enable = true;
  package = pkgs.gnomeExtensions.gsconnect;
};

Then it is necessary to enable "GSConnect" extension in the Gnome "Extensions" application (or via dconf).

GSConnect (for GNOME) via Home Manager

home-manager.users.username.programs.gnome-shell = {
  enable = true;
  extensions = [{ package = pkgs.gnomeExtensions.gsconnect; }];
};

networking.firewall = rec {
  allowedTCPPortRanges = [ { from = 1714; to = 1764; } ];
  allowedUDPPortRanges = allowedTCPPortRanges;
};

This will auto-enable the extension via dconf.