{ lib, pkgs, ... } : with lib; { options.defaultPrograms = { terminal = mkOption { type = types.nullOr types.package; default = null; description = "Terminal emulator"; example = pkgs.alacritty; }; editor = mkOption { type = types.nullOr types.package; default = null; description = "Text editor"; example = pkgs.kakoune; }; browser = mkOption { type = types.nullOr types.package; default = null; description = "Web browser"; example = pkgs.firefox; }; mail = mkOption { type = types.nullOr types.package; default = null; description = "Email client"; example = pkgs.thunderbird; }; }; }