{ pkgs, ... }:

with builtins;
{
  config.home-manager.users.moritz.programs.neovim.lazy.plugins = with pkgs.vimPlugins; [
    {
      plugin = which-key-nvim;
      lazy = false;
      conf = readFile ./lua/which-key-nvim.lua;
    }
    {
      plugin = catppuccin-nvim;
      conf = readFile ./lua/catppuccin-nvim.lua;
      lazy = false;
      priority = 99;
    }
    {
      plugin = todo-comments-nvim;
      event = [ "BufReadPost" "BufNewFile" ];
      dependencies = [{ plugin = plenary-nvim; }];
      opts = { };
    }
    {
      plugin = statuscol-nvim;
      event = [ "VeryLazy" ];
      conf = readFile ./lua/statuscol-nvim.lua;
    }
    {
      plugin = smartcolumn-nvim;
      event = [ "BufReadPost" "BufNewFile" ];
      opts = {
        colorcolumn = "120";
        disabled_filetypes = [ "help" "text" "markdown" "dashboard" ];
      };
    }
    {
      plugin = dressing-nvim;
      event = [ "VeryLazy" ];
    }
    {
      plugin = gitsigns-nvim;
      event = [ "BufReadPost" "BufNewFile" ];
      conf = readFile ./lua/gitsigns-nvim.lua;
      dependencies = [{ plugin = which-key-nvim; }];
    }
  ];
}
