diff options
Diffstat (limited to 'nixpkgs/pkgs/misc/vscode-extensions/vscodeWithConfiguration.nix')
-rw-r--r-- | nixpkgs/pkgs/misc/vscode-extensions/vscodeWithConfiguration.nix | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/nixpkgs/pkgs/misc/vscode-extensions/vscodeWithConfiguration.nix b/nixpkgs/pkgs/misc/vscode-extensions/vscodeWithConfiguration.nix index f15d14c7441..e20c631f8c0 100644 --- a/nixpkgs/pkgs/misc/vscode-extensions/vscodeWithConfiguration.nix +++ b/nixpkgs/pkgs/misc/vscode-extensions/vscodeWithConfiguration.nix @@ -1,22 +1,22 @@ # wrapper over vscode to control extensions per project (extensions folder will be created in execution path) -{ lib -, writeShellScriptBin -, extensionsFromVscodeMarketplace +{ lib +, writeShellScriptBin +, extensionsFromVscodeMarketplace , vscodeDefault }: ## User input -{ vscode ? vscodeDefault +{ vscode ? vscodeDefault # extensions to be symlinked into the project's extensions folder -, nixExtensions ? [] +, nixExtensions ? [] # extensions to be copied into the project's extensions folder -, mutableExtensions ? [] -, vscodeExtsFolderName ? ".vscode-exts" +, mutableExtensions ? [] +, vscodeExtsFolderName ? ".vscode-exts" , user-data-dir ? ''"''${TMP}vscodeWithConfiguration/vscode-data-dir"'' }: -let +let nixExtsDrvs = extensionsFromVscodeMarketplace nixExtensions; mutExtsDrvs = extensionsFromVscodeMarketplace mutableExtensions; - mutableExtsPaths = lib.forEach mutExtsDrvs ( e: + mutableExtsPaths = lib.forEach mutExtsDrvs ( e: { origin = ''${e}/share/vscode/extensions/${e.vscodeExtUniqueId}''; target = ''${vscodeExtsFolderName}/${e.vscodeExtUniqueId}-${(lib.findSingle (ext: ''${ext.publisher}.${ext.name}'' == e.vscodeExtUniqueId) "" "m" mutableExtensions ).version}''; @@ -39,16 +39,16 @@ let cp -a ${ePath.origin} ${ePath.target} chmod -R u+rwx ${ePath.target} fi - '') mutableExtsPaths} + '') mutableExtsPaths} ''; in writeShellScriptBin "code" '' - if ! [[ "$@" =~ "--list-extension" ]]; then - mkdir -p "${vscodeExtsFolderName}" + if ! [[ "$@" =~ "--list-extension" ]]; then + mkdir -p "${vscodeExtsFolderName}" ${rmExtensions} ${cpExtensions} fi - ${vscode}/bin/code --extensions-dir "${vscodeExtsFolderName}" ${ + ${vscode}/bin/code --extensions-dir "${vscodeExtsFolderName}" ${ lib.optionalString (user-data-dir != "") ''--user-data-dir ${user-data-dir }'' } "$@" '' |