From 970fb13fccc14ecca832241433220c1ab58fbcd8 Mon Sep 17 00:00:00 2001 From: Caroline Larimore Date: Fri, 20 Jun 2025 20:49:57 -0700 Subject: nixvim: basic config --- modules/home/suites/dev/default.nix | 1 + modules/home/tools/neovim/default.nix | 39 +++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 modules/home/tools/neovim/default.nix (limited to 'modules/home') diff --git a/modules/home/suites/dev/default.nix b/modules/home/suites/dev/default.nix index 3d54f9b..710f627 100644 --- a/modules/home/suites/dev/default.nix +++ b/modules/home/suites/dev/default.nix @@ -26,6 +26,7 @@ in { cloc.enable = true; tmux.enable = true; mkenv.enable = true; + neovim.enable = true; fork.enable = desktop.enable; }; }; 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; + }; + }; +} -- cgit v1.2.3