{ lib , newScope , stdenv , fetchzip , variant }: let mkJetbrainsPlugins = import ../applications/editors/jetbrains/common-plugins.nix { inherit lib stdenv fetchzip; }; mkIdeaPlugins = import ../applications/editors/jetbrains/idea-plugins.nix { inherit lib stdenv fetchzip; }; jetbrainsWithPlugins = import ../applications/editors/jetbrains/wrapper.nix { inherit lib; }; in lib.makeScope newScope (self: lib.makeOverridable ({ jetbrainsPlugins ? mkJetbrainsPlugins self , ideaPlugins ? mkIdeaPlugins self }: ({ } // jetbrainsPlugins // { inherit jetbrainsPlugins; } // ideaPlugins // { inherit ideaPlugins; } // { inherit variant; jetbrainsWithPlugins = jetbrainsWithPlugins self variant; }) ) { })