Files
nix/.config/nvim/flake.nix
Hektor Misplon 8f7a780671 Squashed 'dots/' changes from 357b97a..24ce8f3
24ce8f3 Migrate '.vim/plugin' to neovim
e3d9612 Remove vim yin/yang colorschemes
05986a3 Migrate '.vim/ftplugin' to neovim
05bc2ec Migrate vim snippets to neovim (LuaSnip)
128ae8e Migrate '.vim/ftdetect/prolog' to neovim
f3188f7 Migrate '.vim/after/syntax' to neovim
85d56f9 Migrate vim init config to neovim
afca2ca Migrate '.vim/after' to neovim
d6875c9 Add 'eslint_d' PID to 'nvim-lint' config
568e45f Remove jira aliases
78fa170 Disable 'xdg-user-dirs' by default
5216f79 Alias bash 'history' command to 'h'
0f29dc3 Add neovim dependencies to flake
c901a1c test
dc4ebfc Merge commit '490998275cbdc5ff032d4a39794bf850f4bfefec'
73fd4af Add neovim 'auto-session' plugin setup
ff47da9 Add minimal readme to my neovim configuration
6dff3eb Add minimal readme to my neovim configuration
c94ccd3 Remove neovim lazy load related config
75ca003 Fall back to 'paq.nvim' only when not on 'nixCats'
78094a0 Add 'nixCatsUtils' from 'nixCats'
6e81624 Add neovim packages to 'nixCats' flake
6ded0b1 Add minimal 'nixCats' flake template
d0550b3 Link NixOS repo in dotfiles repository

git-subtree-dir: dots
git-subtree-split: 24ce8f39af
2025-10-20 23:59:27 +02:00

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;
}
);
}