# General Fudo config, shared across packages
{ config, lib, pkgs, ... }:

with lib; {
  options.fudo.common = {

    hostname = mkOption {
      type = types.str;
      description = ''
        Hostname of the local host (without domain).
      '';
    };

    # domain = mkOption {
    #   type = types.str;
    #   description = ''
    #     Domain of the local network.
    #   '';
    # };

    # local-networks = mkOption {
    #   type = with types; listOf str;
    #   description = ''
    #     A list of networks to consider 'local'. Used by various services to
    #     limit access to the external world.
    #   '';
    #   default = [ ];
    # };

    # profile = mkOption {
    #   type = with types; nullOr str;
    #   example = "desktop";
    #   description = ''
    #     The profile to use for this host. This will do some profile-dependent
    #     configuration, for example removing X-libs from servers and adding UI
    #     packages to desktops.
    #   '';
    #   default = null;
    # };

    # site = mkOption {
    #   type = with types; nullOr str;
    #   example = "seattle";
    #   description = ''
    #     The site at which this host is located. This will do some site-dependent
    #     configuration.
    #   '';
    #   default = null;
    # };

    # www-root = mkOption {
    #   type = types.path;
    #   description = "Path at which to store www files for serving.";
    #   example = /var/www;
    # };

    # admin-email = mkOption {
    #   type = types.str;
    #   description = "Email for administrator of this system.";
    #   default = "admin@fudo.org";
    # };

    # enable-gui = mkEnableOption "Install desktop GUI software.";
  };
}