diff options
Diffstat (limited to 'pkgs/applications/editors/vscode/extensions')
18 files changed, 800 insertions, 444 deletions
diff --git a/pkgs/applications/editors/vscode/extensions/README.md b/pkgs/applications/editors/vscode/extensions/README.md new file mode 100644 index 0000000000000..656ea1bdb3ae0 --- /dev/null +++ b/pkgs/applications/editors/vscode/extensions/README.md @@ -0,0 +1,37 @@ +# Visual Studio Code Extensions + +## Conventions for adding new extensions + +* Extensions are named in the **lowercase** version of the extension's unique identifier. Which is found on the marketplace extension page, and is the name under which the extension is installed by VSCode under `~/.vscode`. + Extension location should be: ${lib.strings.toLower mktplcRef.publisher}.${lib.string.toLower mktplcRef.name} + +* Move extension to a discrete directory whenever the extension needs extra parameters/packages (at top of the file) or other files (such as patches, update script, components). Global index file parameters/packages should be utilities shared by many extensions. Extension specific parameters/packages should not be in the global index page. + +* Currently `nixfmt-rfc-style` formatter is being used to format the VSCode extensions. + +* Respect `alphabetical order` whenever adding extensions. On disorder, please, kindly open a PR re-establishing the order. + +* Avoid [unnecessary](https://nix.dev/guides/best-practices.html#with-scopes) use of `with`, particularly `nested with`. + +* Use `hash` instead of `sha256`. + +* On `meta` field: + - add a `changelog`. + - `description` should mention it is a Visual Studio Code extension. + - `downloadPage` is the VSCode marketplace URL. + - `homepage` is the source-code URL. + - verify `license` in upstream. + +* On commit messages: + - Naming convention for: + - Adding a new extension: + + > vscode-extensions.publisher.extension-name: init 1.2.3 + > + > Release: https://github.com/owner/project/releases/tag/1.2.3 + - Updating an extension: + + > vscode-extensions.publisher.extension-name: 1.2.3 -> 2.3.4 + > + > Release: https://github.com/owner/project/releases/tag/2.3.4 + - Multiple extensions can be added in a single PR, but each extension requires it's own commit. diff --git a/pkgs/applications/editors/vscode/extensions/asciidoctor.asciidoctor-vscode/default.nix b/pkgs/applications/editors/vscode/extensions/asciidoctor.asciidoctor-vscode/default.nix new file mode 100644 index 0000000000000..7ab6bb7ce0c62 --- /dev/null +++ b/pkgs/applications/editors/vscode/extensions/asciidoctor.asciidoctor-vscode/default.nix @@ -0,0 +1,27 @@ +{ + asciidoctor, + lib, + vscode-utils, +}: + +vscode-utils.buildVscodeMarketplaceExtension { + mktplcRef = { + name = "asciidoctor-vscode"; + publisher = "asciidoctor"; + version = "2.8.9"; + sha256 = "1xkxx5i3nhd0dzqhhdmx0li5jifsgfhv0p5h7xwsscz3gzgsdcyb"; + }; + + postPatch = '' + substituteInPlace dist/src/text-parser.js \ + --replace "get('asciidoctor_command', 'asciidoctor')" \ + "get('asciidoctor_command', '${asciidoctor}/bin/asciidoctor')" + substituteInPlace dist/src/commands/exportAsPDF.js \ + --replace "get('asciidoctorpdf_command', 'asciidoctor-pdf')" \ + "get('asciidoctorpdf_command', '${asciidoctor}/bin/asciidoctor-pdf')" + ''; + + meta = { + license = lib.licenses.mit; + }; +} diff --git a/pkgs/applications/editors/vscode/extensions/azdavis.millet/default.nix b/pkgs/applications/editors/vscode/extensions/azdavis.millet/default.nix new file mode 100644 index 0000000000000..af1e8c3df0f35 --- /dev/null +++ b/pkgs/applications/editors/vscode/extensions/azdavis.millet/default.nix @@ -0,0 +1,30 @@ +{ + lib, + jq, + moreutils, + millet, + vscode-utils, +}: + +vscode-utils.buildVscodeMarketplaceExtension { + mktplcRef = { + name = "Millet"; + publisher = "azdavis"; + version = "0.13.5"; + hash = "sha256-sWM7N+axgu1zOGWexR4JVupVmYhZrd4cZz3pmLxRj8Q="; + }; + nativeBuildInputs = [ + jq + moreutils + ]; + postInstall = '' + cd "$out/$installPrefix" + jq '.contributes.configuration.properties."millet.server.path".default = "${millet}/bin/millet-ls"' package.json | sponge package.json + ''; + meta = { + description = "Standard ML support for VS Code"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=azdavis.millet"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.smasher164 ]; + }; +} diff --git a/pkgs/applications/editors/vscode/extensions/b4dm4n.vscode-nixpkgs-fmt/default.nix b/pkgs/applications/editors/vscode/extensions/b4dm4n.vscode-nixpkgs-fmt/default.nix new file mode 100644 index 0000000000000..6edcaea67a7d9 --- /dev/null +++ b/pkgs/applications/editors/vscode/extensions/b4dm4n.vscode-nixpkgs-fmt/default.nix @@ -0,0 +1,27 @@ +{ + vscode-utils, + jq, + lib, + moreutils, + nixpkgs-fmt, +}: + +vscode-utils.buildVscodeMarketplaceExtension { + mktplcRef = { + name = "nixpkgs-fmt"; + publisher = "B4dM4n"; + version = "0.0.1"; + hash = "sha256-vz2kU36B1xkLci2QwLpl/SBEhfSWltIDJ1r7SorHcr8="; + }; + nativeBuildInputs = [ + jq + moreutils + ]; + postInstall = '' + cd "$out/$installPrefix" + jq '.contributes.configuration.properties."nixpkgs-fmt.path".default = "${nixpkgs-fmt}/bin/nixpkgs-fmt"' package.json | sponge package.json + ''; + meta = { + license = lib.licenses.mit; + }; +} diff --git a/pkgs/applications/editors/vscode/extensions/betterthantomorrow.calva/default.nix b/pkgs/applications/editors/vscode/extensions/betterthantomorrow.calva/default.nix new file mode 100644 index 0000000000000..4fc5c16eb7fdf --- /dev/null +++ b/pkgs/applications/editors/vscode/extensions/betterthantomorrow.calva/default.nix @@ -0,0 +1,27 @@ +{ + clojure-lsp, + jq, + lib, + moreutils, + vscode-utils, +}: + +vscode-utils.buildVscodeMarketplaceExtension { + mktplcRef = { + name = "calva"; + publisher = "betterthantomorrow"; + version = "2.0.374"; + hash = "sha256-VwdHOkduSSIrcOvrcVf7K8DSp3N1u9fvbaCVDCxp+bk="; + }; + nativeBuildInputs = [ + jq + moreutils + ]; + postInstall = '' + cd "$out/$installPrefix" + jq '.contributes.configuration[0].properties."calva.clojureLspPath".default = "${clojure-lsp}/bin/clojure-lsp"' package.json | sponge package.json + ''; + meta = { + license = lib.licenses.mit; + }; +} diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index 6171fd701b34b..409cb43eae35d 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -1,47 +1,29 @@ -{ config -, lib -, fetchurl -, callPackage -, vscode-utils -, asciidoctor -, nodePackages -, python3Packages -, jdk -, llvmPackages -, llvmPackages_14 -, nixpkgs-fmt -, protobuf -, jq -, shellcheck -, moreutils -, racket -, clojure-lsp -, alejandra -, millet -, craftos-pc -, shfmt -, tinymist -, typst-lsp -, typst-preview -, autoPatchelfHook -, zlib -, stdenv +# Before adding a new extension, read ./README.md + +{ + autoPatchelfHook, + callPackage, + config, + fetchurl, + jdk, + jq, + lib, + llvmPackages, + llvmPackages_14, + moreutils, + protobuf, + python3Packages, + stdenv, + vscode-utils, + zlib, }: let inherit (vscode-utils) buildVscodeMarketplaceExtension; - # - # Unless there is a good reason not to, we attempt to use the lowercase - # version of the extension's unique identifier. The unique identifier can be - # found on the marketplace extension page, and is the name under which the - # extension is installed by VSCode under `~/.vscode`. - # - # This means an extension should be located at - # ${lib.strings.toLower mktplcRef.publisher}.${lib.string.toLower mktplcRef.name} - # - baseExtensions = self: lib.mapAttrs (_n: lib.recurseIntoAttrs) - { + baseExtensions = + self: + lib.mapAttrs (_n: lib.recurseIntoAttrs) { "13xforever".language-x86-64-assembly = buildVscodeMarketplaceExtension { mktplcRef = { name = "language-x86-64-assembly"; @@ -162,6 +144,23 @@ let }; }; + adzero.vscode-sievehighlight = buildVscodeMarketplaceExtension { + mktplcRef = { + name = "vscode-sievehighlight"; + publisher = "adzero"; + version = "1.0.6"; + hash = "sha256-8Ompv792eI2kIH+5+KPL9jAf88xsMGQewHEQwi8BhoQ="; + }; + meta = { + changelog = "https://marketplace.visualstudio.com/items/adzero.vscode-sievehighlight/changelog"; + description = "A Visual Studio Code extension to enable syntax highlight support for Sieve mail filtering language"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=adzero.vscode-sievehighlight"; + homepage = "https://github.com/adzero/vscode-sievehighlight"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.sebtm ]; + }; + }; + alanz.vscode-hie-server = buildVscodeMarketplaceExtension { mktplcRef = { name = "vscode-hie-server"; @@ -336,8 +335,7 @@ let }; meta = { description = "An arctic, north-bluish clean and elegant Visual Studio Code theme."; - downloadPage = - "https://marketplace.visualstudio.com/items?itemName=arcticicestudio.nord-visual-studio-code"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=arcticicestudio.nord-visual-studio-code"; homepage = "https://github.com/arcticicestudio/nord-visual-studio-code"; license = lib.licenses.mit; maintainers = [ lib.maintainers.imgabe ]; @@ -368,27 +366,7 @@ let }; }; - asciidoctor.asciidoctor-vscode = buildVscodeMarketplaceExtension { - mktplcRef = { - name = "asciidoctor-vscode"; - publisher = "asciidoctor"; - version = "2.8.9"; - sha256 = "1xkxx5i3nhd0dzqhhdmx0li5jifsgfhv0p5h7xwsscz3gzgsdcyb"; - }; - - postPatch = '' - substituteInPlace dist/src/text-parser.js \ - --replace "get('asciidoctor_command', 'asciidoctor')" \ - "get('asciidoctor_command', '${asciidoctor}/bin/asciidoctor')" - substituteInPlace dist/src/commands/exportAsPDF.js \ - --replace "get('asciidoctorpdf_command', 'asciidoctor-pdf')" \ - "get('asciidoctorpdf_command', '${asciidoctor}/bin/asciidoctor-pdf')" - ''; - - meta = { - license = lib.licenses.mit; - }; - }; + asciidoctor.asciidoctor-vscode = callPackage ./asciidoctor.asciidoctor-vscode { }; asdine.cue = buildVscodeMarketplaceExtension { mktplcRef = { @@ -403,7 +381,7 @@ let homepage = "https://github.com/asdine/vscode-cue"; changelog = "https://marketplace.visualstudio.com/items/asdine.cue/changelog"; license = lib.licenses.mit; - maintainers = [lib.maintainers.matthewpi]; + maintainers = [ lib.maintainers.matthewpi ]; }; }; @@ -458,42 +436,9 @@ let }; }; - azdavis.millet = buildVscodeMarketplaceExtension { - mktplcRef = { - name = "Millet"; - publisher = "azdavis"; - version = "0.13.5"; - hash = "sha256-sWM7N+axgu1zOGWexR4JVupVmYhZrd4cZz3pmLxRj8Q="; - }; - nativeBuildInputs = [ jq moreutils ]; - postInstall = '' - cd "$out/$installPrefix" - jq '.contributes.configuration.properties."millet.server.path".default = "${millet}/bin/millet-ls"' package.json | sponge package.json - ''; - meta = { - description = "Standard ML support for VS Code"; - downloadPage = "https://marketplace.visualstudio.com/items?itemName=azdavis.millet"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.smasher164 ]; - }; - }; + azdavis.millet = callPackage ./azdavis.millet { }; - b4dm4n.vscode-nixpkgs-fmt = buildVscodeMarketplaceExtension { - mktplcRef = { - name = "nixpkgs-fmt"; - publisher = "B4dM4n"; - version = "0.0.1"; - hash = "sha256-vz2kU36B1xkLci2QwLpl/SBEhfSWltIDJ1r7SorHcr8="; - }; - nativeBuildInputs = [ jq moreutils ]; - postInstall = '' - cd "$out/$installPrefix" - jq '.contributes.configuration.properties."nixpkgs-fmt.path".default = "${nixpkgs-fmt}/bin/nixpkgs-fmt"' package.json | sponge package.json - ''; - meta = { - license = lib.licenses.mit; - }; - }; + b4dm4n.vscode-nixpkgs-fmt = callPackage ./b4dm4n.vscode-nixpkgs-fmt { }; baccata.scaladex-search = buildVscodeMarketplaceExtension { mktplcRef = { @@ -595,24 +540,9 @@ let }; }; - betterthantomorrow.calva = buildVscodeMarketplaceExtension { - mktplcRef = { - name = "calva"; - publisher = "betterthantomorrow"; - version = "2.0.374"; - hash = "sha256-VwdHOkduSSIrcOvrcVf7K8DSp3N1u9fvbaCVDCxp+bk="; - }; - nativeBuildInputs = [ jq moreutils ]; - postInstall = '' - cd "$out/$installPrefix" - jq '.contributes.configuration[0].properties."calva.clojureLspPath".default = "${clojure-lsp}/bin/clojure-lsp"' package.json | sponge package.json - ''; - meta = { - license = lib.licenses.mit; - }; - }; + betterthantomorrow.calva = callPackage ./betterthantomorrow.calva { }; - bierner.docs-view = buildVscodeMarketplaceExtension { + bierner.docs-view = buildVscodeMarketplaceExtension { mktplcRef = { name = "docs-view"; publisher = "bierner"; @@ -823,30 +753,33 @@ let }; charliermarsh.ruff = buildVscodeMarketplaceExtension { - mktplcRef = let - sources = { - "x86_64-linux" = { - arch = "linux-x64"; - hash = "sha256-2c0tH/MlDOqeyffcV8ZCy4woogBTcf1GCuPPO8JXaWc="; - }; - "x86_64-darwin" = { - arch = "darwin-x64"; - hash = "sha256-euvGIlO7931N56R5BWKu3F9nSEoDgf+DXk7Hgl1qSUw="; - }; - "aarch64-linux" = { - arch = "linux-arm64"; - hash = "sha256-dGpIHChnfrQbxRZDuoAi4imgStyyPdxdvTQ3lknMYu0="; - }; - "aarch64-darwin" = { - arch = "darwin-arm64"; - hash = "sha256-tElX4C0I5AmpxSHMtqOsxSAUImD1tqArB5fnvhw4LFc="; + mktplcRef = + let + sources = { + "x86_64-linux" = { + arch = "linux-x64"; + hash = "sha256-2c0tH/MlDOqeyffcV8ZCy4woogBTcf1GCuPPO8JXaWc="; + }; + "x86_64-darwin" = { + arch = "darwin-x64"; + hash = "sha256-euvGIlO7931N56R5BWKu3F9nSEoDgf+DXk7Hgl1qSUw="; + }; + "aarch64-linux" = { + arch = "linux-arm64"; + hash = "sha256-dGpIHChnfrQbxRZDuoAi4imgStyyPdxdvTQ3lknMYu0="; + }; + "aarch64-darwin" = { + arch = "darwin-arm64"; + hash = "sha256-tElX4C0I5AmpxSHMtqOsxSAUImD1tqArB5fnvhw4LFc="; + }; }; - }; - in { - name = "ruff"; - publisher = "charliermarsh"; - version = "2024.4.0"; - } // sources.${stdenv.system} or (throw "Unsupported system ${stdenv.system}"); + in + { + name = "ruff"; + publisher = "charliermarsh"; + version = "2024.4.0"; + } + // sources.${stdenv.system} or (throw "Unsupported system ${stdenv.system}"); meta = { license = lib.licenses.mit; changelog = "https://marketplace.visualstudio.com/items/charliermarsh.ruff/changelog"; @@ -1005,7 +938,9 @@ let }; }; - contextmapper.context-mapper-vscode-extension = callPackage ./contextmapper.context-mapper-vscode-extension { }; + contextmapper.context-mapper-vscode-extension = + callPackage ./contextmapper.context-mapper-vscode-extension + { }; continue.continue = buildVscodeMarketplaceExtension { mktplcRef = @@ -1013,45 +948,42 @@ let sources = { "x86_64-linux" = { arch = "linux-x64"; - sha256 = "1y5g8ay9sfz7r21fhwb2wr28yng7w3f2l265ljnfkz8yv8qzqpgk"; + hash = "sha256-GQH+KKteWbCz18AlTWjLWrVpPRxumi+iDPS5n+5xy/0="; }; "x86_64-darwin" = { arch = "darwin-x64"; - sha256 = "14v9p5k9c9s9hfb1ymmkp66kmm9pvnvvljzrrs9wmajss5mlglf5"; + hash = "sha256-xBwuAtvRdOgYkfxP0JaxhAQZx5AJWymDVQ50piTx608="; }; "aarch64-linux" = { arch = "linux-arm64"; - sha256 = "1mngfy42crp8xs14s06rkyzv16ci12bq8y39miyy7wa3a343b0ii"; + hash = "sha256-oLLKnNZ+E06PbUrhj5Y0HOdHhUs/fXd+3lZXX/P2C10="; }; "aarch64-darwin" = { arch = "darwin-arm64"; - sha256 = "1gd1kr91s52kc8ldzy78cbn6gix1b8cvd6jh4sfrhq7k8yyn7g1l"; + hash = "sha256-nWuyqOIELp8MrjzCFH3yu4pWm5KsNxmx3eacgStWKG0="; }; }; in { name = "continue"; publisher = "Continue"; - version = "0.8.22"; - } // sources.${stdenv.system}; - nativeBuildInputs = [ - autoPatchelfHook - ]; - buildInputs = [ - stdenv.cc.cc.lib - ]; - postInstall = '' - cd "$out/$installPrefix" - substituteInPlace "out/extension.js" \ - --replace-fail 'await showTutorial();' '//await showTutorial();' - ''; + version = "0.8.25"; + } + // sources.${stdenv.system}; + nativeBuildInputs = [ autoPatchelfHook ]; + buildInputs = [ stdenv.cc.cc.lib ]; meta = { description = "Open-source autopilot for software development - bring the power of ChatGPT to your IDE"; downloadPage = "https://marketplace.visualstudio.com/items?itemName=Continue.continue"; homepage = "https://github.com/continuedev/continue"; license = lib.licenses.asl20; maintainers = [ lib.maintainers.raroh73 ]; - platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-darwin" + "aarch64-linux" + ]; }; }; @@ -1137,8 +1069,8 @@ let mktplcRef = { name = "vscode-markdownlint"; publisher = "DavidAnson"; - version = "0.54.0"; - hash = "sha256-BrPFFRspJIz1U08hPbLziCmRUeZv2NhRrTCx6qvhOJw="; + version = "0.55.0"; + hash = "sha256-slfHfRPcuRu+649n6kAr2bv9H6J+DvYVN/ysq1QpPQM="; }; meta = { changelog = "https://marketplace.visualstudio.com/items/DavidAnson.vscode-markdownlint/changelog"; @@ -1218,34 +1150,35 @@ let }; devsense.phptools-vscode = buildVscodeMarketplaceExtension { - mktplcRef = let - sources = { - "x86_64-linux" = { - arch = "linux-x64"; - hash = "sha256-8i5nRlzd+LnpEh9trWECxfiC1W4S0ekBab5vo18OlsA="; - }; - "x86_64-darwin" = { - arch = "darwin-x64"; - sha256 = "14crw56277rdwhigabb3nsndkfcs3yzzf7gw85jvryxviq32chgy"; - }; - "aarch64-linux" = { - arch = "linux-arm64"; - sha256 = "1j1xlvbg3nrfmdd9zm6kywwicdwdkrq0si86lcndaii8m7sj5pfp"; - }; - "aarch64-darwin" = { - arch = "darwin-arm64"; - sha256 = "0nlks6iqxkx1xlicsa8lrb1319rgznlxkv2gg7wkwgzph97ik8bi"; + mktplcRef = + let + sources = { + "x86_64-linux" = { + arch = "linux-x64"; + hash = "sha256-8i5nRlzd+LnpEh9trWECxfiC1W4S0ekBab5vo18OlsA="; + }; + "x86_64-darwin" = { + arch = "darwin-x64"; + sha256 = "14crw56277rdwhigabb3nsndkfcs3yzzf7gw85jvryxviq32chgy"; + }; + "aarch64-linux" = { + arch = "linux-arm64"; + sha256 = "1j1xlvbg3nrfmdd9zm6kywwicdwdkrq0si86lcndaii8m7sj5pfp"; + }; + "aarch64-darwin" = { + arch = "darwin-arm64"; + sha256 = "0nlks6iqxkx1xlicsa8lrb1319rgznlxkv2gg7wkwgzph97ik8bi"; + }; }; - }; - in { - name = "phptools-vscode"; - publisher = "devsense"; - version = "1.41.14332"; - } // sources.${stdenv.system}; + in + { + name = "phptools-vscode"; + publisher = "devsense"; + version = "1.41.14332"; + } + // sources.${stdenv.system}; - nativeBuildInputs = [ - autoPatchelfHook - ]; + nativeBuildInputs = [ autoPatchelfHook ]; buildInputs = [ zlib @@ -1263,7 +1196,12 @@ let homepage = "https://github.com/DEVSENSE/phptools-docs"; license = lib.licenses.unfree; maintainers = [ lib.maintainers.drupol ]; - platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-darwin" + "aarch64-linux" + ]; }; }; @@ -1291,7 +1229,9 @@ let version = "0.0.4"; sha256 = "0sa04srhqmngmw71slnrapi2xay0arj42j4gkan8i11n7bfi1xpf"; }; - meta = { license = lib.licenses.mit; }; + meta = { + license = lib.licenses.mit; + }; }; dhall.vscode-dhall-lsp-server = buildVscodeMarketplaceExtension { @@ -1301,7 +1241,9 @@ let version = "0.0.4"; sha256 = "1zin7s827bpf9yvzpxpr5n6mv0b5rhh3civsqzmj52mdq365d2js"; }; - meta = { license = lib.licenses.mit; }; + meta = { + license = lib.licenses.mit; + }; }; dhedgecock.radical-vscode = buildVscodeMarketplaceExtension { @@ -1321,6 +1263,23 @@ let }; }; + discloud.discloud = buildVscodeMarketplaceExtension { + mktplcRef = { + publisher = "discloud"; + name = "discloud"; + version = "2.21.2"; + hash = "sha256-es1WjKchxC2hIWOkIRuf5MqMjTYu6qcBgo8abCqTjFc="; + }; + meta = { + changelog = "https://marketplace.visualstudio.com/items/discloud.discloud/changelog"; + description = "A Visual Studio Code extension for hosting and managing applications on Discloud"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=discloud.discloud"; + homepage = "https://github.com/discloud/vscode-discloud"; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.astindev ]; + }; + }; + disneystreaming.smithy = buildVscodeMarketplaceExtension { mktplcRef = { publisher = "disneystreaming"; @@ -1328,7 +1287,9 @@ let version = "0.0.8"; hash = "sha256-BQPiSxiPPjdNPtIJI8L+558DVKxngPAI9sscpcJSJUI="; }; - meta = { license = lib.licenses.asl20; }; + meta = { + license = lib.licenses.asl20; + }; }; divyanshuagrawal.competitive-programming-helper = buildVscodeMarketplaceExtension { @@ -1634,27 +1595,7 @@ let }; }; - eugleo.magic-racket = buildVscodeMarketplaceExtension { - mktplcRef = { - name = "magic-racket"; - publisher = "evzen-wybitul"; - version = "0.6.4"; - hash = "sha256-Hxa4VPm3QvJICzpDyfk94fGHu1hr+YN9szVBwDB8X4U="; - }; - nativeBuildInputs = [ jq moreutils ]; - postInstall = '' - cd "$out/$installPrefix" - jq '.contributes.configuration.properties."magicRacket.general.racketPath".default = "${racket}/bin/racket"' package.json | sponge package.json - jq '.contributes.configuration.properties."magicRacket.general.racoPath".default = "${racket}/bin/raco"' package.json | sponge package.json - ''; - meta = { - changelog = "https://marketplace.visualstudio.com/items/evzen-wybitul.magic-racket/changelog"; - description = "The best coding experience for Racket in VS Code"; - downloadPage = "https://marketplace.visualstudio.com/items?itemName=evzen-wybitul.magic-racket"; - homepage = "https://github.com/Eugleo/magic-racket"; - license = lib.licenses.agpl3Only; - }; - }; + eugleo.magic-racket = callPackage ./eugleo.magic-racket { }; ExiaHuang.dictionary = buildVscodeMarketplaceExtension { mktplcRef = { @@ -1775,28 +1716,7 @@ let }; }; - foxundermoon.shell-format = buildVscodeMarketplaceExtension { - mktplcRef = { - name = "shell-format"; - publisher = "foxundermoon"; - version = "7.2.5"; - hash = "sha256-kfpRByJDcGY3W9+ELBzDOUMl06D/vyPlN//wPgQhByk="; - }; - - nativeBuildInputs = [ jq moreutils ]; - - postInstall = '' - cd "$out/$installPrefix" - jq '.contributes.configuration.properties."shellformat.path".default = "${shfmt}/bin/shfmt"' package.json | sponge package.json - ''; - - meta = { - downloadPage = "https://marketplace.visualstudio.com/items?itemName=foxundermoon.shell-format"; - homepage = "https://github.com/foxundermoon/vs-shell-format"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.dbirks ]; - }; - }; + foxundermoon.shell-format = callPackage ./foxundermoon.shell-format { }; freebroccolo.reasonml = buildVscodeMarketplaceExtension { meta = { @@ -1885,8 +1805,8 @@ let mktplcRef = { publisher = "github"; name = "copilot"; - version = "1.172.758"; - hash = "sha256-sK3IiA4mQ6Hse+UpZ81Zb5iBSREzTrs7ypsfGbJiXm4="; + version = "1.180.827"; + hash = "sha256-HA1na9FoExIiAay+tEjxWKqpG2+wq4Oww77Gl2Bhciw="; }; meta = { @@ -1902,8 +1822,8 @@ let mktplcRef = { publisher = "github"; name = "copilot-chat"; - version = "0.13.2024022301"; # compatible with vscode >= 1.87 - hash = "sha256-WdojLEdrg6iqTH/cNPEWb6VEfk+gIHh2M5GHrAURjy8="; + version = "0.14.2024032901"; # compatible with vscode 1.88.1 + hash = "sha256-+6N7IGO5j0wP5Zg8CwapHeKGWiZzc43VM4jCtqJDJIQ="; }; meta = { description = "GitHub Copilot Chat is a companion extension to GitHub Copilot that houses experimental chat features"; @@ -1923,8 +1843,7 @@ let }; meta = { description = "GitHub theme for VS Code"; - downloadPage = - "https://marketplace.visualstudio.com/items?itemName=GitHub.github-vscode-theme"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=GitHub.github-vscode-theme"; homepage = "https://github.com/primer/github-vscode-theme"; license = lib.licenses.mit; maintainers = [ lib.maintainers.hugolgst ]; @@ -1959,7 +1878,9 @@ let version = "0.78.1"; hash = "sha256-T9oW6o4ItZfR8E1qrcH3nhMvVB6ihi4kpiDz7YGHOcI="; }; - meta = { license = lib.licenses.mit; }; + meta = { + license = lib.licenses.mit; + }; }; gitlab.gitlab-workflow = buildVscodeMarketplaceExtension { @@ -1990,7 +1911,7 @@ let downloadPage = "https://marketplace.visualstudio.com/items?itemName=Gleam.gleam"; homepage = "https://github.com/gleam-lang/vscode-gleam#readme"; license = lib.licenses.asl20; - maintainers = [ lib.maintainers.msfjarvis ]; + maintainers = [ ]; }; }; @@ -2164,6 +2085,22 @@ let }; }; + hiukky.flate = buildVscodeMarketplaceExtension { + mktplcRef = { + name = "flate"; + publisher = "hiukky"; + version = "0.7.0"; + hash = "sha256-6ouYQk7mHCJdGrcutM1EXolJAT7/Sp1hi+Bu0983GKw="; + }; + meta = { + description = "Colorful dark themes for VS Code"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=hiukky.flate"; + homepage = "https://github.com/hiukky/flate"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.stunkymonkey ]; + }; + }; + hookyqr.beautify = buildVscodeMarketplaceExtension { mktplcRef = { name = "beautify"; @@ -2297,38 +2234,7 @@ let }; }; - jackmacwindows.craftos-pc = buildVscodeMarketplaceExtension { - mktplcRef = { - name = "craftos-pc"; - publisher = "jackmacwindows"; - version = "1.2.2"; - hash = "sha256-A+MNroXv0t9Mw/gr0Fyov3cXyF/GGzwRLKrIxQ2tKCE="; - }; - nativeBuildInputs = [ jq moreutils ]; - postInstall = '' - cd "$out/$installPrefix" - - jq -e ' - .contributes.configuration.properties."craftos-pc.executablePath.linux".default = - "${lib.meta.getExe craftos-pc}" | - .contributes.configuration.properties."craftos-pc.executablePath.mac".default = - "${lib.meta.getExe craftos-pc}" | - .contributes.configuration.properties."craftos-pc.executablePath.windows".default = - "${lib.meta.getExe craftos-pc}" - ' \ - < package.json \ - | sponge package.json - ''; - meta = { - changelog = "https://marketplace.visualstudio.com/items/jackmacwindows.craftos-pc/changelog"; - description = "A Visual Studio Code extension for opening a CraftOS-PC window"; - downloadPage = "https://marketplace.visualstudio.com/items?itemName=jackmacwindows.craftos-pc"; - homepage = "https://www.craftos-pc.cc/docs/extension"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ tomodachi94 ]; - platforms = craftos-pc.meta.platforms; - }; - }; + jackmacwindows.craftos-pc = callPackage ./jackmacwindows.craftos-pc { }; james-yu.latex-workshop = buildVscodeMarketplaceExtension { mktplcRef = { @@ -2447,8 +2353,8 @@ let mktplcRef = { name = "nix-ide"; publisher = "jnoortheen"; - version = "0.2.2"; - hash = "sha256-jwOM+6LnHyCkvhOTVSTUZvgx77jAg6hFCCpBqY8AxIg="; + version = "0.3.1"; + hash = "sha256-05oMDHvFM/dTXB6T3rcDK3EiNG2T0tBN9Au9b+Bk7rI="; }; meta = { changelog = "https://marketplace.visualstudio.com/items/jnoortheen.nix-ide/changelog"; @@ -2512,6 +2418,23 @@ let }; }; + k--kato.intellij-idea-keybindings = buildVscodeMarketplaceExtension { + mktplcRef = { + name = "intellij-idea-keybindings"; + publisher = "k--kato"; + version = "1.7.0"; + hash = "sha256-mIcSZANZlj5iO2oLiJBUHn08rXVhu/9SKsRhlu/hcvI="; + }; + meta = { + changelog = "https://marketplace.visualstudio.com/items/k--kato.intellij-idea-keybindings/changelog"; + description = "Visual Studio Code extension for IntelliJ IDEA keybindings"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=k--kato.intellij-idea-keybindings"; + homepage = "https://github.com/kasecato/vscode-intellij-idea-keybindings"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.t4sm5n ]; + }; + }; + kahole.magit = buildVscodeMarketplaceExtension { mktplcRef = { name = "magit"; @@ -2546,33 +2469,7 @@ let }; }; - kamadorueda.alejandra = buildVscodeMarketplaceExtension { - mktplcRef = { - name = "alejandra"; - publisher = "kamadorueda"; - version = "1.0.0"; - hash = "sha256-COlEjKhm8tK5XfOjrpVUDQ7x3JaOLiYoZ4MdwTL8ktk="; - }; - nativeBuildInputs = [ jq moreutils ]; - postInstall = '' - cd "$out/$installPrefix" - - jq -e ' - .contributes.configuration.properties."alejandra.program".default = - "${alejandra}/bin/alejandra" | - .contributes.configurationDefaults."alejandra.program" = - "${alejandra}/bin/alejandra" - ' \ - < package.json \ - | sponge package.json - ''; - meta = { - description = "The Uncompromising Nix Code Formatter"; - homepage = "https://github.com/kamadorueda/alejandra"; - license = lib.licenses.unlicense; - maintainers = [ lib.maintainers.kamadorueda ]; - }; - }; + kamadorueda.alejandra = callPackage ./kamadorueda.alejandra { }; kamikillerto.vscode-colorize = buildVscodeMarketplaceExtension { mktplcRef = { @@ -2608,9 +2505,15 @@ let hash = "sha256-IueXiN+077tiecAsVCzgYksWYTs00mZv6XJVMtRJ/PQ="; }; - nativeBuildInputs = [ jq moreutils ]; + nativeBuildInputs = [ + jq + moreutils + ]; - buildInputs = [ cfn-lint pydot ]; + buildInputs = [ + cfn-lint + pydot + ]; postInstall = '' cd "$out/$installPrefix" @@ -2797,35 +2700,7 @@ let }; }; - # Keep pkgs/by-name/ty/typst-preview/package.nix in sync with this - # extension - mgt19937.typst-preview = buildVscodeMarketplaceExtension { - mktplcRef = { - name = "typst-preview"; - publisher = "mgt19937"; - version = "0.11.4"; - hash = "sha256-GwlzFphZmP87pLys01+PWTv13imcdGjunCMH6atz9xs="; - }; - - buildInputs = [ - typst-preview - ]; - - nativeBuildInputs = [ jq moreutils ]; - - postInstall = '' - cd "$out/$installPrefix" - jq '.contributes.configuration.properties."typst-preview.executable".default = "${lib.getExe typst-preview}"' package.json | sponge package.json - ''; - - meta = { - description = "Typst Preview is an extension for previewing your Typst files in vscode instantly"; - downloadPage = "https://marketplace.visualstudio.com/items?itemName=mgt19937.typst-preview"; - homepage = "https://github.com/Enter-tainer/typst-preview-vscode"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.drupol ]; - }; - }; + mgt19937.typst-preview = callPackage ./mgt19937.typst-preview { }; mhutchie.git-graph = buildVscodeMarketplaceExtension { mktplcRef = { @@ -2867,10 +2742,9 @@ let mktplcRef = { name = "direnv"; publisher = "mkhl"; - version = "0.16.0"; - hash = "sha256-u2AFjvhm3zio1ygW9yD9ZwbywLrEssd0O7/0AtfCvMo="; + version = "0.17.0"; + hash = "sha256-9sFcfTMeLBGw2ET1snqQ6Uk//D/vcD9AVsZfnUNrWNg="; }; - meta = { description = "direnv support for Visual Studio Code"; license = lib.licenses.bsd0; @@ -2979,26 +2853,24 @@ let ms-python.python = callPackage ./ms-python.python { }; - ms-python.vscode-pylance = buildVscodeMarketplaceExtension { + ms-python.debugpy = buildVscodeMarketplaceExtension { mktplcRef = { - name = "vscode-pylance"; - publisher = "MS-python"; - version = "2023.8.50"; - hash = "sha256-xJU/j5r/Idp/0VorEfciT4SFKRBpMCv9Z0LKO/++1Gk="; + name = "debugpy"; + publisher = "ms-python"; + version = "2023.3.13121011"; + hash = "sha256-owYUEyQl2FQytApfuI97N4y9p7/dL0lu6EBk/AzSMjw="; }; - - buildInputs = [ nodePackages.pyright ]; - meta = { - changelog = "https://marketplace.visualstudio.com/items/ms-python.vscode-pylance/changelog"; - description = "A performant, feature-rich language server for Python in VS Code"; - downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance"; - homepage = "https://github.com/microsoft/pylance-release"; - license = lib.licenses.unfree; - maintainers = [ lib.maintainers.ericthemagician ]; + description = "Python debugger (debugpy) extension for VS Code"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-python.debugpy"; + homepage = "https://github.com/Microsoft/vscode-python-debugger"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.carlthome ]; }; }; + ms-python.vscode-pylance = callPackage ./ms-python.vscode-pylance { }; + ms-toolsai.datawrangler = buildVscodeMarketplaceExtension { mktplcRef = { name = "datawrangler"; @@ -3269,36 +3141,7 @@ let }; }; - myriad-dreamin.tinymist = buildVscodeMarketplaceExtension { - mktplcRef = { - name = "tinymist"; - publisher = "myriad-dreamin"; - # Please update the corresponding binary (tinymist) when updating - # this extension. - version = "0.11.3"; - hash = "sha256-b5aD4gz4j+QAEPmYaNnaputbYTPoFxVFih76HmznUP8="; - }; - - nativeBuildInputs = [ jq moreutils ]; - - buildInputs = [ - tinymist - ]; - - postInstall = '' - cd "$out/$installPrefix" - jq '.contributes.configuration.properties."tinymist.serverPath".default = "${lib.getExe tinymist}"' package.json | sponge package.json - ''; - - meta = { - changelog = "https://marketplace.visualstudio.com/items/myriad-dreamin.tinymist/changelog"; - description = "A VSCode extension for providing an integration solution for Typst"; - downloadPage = "https://marketplace.visualstudio.com/items?itemName=myriad-dreamin.tinymist"; - homepage = "https://github.com/myriad-dreamin/tinymist"; - license = lib.licenses.asl20; - maintainers = [ lib.maintainers.drupol ]; - }; - }; + myriad-dreamin.tinymist = callPackage ./myriad-dreamin.tinymist { }; naumovs.color-highlight = buildVscodeMarketplaceExtension { mktplcRef = { @@ -3383,36 +3226,7 @@ let }; }; - nvarner.typst-lsp = buildVscodeMarketplaceExtension { - mktplcRef = { - name = "typst-lsp"; - publisher = "nvarner"; - # Please update the corresponding binary (typst-lsp) when updating - # this extension. - version = "0.12.1"; - hash = "sha256-JcfFaR1wU5XwapH8vnfVy7Cb7DfUWVeoLfBV3wEtCpE="; - }; - - nativeBuildInputs = [ jq moreutils ]; - - buildInputs = [ - typst-lsp - ]; - - postInstall = '' - cd "$out/$installPrefix" - jq '.contributes.configuration.properties."typst-lsp.serverPath".default = "${lib.getExe typst-lsp}"' package.json | sponge package.json - ''; - - meta = { - changelog = "https://marketplace.visualstudio.com/items/nvarner.typst-lsp/changelog"; - description = "A VSCode extension for providing a language server for Typst"; - downloadPage = "https://marketplace.visualstudio.com/items?itemName=nvarner.typst-lsp"; - homepage = "https://github.com/nvarner/typst-lsp"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.drupol ]; - }; - }; + nvarner.typst-lsp = callPackage ./nvarner.typst-lsp { }; ocamllabs.ocaml-platform = buildVscodeMarketplaceExtension { meta = { @@ -3595,13 +3409,18 @@ let mktplcRef = { name = "java"; publisher = "redhat"; - version = "1.17.2023032504"; - hash = "sha256-ni1jzCPjwtcdJTEORn0vYzLRbQ/wseTZmrETJ8QPW58="; + version = "1.30.2024041908"; + hash = "sha256-2VaB7duzDmoQYxLHIuC9yghJvmVnWJIBfH75xq5ljPg="; }; buildInputs = [ jdk ]; meta = { + description = "Java language support for VS Code via the Eclipse JDT Language Server"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=redhat.java"; + homepage = "https://github.com/redhat-developer/vscode-java"; + changelog = "https://marketplace.visualstudio.com/items/redhat.java/changelog"; license = lib.licenses.epl20; - broken = lib.versionOlder jdk.version "11"; + maintainers = [ lib.maintainers.wackbyte ]; + broken = lib.versionOlder jdk.version "17"; }; }; @@ -3901,6 +3720,23 @@ let }; }; + signageos.signageos-vscode-sops = buildVscodeMarketplaceExtension { + mktplcRef = { + name = "signageos-vscode-sops"; + publisher = "signageos"; + version = "0.9.1"; + hash = "sha256-b1Gp+tL5/e97xMuqkz4EvN0PxI7cJOObusEkcp+qKfM="; + }; + meta = { + changelog = "https://marketplace.visualstudio.com/items/signageos.signageos-vscode-sops/changelog"; + description = "A Visual Studio Code extension for SOPS support"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=signageos.signageos-vscode-sops"; + homepage = "https://github.com/signageos/vscode-sops"; + license = lib.licenses.unfree; + maintainers = [ lib.maintainers.superherointj ]; + }; + }; + silofy.hackthebox = buildVscodeMarketplaceExtension { mktplcRef = { name = "hackthebox"; @@ -3986,6 +3822,8 @@ let meta.license = lib.licenses.lgpl3Only; }; + sourcery.sourcery = callPackage ./sourcery.sourcery { }; + spywhere.guides = buildVscodeMarketplaceExtension { mktplcRef = { name = "guides"; @@ -4274,8 +4112,8 @@ let mktplcRef = { name = "vscode-nushell-lang"; publisher = "thenuprojectcontributors"; - version = "1.1.0"; - hash = "sha256-7v4q0OEqv7q2ejHp4lph2Dsqg0GWE65pxyz9goQEm8g="; + version = "1.9.0"; + hash = "sha256-E9CK/GChd/yZT+P3ttROjL2jHtKPJ0KZzc32/nbuE4w="; }; meta.license = lib.licenses.mit; }; @@ -4324,26 +4162,7 @@ let }; }; - timonwong.shellcheck = buildVscodeMarketplaceExtension { - mktplcRef = { - name = "shellcheck"; - publisher = "timonwong"; - version = "0.37.0"; - sha256 = "1d0blynn6c2hz4y9fk7b5wsa3x168gxyycr5d05zqp0rx520m5wc"; - }; - nativeBuildInputs = [ jq moreutils ]; - postInstall = '' - cd "$out/$installPrefix" - jq '.contributes.configuration.properties."shellcheck.executablePath".default = "${shellcheck}/bin/shellcheck"' package.json | sponge package.json - ''; - meta = { - description = "Integrates ShellCheck into VS Code, a linter for Shell scripts"; - downloadPage = "https://marketplace.visualstudio.com/items?itemName=timonwong.shellcheck"; - homepage = "https://github.com/vscode-shellcheck/vscode-shellcheck"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.raroh73 ]; - }; - }; + timonwong.shellcheck = callPackage ./timonwong.shellcheck { }; tobiasalthoff.atom-material-theme = buildVscodeMarketplaceExtension { mktplcRef = { @@ -4453,7 +4272,11 @@ let downloadPage = "https://marketplace.visualstudio.com/items?itemName=uiua-lang.uiua-vscode"; homepage = "https://github.com/uiua-lang/uiua-vscode"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ tomasajt wackbyte defelo ]; + maintainers = with lib.maintainers; [ + tomasajt + wackbyte + defelo + ]; }; }; @@ -4495,12 +4318,12 @@ let mktplcRef = { name = "errorlens"; publisher = "usernamehw"; - version = "3.14.0"; - sha256 = "0k70f5f4hcv3jl3a04736ml8amx8w7wb3mb8f6l5gngnvq9fj528"; + version = "3.16.0"; + hash = "sha256-Y3M/A5rYLkxQPRIZ0BUjhlkvixDae+wIRUsBn4tREFw="; }; meta = { changelog = "https://marketplace.visualstudio.com/items/usernamehw.errorlens/changelog"; - description = "Improve highlighting of errors, warnings and other language diagnostics."; + description = "A Visual Studio Code extension that improves highlighting of errors, warnings and other language diagnostics"; downloadPage = "https://marketplace.visualstudio.com/items?itemName=usernamehw.errorlens"; homepage = "https://github.com/usernamehw/vscode-error-lens"; license = lib.licenses.mit; @@ -4523,7 +4346,10 @@ let sha256 = "1nlrijjwc35n1xgb5lgnr4yvlgfcxd0vdj93ip8lv2xi8x1ni5f6"; }; - nativeBuildInputs = [ jq moreutils ]; + nativeBuildInputs = [ + jq + moreutils + ]; buildInputs = [ jdk ]; @@ -4967,7 +4793,10 @@ let version = "0.5.4"; sha256 = "08dfl5h1k6s542qw5qx2czm1wb37ck9w2vpjz44kp2az352nmksb"; }; - nativeBuildInputs = [ jq moreutils ]; + nativeBuildInputs = [ + jq + moreutils + ]; postInstall = '' cd "$out/$installPrefix" jq '.contributes.configuration.properties.protoc.properties.path.default = "${protobuf}/bin/protoc"' package.json | sponge package.json diff --git a/pkgs/applications/editors/vscode/extensions/eugleo.magic-racket/default.nix b/pkgs/applications/editors/vscode/extensions/eugleo.magic-racket/default.nix new file mode 100644 index 0000000000000..81b0520a53d71 --- /dev/null +++ b/pkgs/applications/editors/vscode/extensions/eugleo.magic-racket/default.nix @@ -0,0 +1,32 @@ +{ + lib, + jq, + moreutils, + racket, + vscode-utils, +}: + +vscode-utils.buildVscodeMarketplaceExtension { + mktplcRef = { + name = "magic-racket"; + publisher = "evzen-wybitul"; + version = "0.6.4"; + hash = "sha256-Hxa4VPm3QvJICzpDyfk94fGHu1hr+YN9szVBwDB8X4U="; + }; + nativeBuildInputs = [ + jq + moreutils + ]; + postInstall = '' + cd "$out/$installPrefix" + jq '.contributes.configuration.properties."magicRacket.general.racketPath".default = "${racket}/bin/racket"' package.json | sponge package.json + jq '.contributes.configuration.properties."magicRacket.general.racoPath".default = "${racket}/bin/raco"' package.json | sponge package.json + ''; + meta = { + changelog = "https://marketplace.visualstudio.com/items/evzen-wybitul.magic-racket/changelog"; + description = "The best coding experience for Racket in VS Code"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=evzen-wybitul.magic-racket"; + homepage = "https://github.com/Eugleo/magic-racket"; + license = lib.licenses.agpl3Only; + }; +} diff --git a/pkgs/applications/editors/vscode/extensions/foxundermoon.shell-format/default.nix b/pkgs/applications/editors/vscode/extensions/foxundermoon.shell-format/default.nix new file mode 100644 index 0000000000000..51824f34ff6e9 --- /dev/null +++ b/pkgs/applications/editors/vscode/extensions/foxundermoon.shell-format/default.nix @@ -0,0 +1,33 @@ +{ + jq, + lib, + moreutils, + shfmt, + vscode-utils, +}: + +vscode-utils.buildVscodeMarketplaceExtension { + mktplcRef = { + name = "shell-format"; + publisher = "foxundermoon"; + version = "7.2.5"; + hash = "sha256-kfpRByJDcGY3W9+ELBzDOUMl06D/vyPlN//wPgQhByk="; + }; + + nativeBuildInputs = [ + jq + moreutils + ]; + + postInstall = '' + cd "$out/$installPrefix" + jq '.contributes.configuration.properties."shellformat.path".default = "${shfmt}/bin/shfmt"' package.json | sponge package.json + ''; + + meta = { + downloadPage = "https://marketplace.visualstudio.com/items?itemName=foxundermoon.shell-format"; + homepage = "https://github.com/foxundermoon/vs-shell-format"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.dbirks ]; + }; +} diff --git a/pkgs/applications/editors/vscode/extensions/jackmacwindows.craftos-pc/default.nix b/pkgs/applications/editors/vscode/extensions/jackmacwindows.craftos-pc/default.nix new file mode 100644 index 0000000000000..005f78f4f4ae9 --- /dev/null +++ b/pkgs/applications/editors/vscode/extensions/jackmacwindows.craftos-pc/default.nix @@ -0,0 +1,43 @@ +{ + vscode-utils, + craftos-pc, + jq, + lib, + moreutils, +}: + +vscode-utils.buildVscodeMarketplaceExtension { + mktplcRef = { + name = "craftos-pc"; + publisher = "jackmacwindows"; + version = "1.2.2"; + hash = "sha256-A+MNroXv0t9Mw/gr0Fyov3cXyF/GGzwRLKrIxQ2tKCE="; + }; + nativeBuildInputs = [ + jq + moreutils + ]; + postInstall = '' + cd "$out/$installPrefix" + + jq -e ' + .contributes.configuration.properties."craftos-pc.executablePath.linux".default = + "${lib.meta.getExe craftos-pc}" | + .contributes.configuration.properties."craftos-pc.executablePath.mac".default = + "${lib.meta.getExe craftos-pc}" | + .contributes.configuration.properties."craftos-pc.executablePath.windows".default = + "${lib.meta.getExe craftos-pc}" + ' \ + < package.json \ + | sponge package.json + ''; + meta = { + changelog = "https://marketplace.visualstudio.com/items/jackmacwindows.craftos-pc/changelog"; + description = "A Visual Studio Code extension for opening a CraftOS-PC window"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=jackmacwindows.craftos-pc"; + homepage = "https://www.craftos-pc.cc/docs/extension"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ tomodachi94 ]; + platforms = craftos-pc.meta.platforms; + }; +} diff --git a/pkgs/applications/editors/vscode/extensions/kamadorueda.alejandra/default.nix b/pkgs/applications/editors/vscode/extensions/kamadorueda.alejandra/default.nix new file mode 100644 index 0000000000000..a3658346147e3 --- /dev/null +++ b/pkgs/applications/editors/vscode/extensions/kamadorueda.alejandra/default.nix @@ -0,0 +1,38 @@ +{ + alejandra, + jq, + lib, + moreutils, + vscode-utils, +}: + +vscode-utils.buildVscodeMarketplaceExtension { + mktplcRef = { + name = "alejandra"; + publisher = "kamadorueda"; + version = "1.0.0"; + hash = "sha256-COlEjKhm8tK5XfOjrpVUDQ7x3JaOLiYoZ4MdwTL8ktk="; + }; + nativeBuildInputs = [ + jq + moreutils + ]; + postInstall = '' + cd "$out/$installPrefix" + + jq -e ' + .contributes.configuration.properties."alejandra.program".default = + "${alejandra}/bin/alejandra" | + .contributes.configurationDefaults."alejandra.program" = + "${alejandra}/bin/alejandra" + ' \ + < package.json \ + | sponge package.json + ''; + meta = { + description = "The Uncompromising Nix Code Formatter"; + homepage = "https://github.com/kamadorueda/alejandra"; + license = lib.licenses.unlicense; + maintainers = [ lib.maintainers.kamadorueda ]; + }; +} diff --git a/pkgs/applications/editors/vscode/extensions/mgt19937.typst-preview/default.nix b/pkgs/applications/editors/vscode/extensions/mgt19937.typst-preview/default.nix new file mode 100644 index 0000000000000..156e35ab06a01 --- /dev/null +++ b/pkgs/applications/editors/vscode/extensions/mgt19937.typst-preview/default.nix @@ -0,0 +1,38 @@ +# Keep pkgs/by-name/ty/typst-preview/package.nix in sync with this extension + +{ + vscode-utils, + lib, + jq, + moreutils, + typst-preview, +}: + +vscode-utils.buildVscodeMarketplaceExtension { + mktplcRef = { + name = "typst-preview"; + publisher = "mgt19937"; + version = "0.11.4"; + hash = "sha256-GwlzFphZmP87pLys01+PWTv13imcdGjunCMH6atz9xs="; + }; + + buildInputs = [ typst-preview ]; + + nativeBuildInputs = [ + jq + moreutils + ]; + + postInstall = '' + cd "$out/$installPrefix" + jq '.contributes.configuration.properties."typst-preview.executable".default = "${lib.getExe typst-preview}"' package.json | sponge package.json + ''; + + meta = { + description = "Typst Preview is an extension for previewing your Typst files in vscode instantly"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=mgt19937.typst-preview"; + homepage = "https://github.com/Enter-tainer/typst-preview-vscode"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.drupol ]; + }; +} diff --git a/pkgs/applications/editors/vscode/extensions/ms-python.vscode-pylance/default.nix b/pkgs/applications/editors/vscode/extensions/ms-python.vscode-pylance/default.nix new file mode 100644 index 0000000000000..9b7f63edc74a2 --- /dev/null +++ b/pkgs/applications/editors/vscode/extensions/ms-python.vscode-pylance/default.nix @@ -0,0 +1,25 @@ +{ + lib, + pyright, + vscode-utils, +}: + +vscode-utils.buildVscodeMarketplaceExtension { + mktplcRef = { + name = "vscode-pylance"; + publisher = "MS-python"; + version = "2024.4.1"; + hash = "sha256-huKu6yefGXOay5Az4vksopRt8heoLxvKUrg/J1NlQFo="; + }; + + buildInputs = [ pyright ]; + + meta = { + changelog = "https://marketplace.visualstudio.com/items/ms-python.vscode-pylance/changelog"; + description = "A performant, feature-rich language server for Python in VS Code"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance"; + homepage = "https://github.com/microsoft/pylance-release"; + license = lib.licenses.unfree; + maintainers = [ lib.maintainers.ericthemagician ]; + }; +} diff --git a/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/default.nix b/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/default.nix index bd1d6bf66e755..e3af2a04f0fd3 100644 --- a/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/default.nix +++ b/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/default.nix @@ -32,11 +32,11 @@ let gdbDefaultsTo = if gdbUseFixed then "${gdb}/bin/gdb" else "gdb"; supported = { x86_64-linux = { - hash = "sha256-4mKCBqUCOndKEfsJqTIsfwEt+0CZI8QAhBj3Y4+wKlg="; + hash = "sha256-p8WFmkQKdzXF0FTWHabyeFMkwXa2RkDRM9SvvkBIOLY="; arch = "linux-x64"; }; aarch64-linux = { - hash = "sha256-Kjl8mEpayA1xMHEAMJ5k3Ctk3l48KlUBU5w3dL4pGWM="; + hash = "sha256-HISE8/M9IpeI8iX0mmw9owExnpgiwpesE7YG/+QFYgc="; arch = "linux-arm64"; }; }; @@ -47,7 +47,7 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = base // { name = "cpptools"; publisher = "ms-vscode"; - version = "1.17.3"; + version = "1.20.2"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix b/pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix new file mode 100644 index 0000000000000..3a6d84b24b8a6 --- /dev/null +++ b/pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix @@ -0,0 +1,39 @@ +{ + jq, + lib, + moreutils, + tinymist, + vscode-utils, +}: + +vscode-utils.buildVscodeMarketplaceExtension { + mktplcRef = { + name = "tinymist"; + publisher = "myriad-dreamin"; + # Please update the corresponding binary (tinymist) when updating + # this extension. + version = "0.11.6"; + hash = "sha256-qS+QY9RmJYXWRcohMcorF3SxoniBPE8SFcg0Ka1vvOE="; + }; + + nativeBuildInputs = [ + jq + moreutils + ]; + + buildInputs = [ tinymist ]; + + postInstall = '' + cd "$out/$installPrefix" + jq '.contributes.configuration.properties."tinymist.serverPath".default = "${lib.getExe tinymist}"' package.json | sponge package.json + ''; + + meta = { + changelog = "https://marketplace.visualstudio.com/items/myriad-dreamin.tinymist/changelog"; + description = "A VSCode extension for providing an integration solution for Typst"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=myriad-dreamin.tinymist"; + homepage = "https://github.com/myriad-dreamin/tinymist"; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.drupol ]; + }; +} diff --git a/pkgs/applications/editors/vscode/extensions/nvarner.typst-lsp/default.nix b/pkgs/applications/editors/vscode/extensions/nvarner.typst-lsp/default.nix new file mode 100644 index 0000000000000..22344e3b2b2b9 --- /dev/null +++ b/pkgs/applications/editors/vscode/extensions/nvarner.typst-lsp/default.nix @@ -0,0 +1,39 @@ +{ + jq, + lib, + moreutils, + typst-lsp, + vscode-utils, +}: + +vscode-utils.buildVscodeMarketplaceExtension { + mktplcRef = { + name = "typst-lsp"; + publisher = "nvarner"; + # Please update the corresponding binary (typst-lsp) when updating + # this extension. + version = "0.13.0"; + hash = "sha256-xiFUJymZOTEqlGvCHvLiI0pVg7NLgIXhZ7x8yx+a5mY="; + }; + + nativeBuildInputs = [ + jq + moreutils + ]; + + buildInputs = [ typst-lsp ]; + + postInstall = '' + cd "$out/$installPrefix" + jq '.contributes.configuration.properties."typst-lsp.serverPath".default = "${lib.getExe typst-lsp}"' package.json | sponge package.json + ''; + + meta = { + changelog = "https://marketplace.visualstudio.com/items/nvarner.typst-lsp/changelog"; + description = "A VSCode extension for providing a language server for Typst"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=nvarner.typst-lsp"; + homepage = "https://github.com/nvarner/typst-lsp"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.drupol ]; + }; +} diff --git a/pkgs/applications/editors/vscode/extensions/sourcery.sourcery/default.nix b/pkgs/applications/editors/vscode/extensions/sourcery.sourcery/default.nix new file mode 100644 index 0000000000000..143ce42045612 --- /dev/null +++ b/pkgs/applications/editors/vscode/extensions/sourcery.sourcery/default.nix @@ -0,0 +1,42 @@ +{ + lib, + stdenv, + vscode-utils, + autoPatchelfHook, + libxcrypt-legacy, +}: + +vscode-utils.buildVscodeMarketplaceExtension { + mktplcRef = { + name = "sourcery"; + publisher = "sourcery"; + version = "1.16.0"; + hash = "sha256-SHgS2C+ElTJW4v90Wg0QcsSL2FoSz+SxZQpgq2J4JiU="; + }; + + postPatch = '' + pushd sourcery_binaries/install + rm -r win ${if stdenv.isLinux then "mac" else "linux"} + popd + ''; + + nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ]; + + buildInputs = [ + stdenv.cc.cc.lib + libxcrypt-legacy + ]; + + meta = { + changelog = "https://sourcery.ai/changelog/"; + description = "A VSCode extension for Sourcery, an AI-powered code review and pair programming tool for Python"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=sourcery.sourcery"; + homepage = "https://github.com/sourcery-ai/sourcery-vscode"; + license = lib.licenses.unfree; + maintainers = with lib.maintainers; [ tomasajt ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + ]; + }; +} diff --git a/pkgs/applications/editors/vscode/extensions/timonwong.shellcheck/default.nix b/pkgs/applications/editors/vscode/extensions/timonwong.shellcheck/default.nix new file mode 100644 index 0000000000000..469d04dbebb4b --- /dev/null +++ b/pkgs/applications/editors/vscode/extensions/timonwong.shellcheck/default.nix @@ -0,0 +1,31 @@ +{ + jq, + lib, + moreutils, + shellcheck, + vscode-utils, +}: + +vscode-utils.buildVscodeMarketplaceExtension { + mktplcRef = { + name = "shellcheck"; + publisher = "timonwong"; + version = "0.37.1"; + sha256 = "sha256-JSS0GY76+C5xmkQ0PNjt2Nu/uTUkfiUqmPL51r64tl0="; + }; + nativeBuildInputs = [ + jq + moreutils + ]; + postInstall = '' + cd "$out/$installPrefix" + jq '.contributes.configuration.properties."shellcheck.executablePath".default = "${shellcheck}/bin/shellcheck"' package.json | sponge package.json + ''; + meta = { + description = "Integrates ShellCheck into VS Code, a linter for Shell scripts"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=timonwong.shellcheck"; + homepage = "https://github.com/vscode-shellcheck/vscode-shellcheck"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.raroh73 ]; + }; +} diff --git a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix index ad7fd06cb020c..b6e47094d57a9 100644 --- a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix +++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix @@ -27,8 +27,14 @@ let cargoHash = "sha256-e/Jki/4pCs0qzaBVR4iiUhdBFmWlTZYREQkuFSoWYFo="; + buildInputs = lib.optionals stdenv.isDarwin [ lldb ]; + nativeBuildInputs = [ makeWrapper ]; + env = lib.optionalAttrs stdenv.isDarwin { + NIX_LDFLAGS = "-llldb -lc++abi"; + }; + buildAndTestSubdir = "adapter"; buildFeatures = [ "weak-linkage" ]; @@ -89,6 +95,15 @@ let ''; }; + # debugservers on macOS require the 'com.apple.security.cs.debugger' + # entitlement which nixpkgs' lldb-server does not yet provide; see + # <https://github.com/NixOS/nixpkgs/pull/38624> for details + lldbServer = + if stdenv.isDarwin then + "/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Versions/A/Resources/debugserver" + else + "${lldb.out}/bin/lldb-server"; + in stdenv.mkDerivation { pname = "vscode-extension-${publisher}-${pname}"; inherit src version vscodeExtUniqueId vscodeExtPublisher vscodeExtName; @@ -107,6 +122,9 @@ in stdenv.mkDerivation { postConfigure = '' cp -r ${nodeDeps}/lib/node_modules . + '' + lib.optionalString stdenv.isDarwin '' + export HOME="$TMPDIR/home" + mkdir $HOME ''; cmakeFlags = [ @@ -129,7 +147,8 @@ in stdenv.mkDerivation { mv -t $ext vsix-extracted/extension/* cp -t $ext/ -r ${adapter}/share/* wrapProgram $ext/adapter/codelldb \ - --set-default LLDB_DEBUGSERVER_PATH "${lldb.out}/bin/lldb-server" + --prefix LD_LIBRARY_PATH : "$ext/lldb/lib" \ + --set-default LLDB_DEBUGSERVER_PATH "${lldbServer}" # Mark that all components are installed. touch $ext/platform.ok |