mirror of
https://github.com/nix-community/home-manager
synced 2024-12-21 02:23:16 +00:00
478610aa37
The previous version linked the file into home, then sourced that. Since nothing else expects that file to be there, this is unnecessary. Additionally, doing so made it impossible to test a built config without switching, e.g. using `XDG_CONFIG_HOME=… nvim` or `nvim -u`. This remedies that, at least for this particular reference. To test this, change from asserting contents of the config file to actually starting nvim, outputting sentinel values, and then asserting their values are present. This way it’s tested that nvim loaded the config, rather than that some config is in a specific place. This is all in one commit as the test, as written now, would not have worked before since the previously hard-coded home path was not an actual file in the test environment.
34 lines
811 B
Nix
34 lines
811 B
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
|
|
{
|
|
config = {
|
|
programs.neovim = {
|
|
enable = true;
|
|
extraConfig = ''
|
|
let g:hmExtraConfig='HM_EXTRA_CONFIG'
|
|
'';
|
|
plugins = with pkgs.vimPlugins; [
|
|
vim-nix
|
|
{
|
|
plugin = vim-commentary;
|
|
config = ''
|
|
let g:hmPlugins='HM_PLUGINS_CONFIG'
|
|
'';
|
|
}
|
|
];
|
|
extraLuaPackages = [ pkgs.lua51Packages.luautf8 ];
|
|
};
|
|
|
|
nmt.script = ''
|
|
vimout=$(mktemp)
|
|
echo "redir >> /dev/stdout | echo g:hmExtraConfig | echo g:hmPlugins | redir END" \
|
|
| ${pkgs.neovim}/bin/nvim -es -u "$TESTED/home-files/.config/nvim/init.lua" \
|
|
> "$vimout"
|
|
assertFileContains "$vimout" "HM_EXTRA_CONFIG"
|
|
assertFileContains "$vimout" "HM_PLUGINS_CONFIG"
|
|
'';
|
|
};
|
|
}
|
|
|