{ options, config, pkgs, lib, ... }:

with lib;
with lib.metacfg;
let cfg = config.metacfg.system.interface;
in
{
  options.metacfg.system.interface = with types; {
    enable = mkEnableOption "macOS interface";
  };

  config = mkIf cfg.enable {
    system.defaults = {
      dock.autohide = true;

      finder = {
        AppleShowAllExtensions = true;
        FXEnableExtensionChangeWarning = false;
      };

      NSGlobalDomain = {
        _HIHideMenuBar = true;
        AppleShowScrollBars = "Always";
      };
    };

    metacfg.home.file.".hushlogin".text = "";
  };
}