59 lines
2.4 KiB
Nix
59 lines
2.4 KiB
Nix
{
|
|||
buildLua,
|
|||
fetchFromGitHub,
|
|||
lib,
|
|||
unstableGitUpdater,
|
|||
}:
|
|||
let
|
|||
mkScript =
|
|||
pname: args:
|
|||
let
|
|||
self = {
|
|||
inherit pname;
|
|||
version = "0-unstable-2024-11-23";
|
|||
src = fetchFromGitHub {
|
|||
owner = "occivink";
|
|||
repo = "mpv-image-viewer";
|
|||
rev = "128b498e3e57a14deea5ca9bbf662f8c1ca79e8d";
|
|||
hash = "sha256-VwIL1529CW9MLK4N9jHHddSSZD5RsJ5bWGWqGJ751C0=";
|
|||
};
|
|||
|
|||
sourceRoot = "source/scripts";
|
|||
|
|||
passthru = {
|
|||
updateScript = unstableGitUpdater { };
|
|||
};
|
|||
|
|||
meta = {
|
|||
description = "Configuration, scripts and tips for using mpv as an image viewer";
|
|||
longDescription = ''
|
|||
${pname} is a component of mpv-image-viewer.
|
|||
|
|||
mpv-image-viewer aggregates configurations, scripts and tips for using
|
|||
mpv as an image viewer. The affectionate nickname mvi is given to mpv in
|
|||
such case.
|
|||
|
|||
Each mpv-image-viewer script can be used on its own without depending on
|
|||
any of the others. Refer to the README and script-opts/ directory for
|
|||
additional configuration tips or examples.
|
|||
'';
|
|||
homepage = "https://github.com/occivink/mpv-image-viewer";
|
|||
license = lib.licenses.unlicense;
|
|||
maintainers = with lib.maintainers; [ colinsane ];
|
|||
};
|
|||
};
|
|||
in
|
|||
buildLua (lib.attrsets.recursiveUpdate self args);
|
|||
in
|
|||
lib.recurseIntoAttrs (
|
|||
lib.mapAttrs (name: lib.makeOverridable (mkScript name)) {
|
|||
detect-image.meta.description = "Allows you to run specific commands when images are being displayed. Does not do anything by default, needs to be configured through detect_image.conf";
|
|||
equalizer = { };
|
|||
freeze-window.meta.description = "By default, mpv automatically resizes the window when the current file changes to fit its size. This script freezes the window so that this does not happen. There is no configuration";
|
|||
image-positioning.meta.description = "Adds several high-level commands to zoom and pan";
|
|||
minimap.meta.description = "Adds a minimap that displays the position of the image relative to the view";
|
|||
ruler.meta.description = "Adds a ruler command that lets you measure positions, distances and angles in the image. Can be configured through ruler.conf";
|
|||
status-line.meta.description = "Adds a status line that can show different properties in the corner of the window. By default it shows filename [positon/total] in the bottom left";
|
|||
}
|
|||
)
|