213 lines
5.1 KiB
Nix
213 lines
5.1 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
|
nixCats.url = "github:BirdeeHub/nixCats-nvim";
|
|
|
|
plugins-shipwright-nvim = {
|
|
url = "github:rktjmp/shipwright.nvim";
|
|
flake = false;
|
|
};
|
|
plugins-crazy-node-movement = {
|
|
url = "github:theHamsta/crazy-node-movement";
|
|
flake = false;
|
|
};
|
|
plugins-beancount-nvim = {
|
|
url = "github:polarmutex/beancount.nvim";
|
|
flake = false;
|
|
};
|
|
plugins-tailwind-fold-nvim = {
|
|
url = "github:razak17/tailwind-fold.nvim";
|
|
flake = false;
|
|
};
|
|
plugins-nvimkit-nvim = {
|
|
url = "github:jamesblckwell/nvimkit.nvim";
|
|
flake = false;
|
|
};
|
|
plugins-mcphub-nvim = {
|
|
url = "github:ravitemer/mcphub.nvim";
|
|
flake = false;
|
|
};
|
|
plugins-helm-ls-nvim = {
|
|
url = "github:qvalentin/helm-ls.nvim";
|
|
flake = false;
|
|
};
|
|
|
|
};
|
|
|
|
outputs =
|
|
{
|
|
self,
|
|
nixpkgs,
|
|
nixCats,
|
|
...
|
|
}@inputs:
|
|
let
|
|
inherit (nixCats) utils;
|
|
luaPath = ./.;
|
|
forEachSystem = utils.eachSystem nixpkgs.lib.platforms.all;
|
|
extra_pkg_config = { };
|
|
|
|
dependencyOverlays = [
|
|
(utils.standardPluginOverlay inputs)
|
|
];
|
|
|
|
categoryDefinitions =
|
|
{
|
|
pkgs,
|
|
...
|
|
}:
|
|
{
|
|
lspsAndRuntimeDeps = with pkgs; {
|
|
general = [
|
|
tree-sitter
|
|
];
|
|
};
|
|
|
|
startupPlugins = {
|
|
general = with pkgs.vimPlugins; [
|
|
eyeliner-nvim
|
|
fzf-lua
|
|
ltex_extra-nvim
|
|
nvim-lspconfig
|
|
lsp_lines-nvim
|
|
lsp-progress-nvim
|
|
neodev-nvim
|
|
SchemaStore-nvim
|
|
nvim-lint
|
|
conform-nvim
|
|
luasnip
|
|
cmp_luasnip
|
|
nvim-cmp
|
|
cmp-nvim-lsp
|
|
cmp-buffer
|
|
cmp-path
|
|
plenary-nvim
|
|
nui-nvim
|
|
trouble-nvim
|
|
pkgs.neovimPlugins.shipwright-nvim
|
|
lush-nvim
|
|
zenbones-nvim
|
|
pkgs.neovimPlugins.crazy-node-movement
|
|
nvim-treesitter.withAllGrammars
|
|
nvim-treesitter-textobjects
|
|
# nvim-treesitter-context
|
|
nvim-ts-context-commentstring
|
|
treesj
|
|
sniprun
|
|
gitsigns-nvim
|
|
nvim-highlight-colors
|
|
pkgs.neovimPlugins.tailwind-fold-nvim
|
|
auto-session
|
|
nvim-dbee
|
|
image-nvim
|
|
pkgs.neovimPlugins.beancount-nvim
|
|
pkgs.neovimPlugins.nvimkit-nvim
|
|
codecompanion-nvim
|
|
pkgs.neovimPlugins.mcphub-nvim
|
|
copilot-lua
|
|
copilot-cmp
|
|
pkgs.neovimPlugins.helm-ls-nvim
|
|
];
|
|
};
|
|
|
|
optionalPlugins = {
|
|
general = with pkgs.vimPlugins; [
|
|
];
|
|
};
|
|
|
|
sharedLibraries = {
|
|
general = [ ];
|
|
};
|
|
|
|
environmentVariables = { };
|
|
};
|
|
|
|
packageDefinitions = {
|
|
nvim =
|
|
{ ... }:
|
|
{
|
|
settings = {
|
|
suffix-path = true;
|
|
suffix-LD = true;
|
|
wrapRc = true;
|
|
aliases = [ "vim" ];
|
|
};
|
|
categories = {
|
|
general = true;
|
|
};
|
|
};
|
|
};
|
|
defaultPackageName = "nvim";
|
|
in
|
|
|
|
forEachSystem (
|
|
system:
|
|
let
|
|
nixCatsBuilder = utils.baseBuilder luaPath {
|
|
inherit
|
|
nixpkgs
|
|
system
|
|
dependencyOverlays
|
|
extra_pkg_config
|
|
;
|
|
} categoryDefinitions packageDefinitions;
|
|
defaultPackage = nixCatsBuilder defaultPackageName;
|
|
pkgs = import nixpkgs { inherit system; };
|
|
in
|
|
{
|
|
packages = utils.mkAllWithDefault defaultPackage;
|
|
|
|
devShells = {
|
|
default = pkgs.mkShell {
|
|
name = defaultPackageName;
|
|
packages = [ defaultPackage ];
|
|
inputsFrom = [ ];
|
|
shellHook = '''';
|
|
};
|
|
};
|
|
|
|
}
|
|
)
|
|
// (
|
|
let
|
|
nixosModule = utils.mkNixosModules {
|
|
moduleNamespace = [ defaultPackageName ];
|
|
inherit
|
|
defaultPackageName
|
|
dependencyOverlays
|
|
luaPath
|
|
categoryDefinitions
|
|
packageDefinitions
|
|
extra_pkg_config
|
|
nixpkgs
|
|
;
|
|
};
|
|
homeModule = utils.mkHomeModules {
|
|
moduleNamespace = [ defaultPackageName ];
|
|
inherit
|
|
defaultPackageName
|
|
dependencyOverlays
|
|
luaPath
|
|
categoryDefinitions
|
|
packageDefinitions
|
|
extra_pkg_config
|
|
nixpkgs
|
|
;
|
|
};
|
|
in
|
|
{
|
|
|
|
overlays = utils.makeOverlays luaPath {
|
|
inherit nixpkgs dependencyOverlays extra_pkg_config;
|
|
} categoryDefinitions packageDefinitions defaultPackageName;
|
|
|
|
nixosModules.default = nixosModule;
|
|
homeModules.default = homeModule;
|
|
|
|
inherit utils nixosModule homeModule;
|
|
inherit (utils) templates;
|
|
}
|
|
);
|
|
|
|
}
|