2024-05-30 10:29:43 +00:00
|
|
|
{ pkgs, theme, ... }:
|
|
|
|
let
|
|
|
|
pkg_src = pkgs.unstable;
|
|
|
|
in
|
2022-06-26 12:42:49 +00:00
|
|
|
{
|
|
|
|
|
2022-08-23 09:46:14 +00:00
|
|
|
# symlink for a stable path
|
2024-05-30 10:29:43 +00:00
|
|
|
home.file.".vscode-extensions/vscode-lldb".source = pkg_src.vscode-extensions.vadimcn.vscode-lldb;
|
2022-12-08 13:09:51 +00:00
|
|
|
|
2022-06-26 12:42:49 +00:00
|
|
|
programs = {
|
|
|
|
neovim = {
|
|
|
|
enable = true;
|
2024-05-30 10:29:43 +00:00
|
|
|
package = pkg_src.neovim-unwrapped;
|
|
|
|
defaultEditor = true;
|
|
|
|
plugins = with pkg_src.vimPlugins; [
|
2022-06-26 12:42:49 +00:00
|
|
|
# theme
|
|
|
|
nvim-solarized-lua
|
|
|
|
|
|
|
|
delimitMate
|
|
|
|
vim-bbye
|
|
|
|
ansible-vim
|
|
|
|
|
2023-01-25 09:44:25 +00:00
|
|
|
# ui
|
|
|
|
dressing-nvim
|
|
|
|
|
2022-06-26 12:42:49 +00:00
|
|
|
# session handling
|
2022-07-21 06:24:04 +00:00
|
|
|
project-nvim
|
|
|
|
auto-session
|
2022-06-26 12:42:49 +00:00
|
|
|
|
2024-01-11 15:50:16 +00:00
|
|
|
# escape handling
|
|
|
|
better-escape-nvim
|
|
|
|
|
2022-12-07 14:11:38 +00:00
|
|
|
nvim-treesitter.withAllGrammars
|
2022-06-26 12:42:49 +00:00
|
|
|
markdown-preview-nvim # use({ "iamcco/markdown-preview.nvim", run = ":call mkdp#util#install()" })
|
|
|
|
toggleterm-nvim
|
|
|
|
nvim-notify
|
|
|
|
comment-nvim
|
|
|
|
lualine-nvim
|
|
|
|
tabline-nvim
|
|
|
|
indent-blankline-nvim
|
|
|
|
plenary-nvim
|
2022-07-13 06:47:26 +00:00
|
|
|
vim-illuminate
|
2022-07-07 14:06:53 +00:00
|
|
|
registers-nvim
|
2023-04-11 05:40:34 +00:00
|
|
|
vim-surround
|
2022-06-26 12:42:49 +00:00
|
|
|
|
2023-04-12 07:57:29 +00:00
|
|
|
editorconfig-nvim
|
|
|
|
|
2022-06-26 12:42:49 +00:00
|
|
|
# git
|
|
|
|
gitsigns-nvim
|
|
|
|
vim-fugitive
|
2023-01-25 09:43:54 +00:00
|
|
|
vim-flog
|
2022-08-30 14:54:26 +00:00
|
|
|
git-blame-nvim
|
2022-09-19 05:52:06 +00:00
|
|
|
nvim-web-devicons # used by diffview-nvim
|
2022-06-26 12:42:49 +00:00
|
|
|
|
|
|
|
# snippets
|
|
|
|
friendly-snippets
|
|
|
|
luasnip
|
|
|
|
|
|
|
|
# auto-completion
|
|
|
|
nvim-cmp
|
|
|
|
cmp-nvim-lsp
|
|
|
|
cmp-buffer
|
|
|
|
cmp-path
|
|
|
|
cmp-cmdline
|
|
|
|
cmp-nvim-lua
|
|
|
|
cmp_luasnip
|
|
|
|
cmp-calc
|
2022-07-21 13:51:18 +00:00
|
|
|
cmp-nvim-lsp-signature-help
|
2022-06-26 12:42:49 +00:00
|
|
|
|
|
|
|
# telescope
|
|
|
|
telescope-nvim
|
|
|
|
telescope-fzf-native-nvim
|
|
|
|
telescope-ui-select-nvim
|
|
|
|
|
|
|
|
# LSP
|
|
|
|
nvim-lspconfig
|
|
|
|
lsp-status-nvim
|
2024-01-09 08:11:19 +00:00
|
|
|
rustaceanvim
|
2022-12-07 14:11:38 +00:00
|
|
|
neodev-nvim
|
2022-07-21 12:02:12 +00:00
|
|
|
null-ls-nvim
|
2022-07-25 06:48:10 +00:00
|
|
|
lsp_lines-nvim
|
2024-01-09 08:11:19 +00:00
|
|
|
lsp-inlayhints-nvim
|
2022-08-23 09:46:14 +00:00
|
|
|
|
|
|
|
# debugging
|
|
|
|
nvim-dap
|
|
|
|
nvim-dap-ui
|
2024-05-30 10:30:14 +00:00
|
|
|
|
|
|
|
# neorg
|
|
|
|
neorg
|
|
|
|
neorg-telescope
|
2022-06-26 12:42:49 +00:00
|
|
|
];
|
|
|
|
|
2024-05-30 10:29:43 +00:00
|
|
|
withNodeJs = true;
|
|
|
|
|
|
|
|
extraPackages = with pkg_src; [
|
|
|
|
# language servers
|
|
|
|
lua-language-server
|
|
|
|
terraform-ls
|
|
|
|
tflint
|
2024-07-07 10:51:10 +00:00
|
|
|
bash-language-server
|
2024-07-07 11:09:15 +00:00
|
|
|
nodePackages.dockerfile-language-server-nodejs
|
2024-05-30 10:29:43 +00:00
|
|
|
nodePackages.eslint_d
|
2024-07-07 11:09:15 +00:00
|
|
|
nodePackages.prettier
|
2024-05-30 10:29:43 +00:00
|
|
|
nodePackages.typescript
|
2024-07-07 11:09:15 +00:00
|
|
|
nodePackages.typescript-language-server
|
2024-05-30 10:29:43 +00:00
|
|
|
nodePackages.vscode-langservers-extracted
|
2024-07-07 11:09:15 +00:00
|
|
|
nodePackages.yaml-language-server
|
2024-05-30 10:29:43 +00:00
|
|
|
lldb
|
|
|
|
vscode-extensions.vadimcn.vscode-lldb
|
|
|
|
marksman
|
|
|
|
clang-tools
|
|
|
|
cmake-language-server
|
|
|
|
texlab
|
|
|
|
nixd
|
|
|
|
nixpkgs-fmt
|
|
|
|
];
|
|
|
|
|
2024-05-30 10:30:14 +00:00
|
|
|
extraLuaPackages = luaPackages: [
|
|
|
|
luaPackages.lua-utils-nvim
|
|
|
|
luaPackages.pathlib-nvim
|
|
|
|
];
|
|
|
|
|
2022-06-26 12:42:49 +00:00
|
|
|
extraConfig = ''
|
|
|
|
lua << EOF
|
2022-09-26 05:50:10 +00:00
|
|
|
vim.o.guifont = "DejaVu Sans Mono:h10"
|
2022-07-13 14:01:34 +00:00
|
|
|
|
|
|
|
if vim.g.neovide then
|
2022-07-18 13:02:52 +00:00
|
|
|
vim.g.neovide_fullscreen = true
|
2022-07-13 14:01:34 +00:00
|
|
|
vim.g.neovide_cursor_animation_length = 0.01
|
|
|
|
vim.g.neovide_cursor_trail_length = 0.01
|
|
|
|
end
|
|
|
|
|
2022-06-26 12:42:49 +00:00
|
|
|
${builtins.readFile ./keymaps.lua }
|
|
|
|
${builtins.readFile ./options.lua }
|
2023-05-11 06:21:13 +00:00
|
|
|
${builtins.readFile ./commands.lua }
|
2022-06-26 12:42:49 +00:00
|
|
|
${builtins.readFile ./treesitter.lua }
|
|
|
|
${builtins.readFile ./lspconfig.lua }
|
2023-06-27 08:15:04 +00:00
|
|
|
${builtins.readFile ./auto-session.lua }
|
2022-06-26 12:42:49 +00:00
|
|
|
${builtins.readFile ./toggleterm.lua }
|
|
|
|
${builtins.readFile ./notify.lua }
|
|
|
|
${builtins.readFile ./comment.lua }
|
|
|
|
${builtins.readFile ./lualine.lua }
|
|
|
|
${builtins.readFile ./tabline.lua }
|
|
|
|
${builtins.readFile ./indent-blankline.lua }
|
|
|
|
${builtins.readFile ./gitsigns.lua }
|
|
|
|
${builtins.readFile ./luasnip.lua }
|
|
|
|
${builtins.readFile ./nvim-cmp.lua }
|
|
|
|
${builtins.readFile ./telescope.lua }
|
2022-08-18 19:15:03 +00:00
|
|
|
|
2022-06-26 12:42:49 +00:00
|
|
|
${builtins.readFile ./themes.lua }
|
2022-08-18 19:15:03 +00:00
|
|
|
vim.opt.background = '${theme}'
|
|
|
|
|
2022-07-21 06:24:04 +00:00
|
|
|
${builtins.readFile ./project-nvim.lua }
|
2022-08-23 09:46:14 +00:00
|
|
|
${builtins.readFile ./dap.lua }
|
2024-05-30 10:30:14 +00:00
|
|
|
${builtins.readFile ./neorg.lua }
|
2022-09-02 12:05:58 +00:00
|
|
|
|
|
|
|
vim.g.gitblame_date_format = "%r"
|
|
|
|
|
2023-10-25 08:38:33 +00:00
|
|
|
-- setup illuminate highlight groups
|
|
|
|
vim.api.nvim_set_hl(0, "IlluminatedWordText", { bold = true })
|
|
|
|
vim.api.nvim_set_hl(0, "IlluminatedWordRead", { link = "IlluminatedWordText" })
|
|
|
|
vim.api.nvim_set_hl(0, "IlluminatedWordWrite", { link = "IlluminatedWordText" })
|
2022-06-26 12:42:49 +00:00
|
|
|
EOF
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2022-08-05 12:25:44 +00:00
|
|
|
|