"wireshark"
#"ipfs"
config.services.davfs2.davGroup
+ config.services.kubo.group
#"vboxusers"
];
# If created, zfs-mount.service would require:
*/
};
- services.kubo = {
- #enable = true;
- defaultMode = "online";
- autoMount = true;
- enableGC = true;
- localDiscovery = false;
- settings = {
- Datastore.StorageMax = "10GB";
- Discovery.MDNS.Enabled = false;
- #Bootstrap = [
- #];
- #Swarm.AddrFilters = null;
- };
- startWhenNeeded = true;
- };
-
services.udev.packages = [
# Allow the console user access the Yubikey USB device node,
# needed for challenge/response to work correctly.
../../nixos/profiles/dnscrypt-proxy2.nix
../../nixos/profiles/networking/ssh.nix
../../nixos/profiles/networking/wifi.nix
+ ../../nixos/profiles/kubo.nix
#../../nixos/profiles/openvpn/calyx.nix
networking/nftables.nix
];
--- /dev/null
+{
+ pkgs,
+ lib,
+ config,
+ ...
+}:
+{
+ services.kubo = {
+ enable = true;
+ defaultMode = "online";
+ autoMount = true;
+ enableGC = true;
+ localDiscovery = false;
+ settings = {
+ Datastore.StorageMax = "10GB";
+ Discovery.MDNS.Enabled = false;
+ #Bootstrap = [
+ #];
+ #Swarm.AddrFilters = null;
+ };
+ startWhenNeeded = true;
+ };
+ networking.nftables.ruleset = ''
+ table inet filter {
+ chain input-net {
+ meta l4proto { udp, tcp } th sport 4001 counter accept comment "kubo: IPFS libp2p swarm"
+ }
+ chain output-net {
+ meta l4proto { udp, tcp } th dport 4001 skuid ${toString config.services.kubo.user} counter accept comment "kubo: IPFS libp2p swarm"
+ }
+ }
+ '';
+}