SnapDrop is an Apple AirDrop alternative using WebRTC. I made a Nix module that allows you to run it locally.
This makes my life less cumbersome to transfer files/photos between NixOS and my iPad/iPhone.
Here is the module. Note that README IS OUTDATED.
If you are using flake, try following:
inputs.netkit.url = "github:icebox-nix/netkit.nix";
,and append netkit.nixosModules.snapdrop
to your nixosSystem.modules
.
Finally, in your configuration, add netkit.snapdrop.enable = true;
.
After rebuild, it should be up and running on http://127.0.0.1:8080.
To change the port it runs on, use netkit.snapdrop.port = <your port>;
See also: my nixos config, wifi-relay module which helps you to establish a Wi-Fi to Wi-Fi hotspot. Furthermore, with wifi-relay, you can share files even without an external router.
Hope you can enjoy!