94 lines
2.2 KiB
Nix
94 lines
2.2 KiB
Nix
{
|
|
pkgs,
|
|
...
|
|
}:
|
|
{
|
|
config = {
|
|
programs.neovim = {
|
|
enable = true;
|
|
withNodeJs = true;
|
|
withPython3 = true;
|
|
|
|
defaultEditor = true;
|
|
vimAlias = true;
|
|
viAlias = true;
|
|
vimdiffAlias = true;
|
|
|
|
extraPackages = with pkgs; [
|
|
biome nil rust-analyzer clang-tools
|
|
ripgrep universal-ctags nixpkgs-fmt
|
|
] ++ (with python3Packages; [
|
|
python-lsp-server python-lsp-black
|
|
]);
|
|
|
|
plugins = with pkgs.vimPlugins; [
|
|
vim-fish
|
|
vim-nix
|
|
telescope-nvim
|
|
{
|
|
plugin = telescope-zoxide;
|
|
type = "lua";
|
|
config = "require('telescope').load_extension('zoxide')";
|
|
}
|
|
{
|
|
plugin = lualine-nvim;
|
|
type = "lua";
|
|
config = ''
|
|
require('lualine').setup {
|
|
options = {
|
|
theme = 'material',
|
|
globalstatus = true,
|
|
},
|
|
sections = {
|
|
lualine_a = {'mode'},
|
|
lualine_b = {'branch', 'diff', 'diagnostics'},
|
|
lualine_c = {{'filename', path = 3}},
|
|
lualine_x = {'filetype'},
|
|
lualine_y = {'progress'},
|
|
lualine_z = {'location'}
|
|
},
|
|
}
|
|
'';
|
|
}
|
|
{
|
|
plugin = nvim-notify;
|
|
type = "lua";
|
|
config = "vim.notify = require('notify')";
|
|
}
|
|
nvim-lspconfig
|
|
{
|
|
plugin = which-key-nvim;
|
|
type = "lua";
|
|
config = ''
|
|
require('which-key').setup({
|
|
triggers = { "<leader>", "g", "<c-r>" }
|
|
})
|
|
'';
|
|
}
|
|
committia
|
|
fugitive
|
|
{
|
|
plugin = gitsigns-nvim;
|
|
type = "lua";
|
|
config = "require('gitsigns').setup()";
|
|
}
|
|
gitlinker-nvim
|
|
nvim-web-devicons
|
|
{
|
|
plugin = neo-tree-nvim;
|
|
config = "let g:neo_tree_remove_legacy_commands = 1";
|
|
}
|
|
{
|
|
plugin = rainbow;
|
|
config = "let g:rainbow_active = 1";
|
|
}
|
|
{
|
|
plugin = tokyonight-nvim;
|
|
config = "colorscheme tokyonight-moon";
|
|
}
|
|
];
|
|
extraLuaConfig = (builtins.readFile ./nvim.lua);
|
|
};
|
|
};
|
|
}
|