64 lines
1.8 KiB
Nix
64 lines
1.8 KiB
Nix
{ 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 = "<leader>fc";
|
|
};
|
|
}
|
|
|
|
{
|
|
keymaps = [
|
|
{ key = "<esc>"; action = "<cmd>noh<cr><esc>"; options.desc = "Escape and clear hlsearch"; mode = [ "i" "n" ]; }
|
|
{ key = "<"; action = "<gv"; options.desc = "Shift left"; mode = [ "v" ]; }
|
|
{ key = ">"; action = ">gv"; options.desc = "Shift right"; mode = [ "v" ]; }
|
|
{ key = "y"; action = "ygv<esc>"; options.desc = "Yank"; mode = [ "v" ]; }
|
|
];
|
|
}
|
|
{ plugins.oil.enable = true; }
|
|
{ plugins.nvim-autopairs.enable = true; }
|
|
{ plugins.vim-surround.enable = true; }
|
|
|
|
# TODO: add linters
|
|
# {
|
|
# plugins.lint.enable = true;
|
|
# 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; }
|
|
{
|
|
plugins.helpview.enable = true;
|
|
performance.combinePlugins.standalonePlugins = [ "helpview.nvim" ];
|
|
}
|
|
];
|
|
};
|
|
}
|