summaryrefslogtreecommitdiff
path: root/os/srv/nfs.nix
blob: 9e5b16fc54ccbb6acecd727cc56c9c25dd239784 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{ 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 ];
  };
}