2023-05-17 17:07:13 +01:00
|
|
|
{pkgs, ...}: {
|
2023-04-03 11:54:22 +01:00
|
|
|
programs.neovim = {
|
|
|
|
enable = true;
|
2023-06-03 07:58:50 +01:00
|
|
|
extraLuaConfig = builtins.readFile ./config/nvim/init.lua;
|
2023-04-04 09:28:27 +01:00
|
|
|
defaultEditor = true;
|
2023-04-03 11:54:22 +01:00
|
|
|
viAlias = true;
|
|
|
|
vimAlias = true;
|
|
|
|
vimdiffAlias = true;
|
|
|
|
withNodeJs = true;
|
2023-04-04 09:28:27 +01:00
|
|
|
withRuby = true;
|
2023-04-03 11:54:22 +01:00
|
|
|
withPython3 = true;
|
2023-05-17 17:07:13 +01:00
|
|
|
extraPython3Packages = ps:
|
|
|
|
with ps; [
|
|
|
|
# Extra python packages for magma-nvim
|
|
|
|
jupyter-client
|
|
|
|
ueberzug
|
|
|
|
cairosvg
|
|
|
|
pnglatex
|
|
|
|
];
|
2023-04-04 09:28:27 +01:00
|
|
|
extraPackages = with pkgs; [
|
|
|
|
# Used by installed plugins
|
2023-05-17 17:07:13 +01:00
|
|
|
git
|
|
|
|
curl
|
|
|
|
gnutar
|
2023-04-04 09:28:27 +01:00
|
|
|
gnumake
|
|
|
|
gcc
|
|
|
|
fzf
|
|
|
|
ripgrep
|
2023-05-17 11:42:45 +01:00
|
|
|
tree-sitter
|
2023-04-05 15:42:50 +01:00
|
|
|
|
2023-05-17 11:42:45 +01:00
|
|
|
# Language servers
|
|
|
|
nodePackages.pyright
|
|
|
|
python3Packages.ruff-lsp
|
2023-04-04 09:28:27 +01:00
|
|
|
nil
|
2023-05-17 11:42:45 +01:00
|
|
|
lua-language-server
|
|
|
|
fortls
|
|
|
|
nodePackages.yaml-language-server
|
|
|
|
nodePackages.vim-language-server
|
|
|
|
nodePackages.bash-language-server
|
2023-04-05 15:42:50 +01:00
|
|
|
|
2023-05-17 11:42:45 +01:00
|
|
|
# Null LSP formatters
|
2023-05-17 17:07:13 +01:00
|
|
|
alejandra
|
|
|
|
autoflake
|
|
|
|
beautysh
|
2023-05-17 11:42:45 +01:00
|
|
|
black
|
2023-05-17 17:07:13 +01:00
|
|
|
nodePackages.fixjson
|
|
|
|
fprettify
|
2023-05-17 11:42:45 +01:00
|
|
|
isort
|
2023-05-17 17:07:13 +01:00
|
|
|
python3Packages.mdformat
|
|
|
|
# nixfmt
|
|
|
|
# nixpkgs-fmt
|
|
|
|
shellharden
|
|
|
|
stylua
|
2023-04-04 09:28:27 +01:00
|
|
|
];
|
2023-04-03 11:54:22 +01:00
|
|
|
};
|
2023-03-28 09:01:52 +01:00
|
|
|
}
|