nix-community.nixvim/plugins/by-name/telescope/extensions/media-files.nix

87 lines
1.8 KiB
Nix

{
lib,
...
}:
with lib;
let
inherit (lib.nixvim) defaultNullOpts mkSettingsRenamedOptionModules;
mkExtension = import ./_mk-extension.nix;
in
mkExtension {
name = "media-files";
extensionName = "media_files";
package = "telescope-media-files-nvim";
imports =
let
dependencies = {
chafa = "chafa";
imageMagick = "imagemagick";
ffmpegthumbnailer = "ffmpegthumbnailer";
pdftoppm = "poppler-utils";
epub-thumbnailer = "epub-thumbnailer";
fontpreview = "fontpreview";
};
# TODO: Added 2025-04-27. Remove after 25.11
deprecations = lib.concatLists (
lib.mapAttrsToList (
oldName: newName:
mkSettingsRenamedOptionModules
[
"plugins"
"telescope"
"extensions"
"media-files"
"dependencies"
oldName
]
[
"dependencies"
newName
]
[ "enable" "package" ]
) dependencies
);
in
deprecations
++ [
{
__depPackages = {
chafa.default = "chafa";
epub-thumbnailer.default = "epub-thumbnailer";
ffmpegthumbnailer.default = "ffmpegthumbnailer";
fontpreview.default = "fontpreview";
imagemagick.default = "imagemagick";
poppler-utils.default = "poppler_utils";
};
}
];
dependencies = [ "chafa" ];
settingsOptions = {
filetypes = defaultNullOpts.mkListOf types.str [
"png"
"jpg"
"gif"
"mp4"
"webm"
"pdf"
] "Filetypes whitelist.";
find_cmd = defaultNullOpts.mkStr "fd" ''
Which find command to use.
'';
};
settingsExample = {
filetypes = [
"png"
"webp"
"jpg"
"jpeg"
];
find_cmd = "rg";
};
}