96 lines
2.3 KiB
Nix
96 lines
2.3 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
home.packages = with pkgs; [fzf fd];
|
|
|
|
programs.neovim = {
|
|
enable = true;
|
|
withNodeJs = true;
|
|
withPython3 = true;
|
|
extraPython3Packages = ps: with ps; [black isort flake8 ipdb];
|
|
#extraPackages = with pkgs; [];
|
|
plugins = with pkgs.vimPlugins; [
|
|
# tree-sitter (code parser)
|
|
(nvim-treesitter.withPlugins (_: pkgs.tree-sitter.allGrammars))
|
|
|
|
# Eye candy
|
|
nvim-web-devicons
|
|
base16-vim
|
|
|
|
# Telescope (fuzzy finding)
|
|
{
|
|
plugin = telescope-nvim;
|
|
config = ''
|
|
nnoremap <leader>ff <cmd>lua require('telescope.builtin').find_files()<cr>
|
|
nnoremap <leader>fg <cmd>lua require('telescope.builtin').live_grep()<cr>
|
|
nnoremap <leader>fb <cmd>lua require('telescope.builtin').buffers()<cr>
|
|
nnoremap <leader>fh <cmd>lua require('telescope.builtin').help_tags()<cr>
|
|
'';
|
|
}
|
|
{
|
|
plugin = telescope-file-browser-nvim;
|
|
type = "lua";
|
|
config = ''
|
|
vim.api.nvim_set_keymap(
|
|
"n",
|
|
"<space>fb",
|
|
":Telescope file_browser<CR>",
|
|
{ noremap = true }
|
|
)
|
|
require("telescope").load_extension("file_browser")
|
|
'';
|
|
}
|
|
{
|
|
plugin = telescope-coc-nvim;
|
|
type = "lua";
|
|
config = ''
|
|
require("telescope").setup({
|
|
extensions = {
|
|
coc = {
|
|
prefer_locations = true;
|
|
}
|
|
}
|
|
})
|
|
require("telescope").load_extension("coc")
|
|
|
|
vim.api.nvim_set_keymap(
|
|
"n",
|
|
"<leader>coc",
|
|
":Telescope coc<CR>",
|
|
{ noremap = true }
|
|
)
|
|
'';
|
|
}
|
|
|
|
# tmux integration
|
|
tmux-navigator
|
|
];
|
|
|
|
coc = {
|
|
enable = true;
|
|
settings = ''
|
|
{
|
|
coc.preferences.formatOnSaveFiletypes": [
|
|
"*"
|
|
],
|
|
python.formatting.provider": "black"
|
|
}
|
|
'';
|
|
};
|
|
|
|
extraConfig = ''
|
|
let mapleader = "'"
|
|
|
|
" Colorscheme
|
|
if !exists('g:colors_name') || g:colors_name != 'base16-darktooth'
|
|
set background=dark
|
|
let base16colorspace=256
|
|
colorscheme base16-darktooth
|
|
hi Normal ctermbg=NONE guibg=NONE
|
|
endif
|
|
'';
|
|
};
|
|
}
|