99 lines
2.8 KiB
Nix
99 lines
2.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>ft";
|
|
};
|
|
}
|
|
|
|
{
|
|
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" ];
|
|
}
|
|
{
|
|
plugins.obsidian.enable = true;
|
|
plugins.obsidian.settings = {
|
|
ui.enable = false;
|
|
dir = "~/Documents/Nextcloud/Notes/zettelkasten/";
|
|
note_id_func.__raw = ''
|
|
function(title)
|
|
if title ~= nil then
|
|
return title
|
|
else
|
|
suffix = ""
|
|
for _ = 1, 4 do
|
|
suffix = suffix .. string.char(math.random(65, 90))
|
|
end
|
|
return tostring(os.date("%Y-%m-%d")) .. "-" .. suffix
|
|
end
|
|
end
|
|
'';
|
|
};
|
|
}
|
|
{
|
|
plugins.mini = {
|
|
enable = true;
|
|
modules = {
|
|
align = { };
|
|
};
|
|
};
|
|
performance.combinePlugins.standalonePlugins = [ "mini.nvim" ];
|
|
}
|
|
{ plugins.markdown-preview.enable = true; }
|
|
{
|
|
plugins.render-markdown = {
|
|
enable = true;
|
|
settings.latex.enable = false;
|
|
};
|
|
}
|
|
];
|
|
};
|
|
}
|