{ config, lib, ... }: let cfg = config.os.srv.nfs; in { options.os.srv.nfs.enable = lib.mkEnableOption "enables nfs drive sharing"; config = lib.mkIf cfg.enable { services.nfs.server = { enable = true; # TODO exports exports = '' /data 192.168.1.0/24(ro,fsid=0,no_subtree_check) /data/media 192.168.1.0/24(ro,nohide,insecure,no_subtree_check,async) /data/backups 192.168.1.50(rw,nohide,no_subtree_check,sync,no_root_squash) ''; }; networking.firewall.allowedTCPPorts = [ 2049 ]; }; }