{ pkgs, config, ... }: let masters = [ "192.168.1.71:9333" "192.168.1.72:9333" "192.168.1.73:9333" ]; master_enabled = true; #builtins.elem config.networking.hostName masters; in { imports = [ ./seaweedfs_lib.nix ]; services.seaweedfs.master = { enable = master_enabled; peers = masters; }; services.seaweedfs.filer = { enable = true; master = masters; }; services.seaweedfs.volumes = { default = { enable = true; mserver = masters; dir = [ "/persist/weed/volume-default" ]; }; }; users.users.seaweedfs.group = "seaweedfs"; users.groups.seaweedfs = {}; environment.persistence."/persist".directories = [ "/var/lib/seaweedfs" ]; networking.firewall.allowedTCPPorts = [ config.services.seaweedfs.volumes.default.port 9333 19333 config.services.seaweedfs.filer.port 8888 18888 # ] ++ (if master_enabled then [ config.services.seaweedfs.master.port 9333 19333 # ] else [ ]) ]; }