{
  config,
  pkgs,
  inputs,
  lib,
  ...
}: {
  users.users.sambaguest = {
    isNormalUser = true;
    extraGroups = [
    ];
    home = "/data/shares/";
  };
  networking.firewall.enable = true;
  networking.firewall.allowPing = true;
  services.samba = {
    enable = true;
    nsswins = true;
    securityType = "user";
    extraConfig = ''
      workgroup = WORKGROUP
      server string = smbnix
      netbios name = smbnix
      security = user
      #use sendfile = yes
      #max protocol = smb2
      # note: localhost is the ipv6 localhost ::1
      hosts allow = 10.0.0. 100. 127.0.0.1 localhost
      hosts deny = 0.0.0.0/0
      guest account = sambaguest
      map to guest = bad user
    '';
    shares = {
      videos = {
        path = "/data/shares/videos";
        browseable = "yes";
        "read only" = "no";
        "guest ok" = "yes";
        "create mask" = "0644";
        "directory mask" = "0755";
        "force user" = "sambaguest";
      };
    };
    openFirewall = true;
  };
  networking.firewall.allowedTCPPorts = [2049];
  services.nfs.server = {
    enable = true;
    exports = ''
      /data/nfs 10.0.0.244/24(rw,sync,insecure,no_subtree_check,fsid=0) 100.81.212.51(rw,sync,insecure,no_subtree_check) 10.0.0.156(rw,sync,insecure,no_subtree_check)
      /data/nfs/home_assistant/share 10.0.0.244/24(rw,sync,insecure,no_subtree_check,fsid=0) 100.81.212.51(rw,sync,insecure,no_subtree_check) 10.0.0.156(rw,sync,insecure,no_subtree_check)
      /data/nfs/home_assistant/media 10.0.0.244/24(rw,sync,insecure,no_subtree_check,fsid=0) 100.81.212.51(rw,sync,insecure,no_subtree_check) 10.0.0.156(rw,sync,insecure,no_subtree_check)
      /data/nfs/home_assistant/backups 10.0.0.244/24(rw,sync,insecure,no_subtree_check,fsid=0) 100.81.212.51(rw,sync,insecure,no_subtree_check) 10.0.0.156(rw,sync,insecure,no_subtree_check)
    '';
  };
}
