tests: remove special treatment of module

Since we no longer need to extract `tests.dontRun` from an attrset, we
no longer need the "special" `module` attr.
This commit is contained in:
Matt Sturgeon 2024-08-20 00:54:50 +01:00
parent 7b2a6cd9e6
commit 123a55ed6f
No known key found for this signature in database
GPG key ID: 4F91844CED1A8299
14 changed files with 266 additions and 285 deletions

View file

@ -1,41 +1,39 @@
{ pkgs, ... }:
{
all-sources = {
module =
{ config, ... }:
{
plugins = {
copilot-lua = {
enable = true;
all-sources =
{ config, ... }:
{
plugins = {
copilot-lua = {
enable = true;
panel.enabled = false;
suggestion.enabled = false;
};
panel.enabled = false;
suggestion.enabled = false;
};
cmp = {
enable = true;
settings.sources =
with pkgs.lib;
let
disabledSources = [
# We do not provide the required HF_API_KEY environment variable.
"cmp_ai"
# Triggers the warning complaining about treesitter highlighting being disabled
"otter"
] ++ optional (pkgs.stdenv.hostPlatform.system == "aarch64-linux") "cmp_tabnine";
in
pipe config.cmpSourcePlugins [
# All known source names
attrNames
# Filter out disabled sources
(filter (name: !(elem name disabledSources)))
# Convert names to source attributes
(map (name: {
inherit name;
}))
];
};
cmp = {
enable = true;
settings.sources =
with pkgs.lib;
let
disabledSources = [
# We do not provide the required HF_API_KEY environment variable.
"cmp_ai"
# Triggers the warning complaining about treesitter highlighting being disabled
"otter"
] ++ optional (pkgs.stdenv.hostPlatform.system == "aarch64-linux") "cmp_tabnine";
in
pipe config.cmpSourcePlugins [
# All known source names
attrNames
# Filter out disabled sources
(filter (name: !(elem name disabledSources)))
# Convert names to source attributes
(map (name: {
inherit name;
}))
];
};
};
};
};
}

View file

@ -3,23 +3,21 @@
plugins.coq-nvim.enable = true;
};
nixvim-defaults = {
module =
{ pkgs, ... }:
{
plugins.coq-nvim = {
# It seems that the plugin has issues being executed in the same derivation
enable = !(pkgs.stdenv.isDarwin && pkgs.stdenv.isx86_64);
nixvim-defaults =
{ pkgs, ... }:
{
plugins.coq-nvim = {
# It seems that the plugin has issues being executed in the same derivation
enable = !(pkgs.stdenv.isDarwin && pkgs.stdenv.isx86_64);
settings = {
xdg = true;
auto_start = true;
keymap.recommended = true;
completion.always = true;
};
settings = {
xdg = true;
auto_start = true;
keymap.recommended = true;
completion.always = true;
};
};
};
};
artifacts = {
plugins.coq-nvim = {

View file

@ -98,71 +98,69 @@
};
};
with-sources = {
module =
{
config,
options,
lib,
pkgs,
...
}:
{
plugins.none-ls = {
# sandbox-exec: pattern serialization length 159032 exceeds maximum (65535)
enable = !pkgs.stdenv.isDarwin;
with-sources =
{
config,
options,
lib,
pkgs,
...
}:
{
plugins.none-ls = {
# sandbox-exec: pattern serialization length 159032 exceeds maximum (65535)
enable = !pkgs.stdenv.isDarwin;
sources =
let
disabled =
[
# As of 2024-03-22, pkgs.d2 is broken
# TODO: re-enable this test when fixed
"d2_fmt"
# TODO: can this be re-enabled?
"yamlfix"
]
++ (lib.optionals (pkgs.stdenv.isDarwin && pkgs.stdenv.isx86_64) [
# As of 2024-03-27, pkgs.graalvm-ce (a dependency of pkgs.clj-kondo) is broken on x86_64-darwin
# TODO: re-enable this test when fixed
"clj_kondo"
])
++ (lib.optionals pkgs.stdenv.isDarwin [
# As of 2024-05-22, python311Packages.k5test (one of ansible-lint's dependenvies) is broken on darwin
# TODO: re-enable this test when fixed
"ansible_lint"
"clazy"
"gdformat"
"gdlint"
"haml_lint"
# As of 2024-06-29, pkgs.rubyfmt is broken on darwin
# TODO: re-enable this test when fixed
"rubyfmt"
"verilator"
"verible_verilog_format"
])
++ (lib.optionals pkgs.stdenv.isAarch64 [
"semgrep"
"smlfmt"
# As of 2024-03-11, swift-format is broken on aarch64
# TODO: re-enable this test when fixed
"swift_format"
]);
in
# Enable every none-ls source that has an option
sources =
let
disabled =
[
# As of 2024-03-22, pkgs.d2 is broken
# TODO: re-enable this test when fixed
"d2_fmt"
# TODO: can this be re-enabled?
"yamlfix"
]
++ (lib.optionals (pkgs.stdenv.isDarwin && pkgs.stdenv.isx86_64) [
# As of 2024-03-27, pkgs.graalvm-ce (a dependency of pkgs.clj-kondo) is broken on x86_64-darwin
# TODO: re-enable this test when fixed
"clj_kondo"
])
++ (lib.optionals pkgs.stdenv.isDarwin [
# As of 2024-05-22, python311Packages.k5test (one of ansible-lint's dependenvies) is broken on darwin
# TODO: re-enable this test when fixed
"ansible_lint"
"clazy"
"gdformat"
"gdlint"
"haml_lint"
# As of 2024-06-29, pkgs.rubyfmt is broken on darwin
# TODO: re-enable this test when fixed
"rubyfmt"
"verilator"
"verible_verilog_format"
])
++ (lib.optionals pkgs.stdenv.isAarch64 [
"semgrep"
"smlfmt"
# As of 2024-03-11, swift-format is broken on aarch64
# TODO: re-enable this test when fixed
"swift_format"
]);
in
# Enable every none-ls source that has an option
lib.mapAttrs (
_:
lib.mapAttrs (
_:
lib.mapAttrs (
sourceName: opts:
{
# Enable unless disabled above
enable = !(lib.elem sourceName disabled);
}
# Some sources have a package option with no default
// lib.optionalAttrs (opts ? package && !(opts.package ? default)) { package = null; }
)
) options.plugins.none-ls.sources;
};
sourceName: opts:
{
# Enable unless disabled above
enable = !(lib.elem sourceName disabled);
}
# Some sources have a package option with no default
// lib.optionalAttrs (opts ? package && !(opts.package ? default)) { package = null; }
)
) options.plugins.none-ls.sources;
};
};
};
}

View file

@ -26,145 +26,141 @@ in
};
# single-plugin and priority of plugins.lz-n.settings to globals.lz-n
example-single-plugin = {
module =
{ pkgs, lib, ... }:
{
extraPlugins = optionalPlugins [ pkgs.vimPlugins.neo-tree-nvim ];
example-single-plugin =
{ pkgs, lib, ... }:
{
extraPlugins = optionalPlugins [ pkgs.vimPlugins.neo-tree-nvim ];
plugins.lz-n = {
enable = true;
settings = {
load = lib.mkDefault "vim.cmd.packadd";
};
plugins = [
# enabled, on keys as rawLua
{
__unkeyed-1 = "neo-tree.nvim";
enabled = ''
function()
return true
end
'';
keys = [
{
__unkeyed-1 = "<leader>ft";
__unkeyed-2 = "<CMD>Neotree toggle<CR>";
desc = "NeoTree toggle";
}
];
after = # lua
''
function()
require("neo-tree").setup()
end
'';
}
];
plugins.lz-n = {
enable = true;
settings = {
load = lib.mkDefault "vim.cmd.packadd";
};
};
};
example-multiple-plugin = {
module =
{ pkgs, lib, ... }:
{
extraPlugins =
with pkgs.vimPlugins;
[ onedarker-nvim ]
++ (optionalPlugins [
neo-tree-nvim
dial-nvim
vimtex
telescope-nvim
nvim-biscuits
crates-nvim
]);
plugins.treesitter.enable = true;
plugins.lz-n = {
enable = true;
plugins = [
# enabled, on keys
{
__unkeyed-1 = "neo-tree.nvim";
enabled = ''
plugins = [
# enabled, on keys as rawLua
{
__unkeyed-1 = "neo-tree.nvim";
enabled = ''
function()
return true
end
'';
keys = [
{
__unkeyed-1 = "<leader>ft";
__unkeyed-2 = "<CMD>Neotree toggle<CR>";
desc = "NeoTree toggle";
}
];
after = # lua
''
function()
return true
require("neo-tree").setup()
end
'';
keys = [
{
__unkeyed-1 = "<leader>ft";
__unkeyed-2 = "<CMD>Neotree toggle<CR>";
desc = "NeoTree toggle";
}
];
after = # lua
''
function()
require("neo-tree").setup()
end
'';
}
# on keys as list of str and rawLua
{
__unkeyed-1 = "dial.nvim";
keys = [
"<C-a>"
{ __raw = "{ '<C-x>'; mode = 'n' }"; }
];
}
# beforeAll, before, on filetype
{
__unkeyed-1 = "vimtex";
ft = [ "plaintex" ];
beforeAll = # lua
''
function()
vim.g.vimtex_compiler_method = "latexrun"
end
'';
before = # lua
''
function()
vim.g.vimtex_compiler_method = "latexmk"
end
'';
}
# On event
{
__unkeyed-1 = "nvim-biscuits";
event.__raw = "{ 'BufEnter *.lua' }";
after.__raw = ''
}
];
};
};
example-multiple-plugin =
{ pkgs, lib, ... }:
{
extraPlugins =
with pkgs.vimPlugins;
[ onedarker-nvim ]
++ (optionalPlugins [
neo-tree-nvim
dial-nvim
vimtex
telescope-nvim
nvim-biscuits
crates-nvim
]);
plugins.treesitter.enable = true;
plugins.lz-n = {
enable = true;
plugins = [
# enabled, on keys
{
__unkeyed-1 = "neo-tree.nvim";
enabled = ''
function()
return true
end
'';
keys = [
{
__unkeyed-1 = "<leader>ft";
__unkeyed-2 = "<CMD>Neotree toggle<CR>";
desc = "NeoTree toggle";
}
];
after = # lua
''
function()
require('nvim-biscuits').setup({})
require("neo-tree").setup()
end
'';
}
# On command no setup function, priority
{
__unkeyed-1 = "telescope.nvim";
cmd = [ "Telescope" ];
priority = 500;
}
# On colorschme
{
__unkeyed-1 = "onedarker.nvim";
colorscheme = [ "onedarker" ];
}
# raw value
{
__raw = ''
{
"crates.nvim",
ft = "toml",
}
}
# on keys as list of str and rawLua
{
__unkeyed-1 = "dial.nvim";
keys = [
"<C-a>"
{ __raw = "{ '<C-x>'; mode = 'n' }"; }
];
}
# beforeAll, before, on filetype
{
__unkeyed-1 = "vimtex";
ft = [ "plaintex" ];
beforeAll = # lua
''
function()
vim.g.vimtex_compiler_method = "latexrun"
end
'';
}
];
};
before = # lua
''
function()
vim.g.vimtex_compiler_method = "latexmk"
end
'';
}
# On event
{
__unkeyed-1 = "nvim-biscuits";
event.__raw = "{ 'BufEnter *.lua' }";
after.__raw = ''
function()
require('nvim-biscuits').setup({})
end
'';
}
# On command no setup function, priority
{
__unkeyed-1 = "telescope.nvim";
cmd = [ "Telescope" ];
priority = 500;
}
# On colorschme
{
__unkeyed-1 = "onedarker.nvim";
colorscheme = [ "onedarker" ];
}
# raw value
{
__raw = ''
{
"crates.nvim",
ft = "toml",
}
'';
}
];
};
};
};
}

View file

@ -18,18 +18,16 @@
};
};
combine-plugins.module =
{ config, ... }:
{
plugins.telescope.enable = true;
combine-plugins = {
plugins.telescope.enable = true;
performance.combinePlugins.enable = true;
performance.combinePlugins.enable = true;
extraConfigLuaPost = # lua
''
-- I don't know how run telescope properly in test environment,
-- so just check that files exist
assert(vim.api.nvim_get_runtime_file("data/memes/planets/earth", false)[1], "telescope planets aren't found in runtime")
'';
};
extraConfigLuaPost = # lua
''
-- I don't know how run telescope properly in test environment,
-- so just check that files exist
assert(vim.api.nvim_get_runtime_file("data/memes/planets/earth", false)[1], "telescope planets aren't found in runtime")
'';
};
}

View file

@ -26,7 +26,7 @@
};
};
check-alias.module =
check-alias =
{ config, ... }:
{
assertions = [