{ pkgs, config, lib, ... }: # define smb shares let cfg = config.fileshare.smb; smb_shares = { vault = { path = "/holocron/vault"; browseable = true; writable = true; guestOk = false; }; media = { path = "/holocron/media"; browseable = true; writable = true; guestOk = false; }; }; in { options.fileshare.smb = { enable = lib.mkEnableOption "enables smb"; }; config = lib.mkIf cfg.enable { # enable smb with all shares services.samba = { enable = true; settings = smb_shares; }; }; }