mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 16:39:00 +02:00
These should be set up in a dedicated test file, owned by `tests/default.nix`. Also refactored to use `callTest`.
107 lines
2.8 KiB
Nix
107 lines
2.8 KiB
Nix
{
|
|
self,
|
|
pkgs,
|
|
}:
|
|
let
|
|
inherit (self.inputs.home-manager.lib)
|
|
homeManagerConfiguration
|
|
;
|
|
|
|
config = {
|
|
home = {
|
|
username = "nixvim";
|
|
homeDirectory = "/invalid/dir";
|
|
stateVersion = "24.11";
|
|
};
|
|
|
|
programs.nixvim = {
|
|
enable = true;
|
|
|
|
performance.byteCompileLua.enable = true;
|
|
|
|
extraFiles = {
|
|
"extra-files/test1.lua".text = "vim.opt.tabstop = 2";
|
|
"extra-files/test2.lua".source = builtins.toFile "file_source.lua" "vim.opt.tabstop = 2";
|
|
"extra-files/test3.lua".source = pkgs.writeText "test3.lua" "vim.opt.tabstop = 2";
|
|
"extra-files/test.vim".text = "set tabstop=2";
|
|
"extra-files/test.json".text = builtins.toJSON { a = 1; };
|
|
};
|
|
|
|
files = {
|
|
"files/test.lua".opts.tabstop = 2;
|
|
"files/test.vim".opts.tabstop = 2;
|
|
};
|
|
};
|
|
};
|
|
|
|
homeFilesByteCompilingEnabled =
|
|
(homeManagerConfiguration {
|
|
inherit pkgs;
|
|
|
|
modules = [
|
|
self.homeManagerModules.nixvim
|
|
config
|
|
{ programs.nixvim.performance.byteCompileLua.configs = true; }
|
|
];
|
|
}).config.home-files;
|
|
|
|
homeFilesByteCompilingDisabled =
|
|
(homeManagerConfiguration {
|
|
inherit pkgs;
|
|
|
|
modules = [
|
|
self.homeManagerModules.nixvim
|
|
config
|
|
{ programs.nixvim.performance.byteCompileLua.configs = false; }
|
|
];
|
|
}).config.home-files;
|
|
in
|
|
pkgs.runCommand "home-manager-extra-files-byte-compiling" { } ''
|
|
is_binary() {
|
|
! grep -qI . "$1"
|
|
}
|
|
test_byte_compiled() {
|
|
if ! is_binary "$home_files/.config/nvim/$1"; then
|
|
echo "File $1 is expected to be byte compiled, but it's not"
|
|
exit 1
|
|
fi
|
|
}
|
|
test_not_byte_compiled() {
|
|
if is_binary "$home_files/.config/nvim/$1"; then
|
|
echo "File $1 is not expected to be byte compiled, but it is"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
# Test directory with extraFiles byte compiling enabled
|
|
home_files="${homeFilesByteCompilingEnabled}"
|
|
|
|
echo "Testing home-files with extraFiles byte compiling enabled"
|
|
|
|
# extraFiles
|
|
test_byte_compiled extra-files/test1.lua
|
|
test_byte_compiled extra-files/test2.lua
|
|
test_byte_compiled extra-files/test3.lua
|
|
test_not_byte_compiled extra-files/test.vim
|
|
test_not_byte_compiled extra-files/test.json
|
|
# files
|
|
test_byte_compiled files/test.lua
|
|
test_not_byte_compiled files/test.vim
|
|
|
|
# Test directory with extraFiles byte compiling disabled
|
|
home_files="${homeFilesByteCompilingDisabled}"
|
|
|
|
echo "Testing home-files with extraFiles byte compiling disabled"
|
|
|
|
# extraFiles
|
|
test_not_byte_compiled extra-files/test1.lua
|
|
test_not_byte_compiled extra-files/test2.lua
|
|
test_not_byte_compiled extra-files/test3.lua
|
|
test_not_byte_compiled extra-files/test.vim
|
|
test_not_byte_compiled extra-files/test.json
|
|
# files
|
|
test_not_byte_compiled files/test.lua
|
|
test_not_byte_compiled files/test.vim
|
|
|
|
touch $out
|
|
''
|