aboutsummaryrefslogtreecommitdiff
path: root/modules/home/tools/neovim
diff options
context:
space:
mode:
authorCaroline Larimore <caroline@larimo.re>2025-06-20 20:49:57 -0700
committerCaroline Larimore <caroline@larimo.re>2025-06-20 20:49:57 -0700
commit970fb13fccc14ecca832241433220c1ab58fbcd8 (patch)
tree68bf119e7874631b2df6dc6494400fad30393a4e /modules/home/tools/neovim
parentd6409d34c41191491c4ec4bf9022db6264c10ea4 (diff)
nixvim: basic config
Diffstat (limited to 'modules/home/tools/neovim')
-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;
+ };
+ };
+}