diff options
Diffstat (limited to 'pkgs/applications/graphics/glimpse/wrapper.nix')
-rw-r--r-- | pkgs/applications/graphics/glimpse/wrapper.nix | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/pkgs/applications/graphics/glimpse/wrapper.nix b/pkgs/applications/graphics/glimpse/wrapper.nix new file mode 100644 index 000000000000..cdfb2f668731 --- /dev/null +++ b/pkgs/applications/graphics/glimpse/wrapper.nix @@ -0,0 +1,30 @@ +{ lib, symlinkJoin, glimpse, makeWrapper, glimpsePlugins, gnome3, plugins ? null }: + +let + allPlugins = lib.filter (pkg: lib.isDerivation pkg && !pkg.meta.broken or false) (lib.attrValues glimpsePlugins); + selectedPlugins = if plugins == null then allPlugins else plugins; + extraArgs = map (x: x.wrapArgs or "") selectedPlugins; + versionBranch = lib.versions.majorMinor glimpse.version; + +in +symlinkJoin { + name = "glimpse-with-plugins-${glimpse.version}"; + + paths = [ glimpse ] ++ selectedPlugins; + + buildInputs = [ makeWrapper ]; + + postBuild = '' + for each in glimpse-${versionBranch} glimpse-console-${versionBranch}; do + wrapProgram $out/bin/$each \ + --set GIMP2_PLUGINDIR "$out/lib/glimpse/2.0" \ + --set GIMP2_DATADIR "$out/share/glimpse/2.0" \ + --prefix GTK_PATH : "${gnome3.gnome-themes-extra}/lib/gtk-2.0" \ + ${toString extraArgs} + done + + for each in glimpse glimpse-console; do + ln -sf "$each-${versionBranch}" $out/bin/$each + done + ''; +} |