mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 00:25:42 +02:00
plugins/telescope/media-files: use the top-level dependencies option
This commit is contained in:
parent
0a301a428a
commit
89c94d9ea7
3 changed files with 67 additions and 79 deletions
|
@ -1,11 +1,10 @@
|
||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
inherit (lib.nixvim) defaultNullOpts;
|
inherit (lib.nixvim) defaultNullOpts mkSettingsRenamedOptionModules;
|
||||||
mkExtension = import ./_mk-extension.nix;
|
mkExtension = import ./_mk-extension.nix;
|
||||||
in
|
in
|
||||||
mkExtension {
|
mkExtension {
|
||||||
|
@ -13,69 +12,56 @@ mkExtension {
|
||||||
extensionName = "media_files";
|
extensionName = "media_files";
|
||||||
package = "telescope-media-files-nvim";
|
package = "telescope-media-files-nvim";
|
||||||
|
|
||||||
extraOptions = {
|
imports =
|
||||||
dependencies =
|
let
|
||||||
let
|
dependencies = {
|
||||||
mkDepOption =
|
chafa = "chafa";
|
||||||
{
|
imageMagick = "imagemagick";
|
||||||
name,
|
ffmpegthumbnailer = "ffmpegthumbnailer";
|
||||||
desc,
|
pdftoppm = "poppler-utils";
|
||||||
package ? name,
|
epub-thumbnailer = "epub-thumbnailer";
|
||||||
enabledByDefault ? false,
|
fontpreview = "fontpreview";
|
||||||
}:
|
|
||||||
{
|
|
||||||
enable = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = enabledByDefault;
|
|
||||||
description = ''
|
|
||||||
Whether to install the ${name} dependency.
|
|
||||||
${desc}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
package = mkPackageOption pkgs name { default = package; };
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
chafa = mkDepOption {
|
|
||||||
name = "chafa";
|
|
||||||
enabledByDefault = true;
|
|
||||||
desc = "Required for image support.";
|
|
||||||
};
|
|
||||||
|
|
||||||
imageMagick = mkDepOption {
|
|
||||||
name = "ImageMagick";
|
|
||||||
package = "imagemagick";
|
|
||||||
desc = "Required for svg previews.";
|
|
||||||
};
|
|
||||||
|
|
||||||
ffmpegthumbnailer = mkDepOption {
|
|
||||||
name = "ffmpegthumbnailer";
|
|
||||||
desc = "Required for video preview support.";
|
|
||||||
};
|
|
||||||
|
|
||||||
pdftoppm = mkDepOption {
|
|
||||||
name = "pdmtoppm";
|
|
||||||
package = "poppler_utils";
|
|
||||||
desc = "Required for pdf preview support.";
|
|
||||||
};
|
|
||||||
|
|
||||||
epub-thumbnailer = mkDepOption {
|
|
||||||
name = "epub-thumbnailer";
|
|
||||||
desc = "Required for epub preview support";
|
|
||||||
};
|
|
||||||
|
|
||||||
fontpreview = mkDepOption {
|
|
||||||
name = "fontpreview";
|
|
||||||
desc = "Required for font preview support.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
# 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";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
extraConfig = cfg: {
|
extraConfig = cfg: {
|
||||||
extraPackages = flatten (
|
dependencies = {
|
||||||
mapAttrsToList (name: { enable, package }: optional enable package) cfg.dependencies
|
chafa.enable = lib.mkDefault true;
|
||||||
);
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
settingsOptions = {
|
settingsOptions = {
|
||||||
|
|
|
@ -4,11 +4,13 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
disabledDeps = [
|
|
||||||
];
|
|
||||||
|
|
||||||
inherit (pkgs.stdenv) hostPlatform;
|
inherit (pkgs.stdenv) hostPlatform;
|
||||||
|
|
||||||
|
disabledDeps = lib.optionals hostPlatform.isDarwin [
|
||||||
|
# One of its dependencies is not available on darwin
|
||||||
|
"fontpreview"
|
||||||
|
];
|
||||||
|
|
||||||
isDepEnabled =
|
isDepEnabled =
|
||||||
name: package:
|
name: package:
|
||||||
# Filter disabled dependencies
|
# Filter disabled dependencies
|
||||||
|
|
|
@ -32,23 +32,23 @@
|
||||||
plugins.web-devicons.enable = true;
|
plugins.web-devicons.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
dependencies = {
|
withAllDependencies = {
|
||||||
plugins.telescope = {
|
plugins = {
|
||||||
enable = true;
|
telescope = {
|
||||||
|
|
||||||
extensions.media-files = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
dependencies = {
|
extensions.media-files.enable = true;
|
||||||
chafa.enable = true;
|
|
||||||
imageMagick.enable = true;
|
|
||||||
ffmpegthumbnailer.enable = true;
|
|
||||||
pdftoppm.enable = true;
|
|
||||||
epub-thumbnailer.enable = pkgs.stdenv.isLinux;
|
|
||||||
fontpreview.enable = pkgs.stdenv.isLinux;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
web-devicons.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
dependencies = {
|
||||||
|
chafa.enable = true;
|
||||||
|
epub-thumbnailer.enable = true;
|
||||||
|
ffmpegthumbnailer.enable = true;
|
||||||
|
fontpreview.enable = !pkgs.stdenv.hostPlatform.isDarwin;
|
||||||
|
imagemagick.enable = true;
|
||||||
|
poppler-utils.enable = true;
|
||||||
};
|
};
|
||||||
plugins.web-devicons.enable = true;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue