diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-09-08 17:57:14 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-09-13 11:31:47 +0000 |
commit | ee7984efa14902a2ddd820c937457667a4f40c6a (patch) | |
tree | c9c1d046733cefe5e21fdd8a52104175d47b2443 /nixpkgs/pkgs/applications/editors/vscode/with-extensions.nix | |
parent | ffc9d4ba381da62fd08b361bacd1e71e2a3d934d (diff) | |
parent | b3c692172e5b5241b028a98e1977f9fb12eeaf42 (diff) | |
download | nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.gz nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.bz2 nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.lz nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.xz nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.zst nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.zip |
Merge commit 'b3c692172e5b5241b028a98e1977f9fb12eeaf42'
Diffstat (limited to 'nixpkgs/pkgs/applications/editors/vscode/with-extensions.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/editors/vscode/with-extensions.nix | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/nixpkgs/pkgs/applications/editors/vscode/with-extensions.nix b/nixpkgs/pkgs/applications/editors/vscode/with-extensions.nix index d2c91f155d53..1c9c4be45631 100644 --- a/nixpkgs/pkgs/applications/editors/vscode/with-extensions.nix +++ b/nixpkgs/pkgs/applications/editors/vscode/with-extensions.nix @@ -1,4 +1,4 @@ -{ lib, runCommand, buildEnv, vscode, makeWrapper +{ lib, stdenv, runCommand, buildEnv, vscode, makeWrapper , vscodeExtensions ? [] }: /* @@ -11,7 +11,7 @@ # When the extension is already available in the default extensions set. vscodeExtensions = with vscode-extensions; [ - bbenoist.Nix + bbenoist.nix ] # Concise version from the vscode market place when not available in the default set. @@ -42,8 +42,7 @@ */ let - - inherit (vscode) executableName; + inherit (vscode) executableName longName; wrappedPkgVersion = lib.getVersion vscode; wrappedPkgName = lib.removeSuffix "-${wrappedPkgVersion}" vscode.name; @@ -52,6 +51,9 @@ let paths = vscodeExtensions; }; + extensionsFlag = lib.optionalString (vscodeExtensions != []) '' + --add-flags "--extensions-dir ${combinedExtensionsDrv}/share/vscode/extensions" + ''; in # When no extensions are requested, we simply redirect to the original @@ -62,7 +64,17 @@ runCommand "${wrappedPkgName}-with-extensions-${wrappedPkgVersion}" { dontPatchELF = true; dontStrip = true; meta = vscode.meta; -} '' +} (if stdenv.isDarwin then '' + mkdir -p $out/bin/ + mkdir -p "$out/Applications/${longName}.app/Contents/MacOS" + + for path in PkgInfo Frameworks Resources _CodeSignature Info.plist; do + ln -s "${vscode}/Applications/${longName}.app/Contents/$path" "$out/Applications/${longName}.app/Contents/" + done + + makeWrapper "${vscode}/bin/${executableName}" "$out/bin/${executableName}" ${extensionsFlag} + makeWrapper "${vscode}/Applications/${longName}.app/Contents/MacOS/Electron" "$out/Applications/${longName}.app/Contents/MacOS/Electron" ${extensionsFlag} +'' else '' mkdir -p "$out/bin" mkdir -p "$out/share/applications" mkdir -p "$out/share/pixmaps" @@ -70,7 +82,5 @@ runCommand "${wrappedPkgName}-with-extensions-${wrappedPkgVersion}" { ln -sT "${vscode}/share/pixmaps/code.png" "$out/share/pixmaps/code.png" ln -sT "${vscode}/share/applications/${executableName}.desktop" "$out/share/applications/${executableName}.desktop" ln -sT "${vscode}/share/applications/${executableName}-url-handler.desktop" "$out/share/applications/${executableName}-url-handler.desktop" - makeWrapper "${vscode}/bin/${executableName}" "$out/bin/${executableName}" ${lib.optionalString (vscodeExtensions != []) '' - --add-flags "--extensions-dir ${combinedExtensionsDrv}/share/vscode/extensions" - ''} -'' + makeWrapper "${vscode}/bin/${executableName}" "$out/bin/${executableName}" ${extensionsFlag} +'') |