1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-11-30 06:59:45 +01:00

programs.neovim: add extraLuaConfig (#3639)

* programs.neovim: add extraLuaConfig

Add a configuration option to add custom lua configuration lines to
`lua.init`.

* apply review: formatting

* apply review: fix test
This commit is contained in:
Guillaume Desforges 2023-02-05 12:09:26 +01:00 committed by GitHub
parent 9f4268e6b6
commit 9621e9ab80
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 37 additions and 1 deletions

View file

@ -261,6 +261,17 @@ in {
''; '';
}; };
extraLuaConfig = mkOption {
type = types.lines;
default = "";
example = ''
vim.opt.nobackup = true
'';
description = ''
Custom lua lines.
'';
};
extraPackages = mkOption { extraPackages = mkOption {
type = with types; listOf package; type = with types; listOf package;
default = [ ]; default = [ ];
@ -394,7 +405,8 @@ in {
"vim.cmd [[source ${ "vim.cmd [[source ${
pkgs.writeText "nvim-init-home-manager.vim" pkgs.writeText "nvim-init-home-manager.vim"
neovimConfig.neovimRcContent neovimConfig.neovimRcContent
}]]" + lib.optionalString hasLuaConfig }]]" + config.programs.neovim.extraLuaConfig
+ lib.optionalString hasLuaConfig
config.programs.neovim.generatedConfigs.lua; config.programs.neovim.generatedConfigs.lua;
in mkIf (luaRcContent != "") { text = luaRcContent; }; in mkIf (luaRcContent != "") { text = luaRcContent; };

View file

@ -5,4 +5,5 @@
# waiting for a nixpkgs patch # waiting for a nixpkgs patch
neovim-no-init = ./no-init.nix; neovim-no-init = ./no-init.nix;
neovim-extra-lua-init = ./extra-lua-init.nix;
} }

View file

@ -0,0 +1,23 @@
{ config, lib, pkgs, ... }:
with lib;
{
config = {
programs.neovim = {
enable = true;
extraLuaConfig = ''
-- extraLuaConfig
'';
};
nmt.script = ''
nvimFolder="home-files/.config/nvim"
assertFileContent "$nvimFolder/init.lua" ${
pkgs.writeText "init.lua-expected" ''
-- extraLuaConfig
''
}
'';
};
}