From fe5953dd136f837fd354a0c55467e4af1cc93e3d Mon Sep 17 00:00:00 2001 From: xyangst Date: Tue, 2 Jan 2024 09:38:39 +0100 Subject: [PATCH] vscode: add extrapackages option adds support for a extraPackages option for lsps based on #4586 --- modules/programs/vscode.nix | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/modules/programs/vscode.nix b/modules/programs/vscode.nix index 5ea6be8b..e87e649f 100644 --- a/modules/programs/vscode.nix +++ b/modules/programs/vscode.nix @@ -72,6 +72,13 @@ in { ''; }; + extraPackages = mkOption { + type = with types; listOf package; + default = [ ]; + example = literalExpression "[ pkgs.nil ]"; + description = "Extra packages available to hx."; + }; + enableUpdateCheck = mkOption { type = types.bool; default = true; @@ -221,7 +228,22 @@ in { }; config = mkIf cfg.enable { - home.packages = [ cfg.package ]; + home.packages = if cfg.extraPackages != [ ] then + [ + (pkgs.symlinkJoin { + name = + "${lib.getName cfg.package}-wrapped-${lib.getVersion cfg.package}"; + paths = [ cfg.package ]; + preferLocalBuild = true; + nativeBuildInputs = [ pkgs.makeWrapper ]; + postBuild = '' + wrapProgram $out/bin/code \ + --prefix PATH : ${lib.makeBinPath cfg.extraPackages} + ''; + }) + ] + else + [ cfg.package ]; home.file = mkMerge [ (mkIf (mergedUserSettings != { }) {