flakes/modules/programs/nixvim/default.nix
Chinmay D. Pai f32772e7f2
feat: add latest nixos configuration
Signed-off-by: Chinmay D. Pai <chinmay.pai@zerodha.com>
2023-10-12 00:27:24 +05:30

112 lines
2.4 KiB
Nix

{pkgs, ...}: {
programs = {
nixvim = {
enable = true;
defaultEditor = true;
viAlias = true;
vimAlias = true;
extraPlugins = with pkgs.vimPlugins; [telescope-ui-select-nvim];
colorschemes.ayu = {
enable = true;
# mirage = true;
};
keymaps = [
{
key = "<c-p>";
action = "<cmd>Telescope fd<cr>";
}
];
plugins = {
lsp = {
enable = true;
onAttach = ''
vim.cmd [[autocmd BufWritePre <buffer> lua vim.lsp.buf.format { async = false }]]
'';
servers = {
gopls.enable = true;
nixd.enable = true;
};
};
lualine = {
enable = true;
iconsEnabled = true;
};
telescope = {
enable = true;
enabledExtensions = ["ui-select"];
extensionConfig.ui-select = {};
extensions.frecency.enable = true;
};
comment-nvim.enable = true;
treesitter.enable = true;
gitsigns.enable = true;
nix.enable = true;
nvim-autopairs.enable = true;
illuminate.enable = true;
};
# TODO: get rid of hacks
highlight = {
SignColumn.bg = "none";
GitSignsAdd.bg = "none";
GitSignsChange.bg = "none";
GitSignsDelete.bg = "none";
DiffAdd.bg = "none";
DiffChange.bg = "none";
DiffDelete.bg = "none";
};
options = {
# colorcolumn = "80";
# cursorline = true;
number = true;
numberwidth = 4;
relativenumber = true;
signcolumn = "number";
synmaxcol = 1024;
sidescrolloff = 8;
scrolloff = 8;
wrap = false;
autoindent = true;
smartindent = true;
splitbelow = true;
splitright = true;
expandtab = true;
shiftwidth = 4;
showtabline = 4;
softtabstop = 4;
tabstop = 4;
hlsearch = true;
ignorecase = true;
smartcase = true;
timeout = true;
timeoutlen = 500;
updatetime = 300;
ttimeoutlen = 10;
backup = false;
swapfile = false;
clipboard = "unnamedplus";
mouse = "a";
showmode = false;
pumheight = 10;
background = "dark";
# termguicolors = true;
};
};
};
}