aboutsummaryrefslogtreecommitdiff
path: root/modules/home/tools/neovim/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/home/tools/neovim/default.nix')
-rw-r--r--modules/home/tools/neovim/default.nix39
1 files changed, 39 insertions, 0 deletions
diff --git a/modules/home/tools/neovim/default.nix b/modules/home/tools/neovim/default.nix
new file mode 100644
index 0000000..0cac0c2
--- /dev/null
+++ b/modules/home/tools/neovim/default.nix
@@ -0,0 +1,39 @@
+{ options, config, lib, pkgs, namespace, ... }:
+
+with lib; with lib.${namespace}; let
+ cfg = config.${namespace}.tools.neovim;
+ theme = config.${namespace}.desktop.theme;
+in {
+ options.${namespace}.tools.neovim = with types; {
+ enable = mkEnableOption "neovim";
+ };
+
+ config = mkIf cfg.enable {
+ programs.nixvim = {
+ enable = true;
+
+ colorschemes."${theme.vim}".enable = true;
+
+ opts = {
+ number = true;
+ relativenumber = true;
+ };
+
+ extraConfigVim = ''
+ highlight Normal guibg=NONE
+ '';
+
+ plugins.lsp = {
+ enable = true;
+
+ servers = {
+ zls.enable = true;
+ asm_lsp.enable = true;
+ };
+ };
+
+ plugins.nix.enable = true;
+ plugins.trouble.enable = true;
+ };
+ };
+}