{ makeNixvim, makeNixvimWithModule, lib, helpers, pkgs, }: let fetchTests = import ./fetch-tests.nix; test-derivation = import ./test-derivation.nix {inherit pkgs makeNixvim makeNixvimWithModule;}; inherit (test-derivation) mkTestDerivation; # List of files containing configurations testFiles = fetchTests { inherit lib pkgs helpers; root = ./test-sources; }; exampleFiles = { example = let config = import ../example.nix {inherit pkgs;}; in builtins.removeAttrs config.programs.nixvim [ # This is not available to standalone modules, only HM & NixOS Modules "enable" # This is purely an example, it does not reflect a real usage "extraConfigLua" "extraConfigVim" ]; }; # We attempt to build & execute all configurations derivationList = pkgs.lib.mapAttrsToList ( name: path: { inherit name; path = mkTestDerivation name path; } ) (testFiles // exampleFiles); in pkgs.linkFarm "nixvim-tests" derivationList