summaryrefslogtreecommitdiff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/default.nix2
-rw-r--r--pkgs/youcompleteme.nix32
2 files changed, 34 insertions, 0 deletions
diff --git a/pkgs/default.nix b/pkgs/default.nix
index 5df7bc8..07ca87c 100644
--- a/pkgs/default.nix
+++ b/pkgs/default.nix
@@ -2,4 +2,6 @@
{
common = with pkgs; lib.recurseIntoAttrs (callPackage ./common.nix { });
+
+ youcompleteme = pkgs.callPackage ./youcompleteme.nix { };
}
diff --git a/pkgs/youcompleteme.nix b/pkgs/youcompleteme.nix
new file mode 100644
index 0000000..190e4b5
--- /dev/null
+++ b/pkgs/youcompleteme.nix
@@ -0,0 +1,32 @@
+{
+ ycmd,
+ vimPlugins,
+ gopls,
+ ...
+}:
+
+let
+ ycmd-go = ycmd.overrideAttrs (
+ final: prev: {
+ pname = prev.pname + "-go";
+
+ installPhase =
+ prev.installPhase
+ + ''
+ TARGET=$out/lib/ycmd/third_party/go/bin
+ mkdir -p $TARGET
+ ln -sf ${gopls}/bin/gopls $TARGET
+ '';
+ }
+ );
+in
+vimPlugins.YouCompleteMe.overrideAttrs (
+ final: prev: {
+ buildPhase =
+ prev.buildPhase
+ + ''
+ rm third_party/ycmd
+ ln -s ${ycmd-go}/lib/ycmd third_party
+ '';
+ }
+)