{ pkgs, lib, inputs, ... }: let inherit (lib) readFile; in { config.home-manager.users.moritz.programs.neovim.lazy.plugins = [ { plugin = pkgs.vimPlugins.which-key-nvim; lazy = false; conf = readFile ./lua/which-key-nvim.lua; } { plugin = pkgs.vimPlugins.catppuccin-nvim; conf = readFile ./lua/catppuccin-nvim.lua; lazy = false; priority = 99; } { plugin = pkgs.vimPlugins.todo-comments-nvim; dependencies = [{ plugin = pkgs.vimPlugins.plenary-nvim; }]; opts = { }; } { plugin = pkgs.vimPlugins.dressing-nvim; event = [ "VeryLazy" ]; } { plugin = pkgs.vimPlugins.gitsigns-nvim; event = [ "BufReadPost" "BufNewFile" ]; conf = readFile ./lua/gitsigns-nvim.lua; dependencies = [{ plugin = pkgs.vimPlugins.which-key-nvim; }]; } { plugin = pkgs.vimUtils.buildVimPlugin { pname = "hawtkeys-nvim"; version = lib.my.mkVersionInput inputs.hawtkeys-nvim; src = inputs.hawtkeys-nvim; }; cmd = [ "Hawtkeys" "HawtkeysAll" "HawtkeysDupes" ]; opts = { }; dependencies = [ { plugin = pkgs.vimPlugins.plenary-nvim; } { plugin = pkgs.vimPlugins.nvim-treesitter; } ]; } { plugin = pkgs.vimPlugins.zen-mode-nvim; keys = [ { key = "tz"; cmd = "ZenMode"; desc = "Zen mode"; } ]; conf = /* lua */ '' require("zen-mode").setup({ plugins = { tmux = { enabled = true, }, }, }) ''; dependencies = [ { plugin = pkgs.vimPlugins.twilight-nvim; keys = [ { key = "tZ"; cmd = "Twilight"; desc = "Twilight mode"; } ]; conf = /* lua */ '' require("twilight").setup({ context = 20, expand = { -- for treesitter, we we always try to expand to the top-most ancestor with these types "function", "function_definition", "if_statement", "method", "method_definition", "table", }, }) ''; } ]; } ]; }