{ pkgs, lib, config, ... }: let inherit (lib) mkEnableOption mkOption mkIf; inherit (lib.types) package; cfg = config.modules.system.roles.desktop; in { options.modules.system.roles.desktop = { enable = mkEnableOption "desktop usage features"; terminal = mkOption { type = package; default = pkgs.foot; description = '' The default terminal emulator used on the system. To be used by other options and configurations. ''; }; filemanager = mkOption { type = package; default = pkgs.nautilus; description = ''''; }; }; config = mkIf cfg.enable { environment.systemPackages = [ cfg.terminal cfg.filemanager ]; }; }