From fcaed357f4c9b0c91a21149b5b53cc007ec91592 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 1 Aug 2023 17:28:06 +0300 Subject: [PATCH] feat: customizable neovim package --- modules/basic/config.nix | 2 +- modules/basic/module.nix | 10 +++++++++- modules/default.nix | 16 ++++++---------- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/modules/basic/config.nix b/modules/basic/config.nix index 6e4237c..9329346 100644 --- a/modules/basic/config.nix +++ b/modules/basic/config.nix @@ -138,7 +138,7 @@ in { ${optionalString (!cfg.enableEditorconfig) '' let g:editorconfig = v:false ''} - ${optionalString (cfg.spellChecking.enable) '' + ${optionalString cfg.spellChecking.enable '' set spell set spelllang=${toString cfg.spellChecking.language} ''} diff --git a/modules/basic/module.nix b/modules/basic/module.nix index 3f8e49a..1793607 100644 --- a/modules/basic/module.nix +++ b/modules/basic/module.nix @@ -1,11 +1,19 @@ { + pkgs, lib, - config, ... }: with lib; with builtins; { options.vim = { + package = mkOption { + type = types.package; + default = pkgs.neovim-unwrapped; + description = '' + The neovim package to use. You will need to use an unwrapped package for this option to work as intended. + ''; + }; + debugMode = { enable = mkEnableOption "debug mode"; level = mkOption { diff --git a/modules/default.nix b/modules/default.nix index 1e06398..815055c 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -6,7 +6,7 @@ inputs: { extraSpecialArgs ? {}, }: let inherit (pkgs) neovim-unwrapped wrapNeovim vimPlugins; - inherit (builtins) map filter isString toString getAttr hasAttr attrNames; + inherit (builtins) map filter isString toString getAttr; inherit (pkgs.vimUtils) buildVimPluginFrom2Nix; extendedLib = import ../lib/stdlib-extended.nix lib; @@ -18,11 +18,7 @@ inputs: { module = extendedLib.evalModules { modules = [configuration] ++ nvimModules; - specialArgs = - { - modulesPath = toString ./.; - } - // extraSpecialArgs; + specialArgs = {modulesPath = toString ./.;} // extraSpecialArgs; }; buildPlug = {pname, ...} @ args: @@ -59,9 +55,10 @@ inputs: { (f: f != null) plugins); - neovim = wrapNeovim neovim-unwrapped { - viAlias = vimOptions.viAlias; - vimAlias = vimOptions.vimAlias; + neovim = wrapNeovim vimOptions.package { + inherit (vimOptions) viAlias; + inherit (vimOptions) vimAlias; + configure = { customRC = vimOptions.builtConfigRC; @@ -72,7 +69,6 @@ inputs: { }; }; in { - imports = [./assertions.nix]; inherit (module) options config; inherit (module._module.args) pkgs; inherit neovim;