{
  lib,
  options,
  ...
}: let
  inherit (lib) mkOption;
  inherit (lib.types) str;
in {
  options.local.systemVars = {
    hostName = mkOption {
      type = str;
      description = "hostname for the current host";
      default = null;
    };
    username = mkOption {
      type = str;
      description = "username for the home directory";
      default = null;
    };
  };

  config.assertions = [
    {
      assertion = options.local.systemVars.hostName.isDefined;
    }
    {
      assertion = options.local.systemVars.username.isDefined;
    }
  ];
}