{ config, lib, pkgs, inputs, ... }: let inherit (lib) mkEnableOption mkIf readFile; in { home-manager.users.moritz = { programs.nixvim = lib.mkMerge [ { plugins.which-key.enable = true; } { plugins.lastplace.enable = true; } { plugins.comment.enable = true; } { plugins.ts-context-commentstring.enable = true; } { plugins.vimtex = { enable = true; settings.view_method = "zathura"; }; } { plugins.todo-comments = { enable = true; keymaps.todoTelescope.key = "fc"; }; } { keymaps = [ { key = ""; action = "noh"; options.desc = "Escape and clear hlsearch"; mode = [ "i" "n" ]; } ]; } { plugins.oil.enable = true; } { plugins.nvim-autopairs.enable = true; } { plugins.vim-surround.enable = true; } { plugins.lint.enable = true; # TODO: add linters plugins.lint.lintersByFt = { }; } { plugins.marks.enable = true; plugins.marks.defaultMappings = false; } { plugins.hmts.enable = true; performance.combinePlugins.standalonePlugins = [ "hmts.nvim" ]; } { plugins.gitsigns.enable = true; } { plugins.fugitive.enable = true; } { plugins.friendly-snippets.enable = true; } { plugins.direnv.enable = true; } { plugins.crates-nvim.enable = true; } ]; }; }