70 lines
1.6 KiB
Nix
70 lines
1.6 KiB
Nix
{ inputs, pkgs, ... }: {
|
|
imports = [
|
|
inputs.nixvim.homeManagerModules.nixvim
|
|
];
|
|
|
|
programs.nixvim = {
|
|
enable = true;
|
|
|
|
opts = {
|
|
number = true;
|
|
};
|
|
|
|
colorschemes.tokyonight.enable = true;
|
|
|
|
autoCmd = [
|
|
{ event = "VimEnter"; command = "Neotree"; }
|
|
];
|
|
|
|
keymaps = [
|
|
# Simple save Ctrl + S
|
|
{ action = "<cmd>w<CR>"; key = "<C-s>"; options.silent = true; }
|
|
|
|
# Vsplit
|
|
{ action = "<cmd>vsplit<CR>"; key = "<D-l>"; options.silent = true; }
|
|
|
|
# [H]split
|
|
{ action = "<cmd>split<CR>"; key = "<D-k>"; options.silent = true; }
|
|
|
|
# Toggleterm Ctrl + `
|
|
{ action = "<cmd>ToggleTerm<CR>"; key = "<C-`>"; options.silent = true; }
|
|
];
|
|
|
|
plugins = {
|
|
neo-tree = {
|
|
enable = true;
|
|
closeIfLastWindow = true;
|
|
buffers.followCurrentFile.leaveDirsOpen = true;
|
|
};
|
|
lightline.enable = true;
|
|
toggleterm.enable = true;
|
|
rainbow-delimiters.enable = true;
|
|
treesitter.enable = true;
|
|
barbar.enable = true;
|
|
gitgutter.enable = true;
|
|
persistence.enable = true;
|
|
cmp.enable = true;
|
|
cmp-nvim-lsp.enable = true;
|
|
cmp_luasnip.enable = true;
|
|
luasnip.enable = true;
|
|
|
|
|
|
lsp = {
|
|
enable = true;
|
|
servers = {
|
|
nil_ls.enable = true;
|
|
rust-analyzer.enable = true;
|
|
rust-analyzer.installRustc = false; # use rustc in nix shells, maybe?
|
|
rust-analyzer.installCargo = false;
|
|
tsserver.enable = true;
|
|
htmx.enable = true;
|
|
html.enable = true;
|
|
};
|
|
};
|
|
};
|
|
|
|
extraPlugins = with pkgs.vimPlugins; [
|
|
vim-sleuth
|
|
];
|
|
};
|
|
}
|