24ce8f3Migrate '.vim/plugin' to neovime3d9612Remove vim yin/yang colorschemes05986a3Migrate '.vim/ftplugin' to neovim05bc2ecMigrate vim snippets to neovim (LuaSnip)128ae8eMigrate '.vim/ftdetect/prolog' to neovimf3188f7Migrate '.vim/after/syntax' to neovim85d56f9Migrate vim init config to neovimafca2caMigrate '.vim/after' to neovimd6875c9Add 'eslint_d' PID to 'nvim-lint' config568e45fRemove jira aliases78fa170Disable 'xdg-user-dirs' by default5216f79Alias bash 'history' command to 'h'0f29dc3Add neovim dependencies to flakec901a1ctestdc4ebfcMerge commit '490998275cbdc5ff032d4a39794bf850f4bfefec'73fd4afAdd neovim 'auto-session' plugin setupff47da9Add minimal readme to my neovim configuration6dff3ebAdd minimal readme to my neovim configurationc94ccd3Remove neovim lazy load related config75ca003Fall back to 'paq.nvim' only when not on 'nixCats'78094a0Add 'nixCatsUtils' from 'nixCats'6e81624Add neovim packages to 'nixCats' flake6ded0b1Add minimal 'nixCats' flake templated0550b3Link NixOS repo in dotfiles repository git-subtree-dir: dots git-subtree-split:24ce8f39af
224 lines
5.4 KiB
Nix
224 lines
5.4 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 = [
|
|
black
|
|
clang
|
|
clang-tools
|
|
gawk
|
|
gdtoolkit_4
|
|
isort
|
|
tree-sitter
|
|
ormolu
|
|
nodePackages.prettier
|
|
prettierd
|
|
shellcheck-minimal
|
|
stylua
|
|
];
|
|
};
|
|
|
|
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;
|
|
}
|
|
);
|
|
|
|
}
|