72 lines
1.6 KiB
Nix
72 lines
1.6 KiB
Nix
{ config, pkgs, inputs, ... }:
|
|
|
|
{
|
|
programs.nixvim = {
|
|
enable = true;
|
|
viAlias = true;
|
|
vimAlias = true;
|
|
opts = {
|
|
number = true;
|
|
relativenumber = true;
|
|
shiftwidth = 2;
|
|
tabstop = 2;
|
|
expandtab = true;
|
|
incsearch = true;
|
|
};
|
|
|
|
# nvim mapleader
|
|
globals.mapleader = " ";
|
|
# colorscheme
|
|
colorschemes.nord.enable = true;
|
|
|
|
# nvim plugins
|
|
plugins.indent-blankline.enable = true;
|
|
plugins.lualine.enable = true;
|
|
plugins.lsp = {
|
|
enable = true;
|
|
# lsp for typst
|
|
servers.tinymist = {
|
|
enable = true;
|
|
settings = {
|
|
formatterMode = "typstyle";
|
|
exportPdf = "onSave";
|
|
semanticTokens = "disable"; # treesitter handles highlighting better
|
|
};
|
|
};
|
|
# minimal lsp keymaps
|
|
keymaps.lspBuf = {
|
|
"K" = "hover";
|
|
"gd" = "definition";
|
|
"gr" = "references";
|
|
"<leader>f" = "format";
|
|
"<leader>rn" = "rename";
|
|
"<leader>ca" = "code_action";
|
|
};
|
|
};
|
|
plugins.nix.enable = true;
|
|
plugins.nvim-tree.enable = true;
|
|
plugins.telescope.enable = true;
|
|
plugins.treesitter = {
|
|
enable = true;
|
|
settings.ensure_installed = [ "typst" ];
|
|
};
|
|
plugins.typst-preview = {
|
|
enable = true;
|
|
settings = {
|
|
open_cmd = "firefox %s";
|
|
dependencies_bin = {
|
|
tinymist = "tinymist";
|
|
websocat = null;
|
|
};
|
|
};
|
|
};
|
|
plugins.typst-vim = {
|
|
enable = true;
|
|
settings.pdf_viewer = "zathura";
|
|
};
|
|
plugins.web-devicons.enable = true;
|
|
|
|
extraPlugins = [ pkgs.vimPlugins.plenary-nvim ];
|
|
};
|
|
}
|