diff --git a/pkgs/applications/graphics/nsxiv/default.nix b/pkgs/applications/graphics/nsxiv/default.nix new file mode 100644 index 000000000000..8c414c372479 --- /dev/null +++ b/pkgs/applications/graphics/nsxiv/default.nix @@ -0,0 +1,61 @@ +{ lib +, stdenv +, fetchFromGitHub +, giflib +, imlib2 +, libXft +, libexif +, libwebp +, conf ? null +}: + +stdenv.mkDerivation rec { + pname = "nsxiv"; + version = "28"; + + src = fetchFromGitHub { + owner = "nsxiv"; + repo = pname; + rev = "v${version}"; + hash = "sha256-12RmEAzZdeanrRtnan96loXT7qSjIMjcWf296XmNE+A="; + }; + + buildInputs = [ + giflib + imlib2 + libXft + libexif + libwebp + ]; + + preBuild = lib.optionalString (conf!=null) '' + cp ${(builtins.toFile "config.def.h" conf)} config.def.h + ''; + + makeFlags = [ + "PREFIX=${placeholder "out"}" + ]; + + meta = with lib; { + homepage = "https://nsxiv.github.io/nsxiv/"; + description = "New Suckless X Image Viewer"; + longDescription = '' + nsxiv is a fork of now unmaintained sxiv with the purpose of being a + drop-in replacement of sxiv, maintaining it and adding simple, sensible + features, like: + + - Basic image operations, e.g. zooming, panning, rotating + - Customizable key and mouse button mappings (in config.h) + - Script-ability via key-handler + - Thumbnail mode: grid of selectable previews of all images + - Ability to cache thumbnails for fast re-loading + - Basic support for animated/multi-frame images (GIF/WebP) + - Display image information in status bar + - Display image name/path in X title + ''; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = platforms.unix; + broken = stdenv.isDarwin; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4c8d9ec44fcc..32d8f7148096 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -28785,6 +28785,8 @@ with pkgs; sxiv = callPackage ../applications/graphics/sxiv { }; + nsxiv = callPackage ../applications/graphics/nsxiv { }; + resilio-sync = callPackage ../applications/networking/resilio-sync { }; dropbox = callPackage ../applications/networking/dropbox { };