diff options
Diffstat (limited to 'pkgs/applications/editors/vscode/extensions/vscodeExts2nix.nix')
-rw-r--r-- | pkgs/applications/editors/vscode/extensions/vscodeExts2nix.nix | 36 |
1 files changed, 24 insertions, 12 deletions
diff --git a/pkgs/applications/editors/vscode/extensions/vscodeExts2nix.nix b/pkgs/applications/editors/vscode/extensions/vscodeExts2nix.nix index 58cbe663c9013..96b892911b06d 100644 --- a/pkgs/applications/editors/vscode/extensions/vscodeExts2nix.nix +++ b/pkgs/applications/editors/vscode/extensions/vscodeExts2nix.nix @@ -1,14 +1,16 @@ # based on the passed vscode will stdout a nix expression with the installed vscode extensions -{ lib -, vscodeDefault -, writeShellScriptBin +{ + lib, + vscodeDefault, + writeShellScriptBin, }: ##User input -{ vscode ? vscodeDefault -, extensionsToIgnore ? [] -# will use those extensions to get sha256 if still exists when executed. -, extensions ? [] +{ + vscode ? vscodeDefault, + extensionsToIgnore ? [ ], + # will use those extensions to get sha256 if still exists when executed. + extensions ? [ ], }: let mktplcExtRefToFetchArgs = import ./mktplcExtRefToFetchArgs.nix; @@ -17,22 +19,32 @@ writeShellScriptBin "vscodeExts2nix" '' echo '[' for line in $(${vscode}/bin/code --list-extensions --show-versions \ - ${lib.optionalString (extensionsToIgnore != []) '' - | grep -v -i '^\(${lib.concatMapStringsSep "\\|" (e : "${e.publisher}.${e.name}") extensionsToIgnore}\)' - ''} + ${ + lib.optionalString (extensionsToIgnore != [ ]) '' + | grep -v -i '^\(${ + lib.concatMapStringsSep "\\|" (e: "${e.publisher}.${e.name}") extensionsToIgnore + }\)' + '' + } ) ; do [[ $line =~ ([^.]*)\.([^@]*)@(.*) ]] name=''${BASH_REMATCH[2]} publisher=''${BASH_REMATCH[1]} version=''${BASH_REMATCH[3]} - extensions="${lib.concatMapStringsSep "." (e : "${e.publisher}${e.name}@${e.sha256}") extensions}" + extensions="${lib.concatMapStringsSep "." (e: "${e.publisher}${e.name}@${e.sha256}") extensions}" reCurrentExt=$publisher$name"@([^.]*)" if [[ $extensions =~ $reCurrentExt ]]; then sha256=''${BASH_REMATCH[1]} else sha256=$( - nix-prefetch-url "${(mktplcExtRefToFetchArgs {publisher = ''"$publisher"''; name = ''"$name"''; version = ''"$version"'';}).url}" 2> /dev/null + nix-prefetch-url "${ + (mktplcExtRefToFetchArgs { + publisher = ''"$publisher"''; + name = ''"$name"''; + version = ''"$version"''; + }).url + }" 2> /dev/null ) fi |