modules/dependencies: add ueberzug

This commit is contained in:
Gaetan Lepage 2025-04-06 17:21:36 +02:00 committed by nix-infra-bot
parent cfd4b61262
commit 30c4d00b72
4 changed files with 11 additions and 17 deletions

View file

@ -9,6 +9,7 @@ let
packages = {
curl.default = "curl";
ueberzug.default = "ueberzugpp";
};
mkDependencyOption = name: properties: {

View file

@ -1,6 +1,5 @@
{
lib,
pkgs,
...
}:
let
@ -15,24 +14,13 @@ lib.nixvim.plugins.mkNeovimPlugin {
maintainers = [ lib.maintainers.GaetanLepage ];
# TODO: option deprecations added 2025-03-20. Remove after 25.05
# TODO: curlPackage deprecation added 2025-04-06. Remove after 25.05
# TODO: curlPackage and ueberzugPackage deprecations added 2025-04-06. Remove after 25.05
inherit (import ./deprecations.nix lib)
deprecateExtraOptions
optionsRenamedToSettings
imports
;
extraOptions = {
ueberzugPackage = lib.mkOption {
type = with types; nullOr package;
default = pkgs.ueberzugpp;
defaultText = lib.literalExpression "pkgs.ueberzugpp";
description = ''
Package to automatically install if `settings.backend.backend` is set to `"ueberzug"`.
'';
};
};
settingsOptions = {
backend =
defaultNullOpts.mkEnumFirstDefault
@ -139,8 +127,9 @@ lib.nixvim.plugins.mkNeovimPlugin {
extraConfig = cfg: {
# In theory, we could remove that if the user explicitly disables `downloadRemoteImages` for
# all integrations but shipping `curl` is not too heavy.
dependencies.curl.enable = lib.mkDefault true;
extraPackages = lib.optional (cfg.settings.backend == "ueberzug") cfg.ueberzugPackage;
dependencies = {
curl.enable = lib.mkDefault true;
ueberzug.enable = lib.mkIf (cfg.settings.backend == "ueberzug") (lib.mkDefault true);
};
};
}

View file

@ -22,5 +22,9 @@ lib: {
plugin = "image";
packageName = "curl";
})
(lib.nixvim.mkRemovedPackageOptionModule {
plugin = "image";
packageName = "ueberzug";
})
];
}

View file

@ -94,11 +94,11 @@
dependencies = {
curl.enable = false;
ueberzug.enable = false;
};
plugins.image = {
enable = true;
settings.backend = "kitty";
ueberzugPackage = null;
};
};
}