nix: fix plugins for the overlays
This commit is contained in:
parent
96df527d73
commit
d6a70d64ea
1 changed files with 49 additions and 53 deletions
102
flake.nix
102
flake.nix
|
@ -133,68 +133,64 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs @ { self, nixpkgs, utils, ... }:
|
outputs = inputs @ { self, nixpkgs, utils, ... }:
|
||||||
|
let
|
||||||
|
inputPlugins = [
|
||||||
|
"plenary-nvim"
|
||||||
|
# config
|
||||||
|
"editorconfig-nvim"
|
||||||
|
# explorer
|
||||||
|
"nvim-tree-lua"
|
||||||
|
"telescope-nvim"
|
||||||
|
"telescope-live-grep-args-nvim"
|
||||||
|
# formatter
|
||||||
|
"neoformat"
|
||||||
|
# git
|
||||||
|
"gitsigns-nvim"
|
||||||
|
# lsp
|
||||||
|
"nvim-lspconfig"
|
||||||
|
"lspsaga-nvim"
|
||||||
|
"luaship"
|
||||||
|
"nvim-cmp"
|
||||||
|
"cmp-nvim-lsp"
|
||||||
|
"cmp-luasnip"
|
||||||
|
# syntax
|
||||||
|
"nvim-treesitter"
|
||||||
|
# theme
|
||||||
|
"tabby-nvim"
|
||||||
|
"lualine-nvim"
|
||||||
|
"lualine-lsp-progress"
|
||||||
|
"nvim-web-devicons"
|
||||||
|
"theme"
|
||||||
|
];
|
||||||
|
|
||||||
|
mkNvimPlugins = { lib, vimUtils, vimPlugins, ... }:
|
||||||
|
let
|
||||||
|
inherit (builtins) getAttr;
|
||||||
|
inherit (lib) listToAttrs nameValuePair;
|
||||||
|
|
||||||
|
buildPlugin = name: vimUtils.buildVimPluginFrom2Nix {
|
||||||
|
name = name;
|
||||||
|
src = getAttr name inputs;
|
||||||
|
};
|
||||||
|
|
||||||
|
buildPluginValuePair = n: nameValuePair n (buildPlugin n);
|
||||||
|
|
||||||
|
customPlugins = listToAttrs (map buildPluginValuePair inputPlugins);
|
||||||
|
in
|
||||||
|
{ vimPlugins = vimPlugins // customPlugins; };
|
||||||
|
in
|
||||||
{
|
{
|
||||||
overlays = {
|
overlays = {
|
||||||
default = final: prev: {
|
default = final: prev: {
|
||||||
myneovim = prev.callPackage ./. { };
|
myneovim = prev.callPackage ./. (mkNvimPlugins prev);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
} //
|
} //
|
||||||
utils.lib.eachDefaultSystem (system:
|
utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
inputPlugins = [
|
pkgs = import nixpkgs { inherit system; };
|
||||||
"plenary-nvim"
|
|
||||||
# config
|
|
||||||
"editorconfig-nvim"
|
|
||||||
# explorer
|
|
||||||
"nvim-tree-lua"
|
|
||||||
"telescope-nvim"
|
|
||||||
"telescope-live-grep-args-nvim"
|
|
||||||
# formatter
|
|
||||||
"neoformat"
|
|
||||||
# git
|
|
||||||
"gitsigns-nvim"
|
|
||||||
# lsp
|
|
||||||
"nvim-lspconfig"
|
|
||||||
"lspsaga-nvim"
|
|
||||||
"luaship"
|
|
||||||
"nvim-cmp"
|
|
||||||
"cmp-nvim-lsp"
|
|
||||||
"cmp-luasnip"
|
|
||||||
# syntax
|
|
||||||
"nvim-treesitter"
|
|
||||||
# theme
|
|
||||||
"tabby-nvim"
|
|
||||||
"lualine-nvim"
|
|
||||||
"lualine-lsp-progress"
|
|
||||||
"nvim-web-devicons"
|
|
||||||
"theme"
|
|
||||||
];
|
|
||||||
|
|
||||||
pkgs = import nixpkgs {
|
neovim = pkgs.callPackage ./. (mkNvimPlugins pkgs);
|
||||||
inherit system;
|
|
||||||
overlays = [
|
|
||||||
(final: prev:
|
|
||||||
let
|
|
||||||
inherit (prev.lib) listToAttrs nameValuePair;
|
|
||||||
|
|
||||||
buildPlugin = name: prev.vimUtils.buildVimPluginFrom2Nix {
|
|
||||||
name = name;
|
|
||||||
src = builtins.getAttr name inputs;
|
|
||||||
};
|
|
||||||
|
|
||||||
buildPluginValuePair = n: nameValuePair n (buildPlugin n);
|
|
||||||
|
|
||||||
customPlugins = listToAttrs (builtins.map buildPluginValuePair inputPlugins);
|
|
||||||
in
|
|
||||||
{
|
|
||||||
vimPlugins = prev.vimPlugins // customPlugins;
|
|
||||||
}
|
|
||||||
)
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
neovim = pkgs.callPackage ./. { };
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
apps.default = {
|
apps.default = {
|
||||||
|
|
Reference in a new issue