mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 00:25:42 +02:00
plugins: Fetch the plugin sources from flake inputs (#247)
This commit is contained in:
parent
b3ca52110f
commit
416c719f47
5 changed files with 310 additions and 72 deletions
35
flake.nix
35
flake.nix
|
@ -75,7 +75,10 @@
|
|||
pre-commit-check = pre-commit-hooks.lib.${system}.run {
|
||||
src = ./.;
|
||||
hooks = {
|
||||
alejandra.enable = true;
|
||||
alejandra = {
|
||||
enable = true;
|
||||
excludes = ["plugins/_sources"];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -114,6 +117,8 @@
|
|||
'';
|
||||
})
|
||||
{};
|
||||
# Used to updates plugins, launch 'nix run .#nvfetcher' in the 'plugins' directory
|
||||
nvfetcher = pkgs.nvfetcher;
|
||||
};
|
||||
legacyPackages = rec {
|
||||
makeNixvimWithModule = import ./wrappers/standalone.nix pkgs modules;
|
||||
|
@ -124,7 +129,33 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
formatter = pkgs.alejandra;
|
||||
formatter = let
|
||||
# We need to exclude the plugins/_sources/* files as they are autogenerated
|
||||
# nix formatter only takes a derivation so we need to make a proxy that passes
|
||||
# the correct flags
|
||||
excludeWrapper = {
|
||||
stdenv,
|
||||
alejandra,
|
||||
writeShellScript,
|
||||
...
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
pname = "alejandra-excludes";
|
||||
version = alejandra.version;
|
||||
|
||||
dontUnpack = true;
|
||||
dontBuild = true;
|
||||
installPhase = let
|
||||
script = writeShellScript "alejandra-excludes.sh" ''
|
||||
${alejandra}/bin/alejandra --exclude ./plugins/_sources "$@"
|
||||
'';
|
||||
in ''
|
||||
mkdir -p $out/bin
|
||||
cp ${script} $out/bin/alejandra-excludes
|
||||
'';
|
||||
};
|
||||
in
|
||||
pkgs.callPackage excludeWrapper {};
|
||||
|
||||
lib = import ./lib {
|
||||
inherit pkgs;
|
||||
|
|
142
plugins/_sources/generated.json
Normal file
142
plugins/_sources/generated.json
Normal file
|
@ -0,0 +1,142 @@
|
|||
{
|
||||
"coq-artifacts": {
|
||||
"cargoLocks": null,
|
||||
"date": "2023-03-12",
|
||||
"extract": null,
|
||||
"name": "coq-artifacts",
|
||||
"passthru": null,
|
||||
"pinned": false,
|
||||
"src": {
|
||||
"deepClone": false,
|
||||
"fetchSubmodules": false,
|
||||
"leaveDotGit": false,
|
||||
"name": null,
|
||||
"owner": "ms-jpq",
|
||||
"repo": "coq.artifacts",
|
||||
"rev": "ee1814e2183bd424ca5528f82f3d6ce8f64e6f90",
|
||||
"sha256": "sha256-e+w5tLuer/4f0oImlIgxmI4Ke9h6x0PQ8+nVJDihkGQ=",
|
||||
"type": "github"
|
||||
},
|
||||
"version": "ee1814e2183bd424ca5528f82f3d6ce8f64e6f90"
|
||||
},
|
||||
"coq-nvim": {
|
||||
"cargoLocks": null,
|
||||
"date": "2023-03-12",
|
||||
"extract": null,
|
||||
"name": "coq-nvim",
|
||||
"passthru": null,
|
||||
"pinned": false,
|
||||
"src": {
|
||||
"deepClone": false,
|
||||
"fetchSubmodules": false,
|
||||
"leaveDotGit": false,
|
||||
"name": null,
|
||||
"owner": "ms-jpq",
|
||||
"repo": "coq_nvim",
|
||||
"rev": "4b4b93dbbfc871a3d32a244a4276ee06696c21bb",
|
||||
"sha256": "sha256-OXhLs7fO+qlOPyDc8AOA+bkbj9OzMZO8CFgfE/Q1cro=",
|
||||
"type": "github"
|
||||
},
|
||||
"version": "4b4b93dbbfc871a3d32a244a4276ee06696c21bb"
|
||||
},
|
||||
"intellitab-nvim": {
|
||||
"cargoLocks": null,
|
||||
"date": "2021-11-13",
|
||||
"extract": null,
|
||||
"name": "intellitab-nvim",
|
||||
"passthru": null,
|
||||
"pinned": false,
|
||||
"src": {
|
||||
"deepClone": false,
|
||||
"fetchSubmodules": false,
|
||||
"leaveDotGit": false,
|
||||
"name": null,
|
||||
"owner": "pta2002",
|
||||
"repo": "intellitab.nvim",
|
||||
"rev": "a6c1a505865f6131866d609c52440306e9914b16",
|
||||
"sha256": "sha256-z5G7v2OttQs5B/uqWdxYtW6wPnVPARjQYidKLYkhvqY=",
|
||||
"type": "github"
|
||||
},
|
||||
"version": "a6c1a505865f6131866d609c52440306e9914b16"
|
||||
},
|
||||
"magma-nvim": {
|
||||
"cargoLocks": null,
|
||||
"date": "2023-03-13",
|
||||
"extract": null,
|
||||
"name": "magma-nvim",
|
||||
"passthru": null,
|
||||
"pinned": false,
|
||||
"src": {
|
||||
"deepClone": false,
|
||||
"fetchSubmodules": false,
|
||||
"leaveDotGit": false,
|
||||
"name": null,
|
||||
"owner": "WhiteBlackGoose",
|
||||
"repo": "magma-nvim-goose",
|
||||
"rev": "5d916c39c1852e09fcd39eab174b8e5bbdb25f8f",
|
||||
"sha256": "sha256-Sq7J43AYvsfUdFXELzEwBNTpnOt/F43/de+2zwBspoE=",
|
||||
"type": "github"
|
||||
},
|
||||
"version": "5d916c39c1852e09fcd39eab174b8e5bbdb25f8f"
|
||||
},
|
||||
"mark-radar": {
|
||||
"cargoLocks": null,
|
||||
"date": "2021-06-22",
|
||||
"extract": null,
|
||||
"name": "mark-radar",
|
||||
"passthru": null,
|
||||
"pinned": false,
|
||||
"src": {
|
||||
"deepClone": false,
|
||||
"fetchSubmodules": false,
|
||||
"leaveDotGit": false,
|
||||
"name": null,
|
||||
"owner": "winston0410",
|
||||
"repo": "mark-radar.nvim",
|
||||
"rev": "d7fb84a670795a5b36b18a5b59afd1d3865cbec7",
|
||||
"sha256": "sha256-6WfEFLFQnDpQ2X0NRSa25ALvm/SxiFoW4PAzBA8TdPg=",
|
||||
"type": "github"
|
||||
},
|
||||
"version": "d7fb84a670795a5b36b18a5b59afd1d3865cbec7"
|
||||
},
|
||||
"pynvim_pp": {
|
||||
"cargoLocks": null,
|
||||
"date": "2023-03-12",
|
||||
"extract": null,
|
||||
"name": "pynvim_pp",
|
||||
"passthru": null,
|
||||
"pinned": false,
|
||||
"src": {
|
||||
"deepClone": false,
|
||||
"fetchSubmodules": false,
|
||||
"leaveDotGit": false,
|
||||
"name": null,
|
||||
"owner": "ms-jpq",
|
||||
"repo": "pynvim_pp",
|
||||
"rev": "40db0426f171d413dcc976b17c8eff0127664f23",
|
||||
"sha256": "sha256-AtsoRJQcO5jDNlSydVnqcN7f4xURmH6bGFPpjsZ9Yrg=",
|
||||
"type": "github"
|
||||
},
|
||||
"version": "40db0426f171d413dcc976b17c8eff0127664f23"
|
||||
},
|
||||
"std2": {
|
||||
"cargoLocks": null,
|
||||
"date": "2023-03-12",
|
||||
"extract": null,
|
||||
"name": "std2",
|
||||
"passthru": null,
|
||||
"pinned": false,
|
||||
"src": {
|
||||
"deepClone": false,
|
||||
"fetchSubmodules": false,
|
||||
"leaveDotGit": false,
|
||||
"name": null,
|
||||
"owner": "ms-jpq",
|
||||
"repo": "std2",
|
||||
"rev": "43635e036486296776b4ef5ac498f742ad25a691",
|
||||
"sha256": "sha256-oWVaw7v1Sl7DkqIJOm8wEReID9MTD3XFOdpyQDXRa04=",
|
||||
"type": "github"
|
||||
},
|
||||
"version": "43635e036486296776b4ef5ac498f742ad25a691"
|
||||
}
|
||||
}
|
88
plugins/_sources/generated.nix
Normal file
88
plugins/_sources/generated.nix
Normal file
|
@ -0,0 +1,88 @@
|
|||
# This file was generated by nvfetcher, please do not modify it manually.
|
||||
{ fetchgit, fetchurl, fetchFromGitHub, dockerTools }:
|
||||
{
|
||||
coq-artifacts = {
|
||||
pname = "coq-artifacts";
|
||||
version = "ee1814e2183bd424ca5528f82f3d6ce8f64e6f90";
|
||||
src = fetchFromGitHub ({
|
||||
owner = "ms-jpq";
|
||||
repo = "coq.artifacts";
|
||||
rev = "ee1814e2183bd424ca5528f82f3d6ce8f64e6f90";
|
||||
fetchSubmodules = false;
|
||||
sha256 = "sha256-e+w5tLuer/4f0oImlIgxmI4Ke9h6x0PQ8+nVJDihkGQ=";
|
||||
});
|
||||
date = "2023-03-12";
|
||||
};
|
||||
coq-nvim = {
|
||||
pname = "coq-nvim";
|
||||
version = "4b4b93dbbfc871a3d32a244a4276ee06696c21bb";
|
||||
src = fetchFromGitHub ({
|
||||
owner = "ms-jpq";
|
||||
repo = "coq_nvim";
|
||||
rev = "4b4b93dbbfc871a3d32a244a4276ee06696c21bb";
|
||||
fetchSubmodules = false;
|
||||
sha256 = "sha256-OXhLs7fO+qlOPyDc8AOA+bkbj9OzMZO8CFgfE/Q1cro=";
|
||||
});
|
||||
date = "2023-03-12";
|
||||
};
|
||||
intellitab-nvim = {
|
||||
pname = "intellitab-nvim";
|
||||
version = "a6c1a505865f6131866d609c52440306e9914b16";
|
||||
src = fetchFromGitHub ({
|
||||
owner = "pta2002";
|
||||
repo = "intellitab.nvim";
|
||||
rev = "a6c1a505865f6131866d609c52440306e9914b16";
|
||||
fetchSubmodules = false;
|
||||
sha256 = "sha256-z5G7v2OttQs5B/uqWdxYtW6wPnVPARjQYidKLYkhvqY=";
|
||||
});
|
||||
date = "2021-11-13";
|
||||
};
|
||||
magma-nvim = {
|
||||
pname = "magma-nvim";
|
||||
version = "5d916c39c1852e09fcd39eab174b8e5bbdb25f8f";
|
||||
src = fetchFromGitHub ({
|
||||
owner = "WhiteBlackGoose";
|
||||
repo = "magma-nvim-goose";
|
||||
rev = "5d916c39c1852e09fcd39eab174b8e5bbdb25f8f";
|
||||
fetchSubmodules = false;
|
||||
sha256 = "sha256-Sq7J43AYvsfUdFXELzEwBNTpnOt/F43/de+2zwBspoE=";
|
||||
});
|
||||
date = "2023-03-13";
|
||||
};
|
||||
mark-radar = {
|
||||
pname = "mark-radar";
|
||||
version = "d7fb84a670795a5b36b18a5b59afd1d3865cbec7";
|
||||
src = fetchFromGitHub ({
|
||||
owner = "winston0410";
|
||||
repo = "mark-radar.nvim";
|
||||
rev = "d7fb84a670795a5b36b18a5b59afd1d3865cbec7";
|
||||
fetchSubmodules = false;
|
||||
sha256 = "sha256-6WfEFLFQnDpQ2X0NRSa25ALvm/SxiFoW4PAzBA8TdPg=";
|
||||
});
|
||||
date = "2021-06-22";
|
||||
};
|
||||
pynvim_pp = {
|
||||
pname = "pynvim_pp";
|
||||
version = "40db0426f171d413dcc976b17c8eff0127664f23";
|
||||
src = fetchFromGitHub ({
|
||||
owner = "ms-jpq";
|
||||
repo = "pynvim_pp";
|
||||
rev = "40db0426f171d413dcc976b17c8eff0127664f23";
|
||||
fetchSubmodules = false;
|
||||
sha256 = "sha256-AtsoRJQcO5jDNlSydVnqcN7f4xURmH6bGFPpjsZ9Yrg=";
|
||||
});
|
||||
date = "2023-03-12";
|
||||
};
|
||||
std2 = {
|
||||
pname = "std2";
|
||||
version = "43635e036486296776b4ef5ac498f742ad25a691";
|
||||
src = fetchFromGitHub ({
|
||||
owner = "ms-jpq";
|
||||
repo = "std2";
|
||||
rev = "43635e036486296776b4ef5ac498f742ad25a691";
|
||||
fetchSubmodules = false;
|
||||
sha256 = "sha256-oWVaw7v1Sl7DkqIJOm8wEReID9MTD3XFOdpyQDXRa04=";
|
||||
});
|
||||
date = "2023-03-12";
|
||||
};
|
||||
}
|
27
plugins/nvfetcher.toml
Normal file
27
plugins/nvfetcher.toml
Normal file
|
@ -0,0 +1,27 @@
|
|||
[intellitab-nvim]
|
||||
src.git = "https://github.com/pta2002/intellitab.nvim"
|
||||
fetch.github = "pta2002/intellitab.nvim"
|
||||
|
||||
[mark-radar]
|
||||
src.git = "https://github.com/winston0410/mark-radar.nvim"
|
||||
fetch.github = "winston0410/mark-radar.nvim"
|
||||
|
||||
[coq-nvim]
|
||||
src.git = "https://github.com/ms-jpq/coq_nvim"
|
||||
fetch.github = "ms-jpq/coq_nvim"
|
||||
|
||||
[std2]
|
||||
src.git = "https://github.com/ms-jpq/std2"
|
||||
fetch.github = "ms-jpq/std2"
|
||||
|
||||
[pynvim_pp]
|
||||
src.git = "https://github.com/ms-jpq/pynvim_pp"
|
||||
fetch.github = "ms-jpq/pynvim_pp"
|
||||
|
||||
[coq-artifacts]
|
||||
src.git = "https://github.com/ms-jpq/coq.artifacts"
|
||||
fetch.github = "ms-jpq/coq.artifacts"
|
||||
|
||||
[magma-nvim]
|
||||
src.git = "https://github.com/WhiteBlackGoose/magma-nvim-goose"
|
||||
fetch.github = "WhiteBlackGoose/magma-nvim-goose"
|
|
@ -1,65 +1,31 @@
|
|||
# This is for plugins not in nixpkgs
|
||||
# e.g. intellitab.nvim
|
||||
# Ideally, in the future, this would all be specified as a flake input!
|
||||
{pkgs, ...}: {
|
||||
intellitab-nvim = pkgs.vimUtils.buildVimPlugin rec {
|
||||
pname = "intellitab-nvim";
|
||||
version = "a6c1a505865f6131866d609c52440306e9914b16";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "pta2002";
|
||||
repo = "intellitab.nvim";
|
||||
rev = version;
|
||||
sha256 = "19my464jsji7cb81h0agflzb0vmmb3f5kapv0wwhpdddcfzvp4fg";
|
||||
#
|
||||
# This is generated through nvfetcher, the plugins are defined in nvfetcher.toml.
|
||||
# You can update the plugins by running `nvfetcher` in this directory
|
||||
{pkgs, ...}: let
|
||||
sources = pkgs.callPackage ./_sources/generated.nix {};
|
||||
in {
|
||||
intellitab-nvim = pkgs.vimUtils.buildVimPlugin {
|
||||
inherit (sources.intellitab-nvim) pname version src;
|
||||
};
|
||||
mark-radar = pkgs.vimUtils.buildVimPlugin {
|
||||
inherit (sources.mark-radar) pname version src;
|
||||
};
|
||||
mark-radar = pkgs.vimUtils.buildVimPlugin rec {
|
||||
pname = "mark-radar";
|
||||
version = "d7fb84a670795a5b36b18a5b59afd1d3865cbec7";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "winston0410";
|
||||
repo = "mark-radar.nvim";
|
||||
rev = version;
|
||||
sha256 = "1y3l2c7h8czhw0b5m25iyjdyy0p4nqk4a3bxv583m72hn4ac8rz9";
|
||||
};
|
||||
};
|
||||
coq-nvim = pkgs.vimUtils.buildVimPlugin rec {
|
||||
pname = "coq-nvim";
|
||||
version = "2699492a1b8716c59ade7130dc354e53944b6a7f";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "ms-jpq";
|
||||
repo = "coq_nvim";
|
||||
rev = version;
|
||||
sha256 = "sha256-tjniIWe1V4vGuao5no+3YB9WtiNaMehEjffJyNpFgd8=";
|
||||
};
|
||||
coq-nvim = pkgs.vimUtils.buildVimPlugin {
|
||||
inherit (sources.coq-nvim) pname version src;
|
||||
|
||||
passthru.python3Dependencies = ps: [
|
||||
ps.pynvim
|
||||
ps.pyyaml
|
||||
(ps.buildPythonPackage rec {
|
||||
pname = "pynvim_pp";
|
||||
version = "01dc0f58d4e71a98c388e1f37bda3d1357089fa2";
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "ms-jpq";
|
||||
repo = "pynvim_pp";
|
||||
rev = version;
|
||||
sha256 = "sha256-/m4Paw6AvDzTMWWCWpPnrdI4gsjIDSJPvGCMV7ufbEA=";
|
||||
};
|
||||
(ps.buildPythonPackage {
|
||||
inherit (sources.pynvim_pp) pname version src;
|
||||
|
||||
propagatedBuildInputs = [pkgs.python3Packages.pynvim];
|
||||
})
|
||||
(ps.buildPythonPackage rec {
|
||||
pname = "std2";
|
||||
version = "48bb39b69ed631ef64eed6123443484133fd20fc";
|
||||
|
||||
(ps.buildPythonPackage {
|
||||
inherit (sources.std2) pname version src;
|
||||
doCheck = true;
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "ms-jpq";
|
||||
repo = "std2";
|
||||
rev = version;
|
||||
sha256 = "sha256-nMwNAq15zyf9ORhFGo0sawQukOygYoVWtT7jH68MIkI=";
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
|
@ -72,28 +38,12 @@
|
|||
'';
|
||||
};
|
||||
|
||||
coq-artifacts = pkgs.vimUtils.buildVimPlugin rec {
|
||||
pname = "coq.artifacts";
|
||||
version = "495429564e481cafeb044456da32c10cb631f948";
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "ms-jpq";
|
||||
repo = "coq.artifacts";
|
||||
rev = version;
|
||||
sha256 = "sha256-AtkG2XRVZgvJzH2iLr7UT/U1+LXxenvNckdapnJV+8A=";
|
||||
};
|
||||
coq-artifacts = pkgs.vimUtils.buildVimPlugin {
|
||||
inherit (sources.coq-artifacts) pname version src;
|
||||
};
|
||||
|
||||
magma-nvim = pkgs.vimUtils.buildVimPlugin rec {
|
||||
pname = "magma-nvim";
|
||||
version = "94370733757d550594fe4a1d65643949d7485989";
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "WhiteBlackGoose";
|
||||
repo = "magma-nvim-goose";
|
||||
rev = version;
|
||||
sha256 = "sha256-IaslJK1F2BxTvZzKGH9OKOl2RICi4d4rSgjliAIAqK4=";
|
||||
};
|
||||
magma-nvim = pkgs.vimUtils.buildVimPlugin {
|
||||
inherit (sources.magma-nvim) pname version src;
|
||||
|
||||
passthru.python3Dependencies = ps:
|
||||
with ps; [
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue