From 67efa28a24fb58262ccc148e9bab8c18bc775e4d Mon Sep 17 00:00:00 2001 From: NullBite Date: Tue, 24 Dec 2024 21:06:11 -0500 Subject: [PATCH] home: Neovim improvements - Move Neovim to separate module - Install a few langauge servers --- home/profile/base.nix | 8 +------- home/programs/default.nix | 1 + home/programs/neovim.nix | 21 +++++++++++++++++++++ 3 files changed, 23 insertions(+), 7 deletions(-) create mode 100644 home/programs/neovim.nix diff --git a/home/profile/base.nix b/home/profile/base.nix index 9db4717..32f9b0c 100644 --- a/home/profile/base.nix +++ b/home/profile/base.nix @@ -15,6 +15,7 @@ in config = lib.mkIf cfg.enable { nixfiles.programs.comma.enable = true; + nixfiles.programs.neovim.enable = lib.mkDefault true; nixfiles.common.nix.enable = true; home.sessionVariables = lib.mkMerge [ @@ -112,13 +113,6 @@ in # some packages defined here may be redundant with packages on a non-NixOS # home-manager setup, but it's better to have a consistent environment at # the cost of slightly more space - programs.neovim = { - enable = lib.mkDefault true; - vimAlias = lib.mkDefault true; - withPython3 = lib.mkDefault true; - defaultEditor = lib.mkDefault true; - }; - home.packages = with pkgs; let neofetch-hyfetch-shim = writeShellScriptBin "neofetch" '' exec "${pkgs.hyfetch}/bin/neowofetch" "$@" diff --git a/home/programs/default.nix b/home/programs/default.nix index f3c0a54..a666dff 100644 --- a/home/programs/default.nix +++ b/home/programs/default.nix @@ -5,5 +5,6 @@ ./mopidy.nix ./hypridle.nix ./dunst.nix + ./neovim.nix ]; } diff --git a/home/programs/neovim.nix b/home/programs/neovim.nix new file mode 100644 index 0000000..dc65743 --- /dev/null +++ b/home/programs/neovim.nix @@ -0,0 +1,21 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.nixfiles.programs.neovim; +in +{ + options.nixfiles.programs.neovim.enable = lib.mkEnableOption "the Neovim configuration"; + config = lib.mkIf cfg.enable { + programs.neovim = { + enable = true; + vimAlias = lib.mkDefault true; + withPython3 = lib.mkDefault true; + defaultEditor = lib.mkDefault true; + extraPackages = with pkgs; [ + lua-language-server + rust-analyzer + vscode-langservers-extracted + pyright + ]; + }; + }; +}