{ pkgs, ... }:
{
programs.nixvim = {
enable = true;
opts = import ./opts.nix;
globals = import ./globals.nix;
plugins = {
treesitter = import ./setup/treesitter.nix;
telescope = import ./setup/telescope.nix;
alpha = import ./setup/alpha.nix;
barbar = import ./setup/barbar.nix;
nvim-autopairs = import ./setup/autopairs.nix;
copilot-lua = import ./setup/copilot.nix;
lualine = import ./setup/lualine.nix;
transparent = import ./setup/transparent.nix;
luasnip.enable = true;
cmp-nvim-lsp.enable = true;
lsp = import ./setup/lsp.nix;
cmp = import ./setup/cmp.nix;
indent-blankline.enable = true;
surround.enable = true;
which-key.enable = true;
comment.enable = true;
fidget.enable = true;
fidget.notification.window.winblend = 0;
};
keymaps = import ./keymaps.nix;
extraPlugins = [
(import ./extraPlugins/edge.nix { inherit pkgs; })
(import ./extraPlugins/typst-preview.nix { inherit pkgs; })
pkgs.vimPlugins.guess-indent-nvim
];
colorscheme = "edge";
extraConfigLua =
(builtins.readFile ./extraLua/alpha_theme.lua)
+ (builtins.readFile ./extraLua/wos.lua)
+ (builtins.readFile ./extraLua/typst.lua)
+ (builtins.readFile ./extraLua/guess-indent.lua)
+ (builtins.readFile ./extraLua/typst-preview.lua);
# + "require('transparent').clear_prefix('lualine')";
};
}