{ lib, ... }:
with lib;
{
  options.vars = {
    
    # WIREGUARD
    wg_adress = mkOption {
      type = types.str;
    };
    wg_privateKey = mkOption {
      type = types.str;
    };
    wg_publicKey = mkOption {
      type = types.str;
    };
    wg_presharedKey = mkOption {
      type = types.str;
    };
    wg_endpoint = mkOption {
      type = types.str;
    };
    
    # SYSTEM
    username = mkOption {
      type = types.str;
    };
    usermail = mkOption {
      type = types.str;
    };
    local_ip = mkOption {
      type = types.str;
    };
    hostname = mkOption {
      type = types.str;
    };
    hostid = mkOption {
      type = types.str;
    };
    
    
    # KEEPALIVED
    ka_addr_v4 = mkOption {
      type = types.str;
    };
    ka_addr_v6 = mkOption {
      type = types.str;
    };
    ka_priority = mkOption {
      type = types.int;
    };
    
    
    # Homemanager    
    hm_git_username = mkOption {
      type = types.str;
    };
    
    
    # NFS
    nfs_server = mkOption {
      type = types.str;
    };
    nfs_volume = mkOption {
      type = types.str;
    };
    nfs_mount = mkOption {
      type = types.str;
    };
  };
}