[Nix-dev] Discussion: env vars as glue

phreedom at yandex.ru phreedom at yandex.ru
Mon Apr 15 22:07:16 CEST 2013


On Понедельник 15 апреля 2013 21:40:08 Lluís Batlle i Rossell wrote:
> On Mon, Apr 15, 2013 at 10:17:23PM +0300, phreedom at yandex.ru wrote:
> > On Понедельник 15 апреля 2013 18:59:52 Lluís Batlle i Rossell wrote:
> > > What uses do you have for:
> > > ALSA_PLUGIN_DIRS
> > 
> > This is used for LADSPA plugins(various sound processing apps) and for
> > input/output plugins(eg by pulseaudio).
> 
> Ok, now, can we make this a nixos-only option? Containing only a path
> prepared by nixos. People who want LADSPAT plugins, set them up with nixos.

ALSA_PLUGIN_DIRS is a nixpkgs patch (at least used to be). So installing 
plugins via nix for non-nix-installed apps is impossible. Otherwise, it's a 
quite useful feature to quickly install another sound effect.

> Pulseaudio is referred by full store path, iirc, not using this variable
> (/etc/asound.conf)

It used to be by name.

> > > GST_PLUGIN_PATH
> > 
> > Gstreamer plugins which do all the work. Apparently these are loaded
> > dynamically. Typical case: kde app plays media via phonon, which uses
> > phonon_backend_gstreamer to do the actual processing.
> 
> Don't people usually set this up in nixos, instead of the user profiles?
> What kind of plugins people install with nix-env?

Currently KDE in nixos pulls all available GST plugins. A KDE app installed 
via nix-env still needs this var to access the plugins.

> > > MOZ_PLUGIN_PATH
> > 
> > no idea.
> 
> Firefox plugins. But the wrapper does a better job than this, as I stated
> before.
> 
> > > QTWEBKIT_PLUGIN_PATH
> > 
> > Apparently, this helps webkit steal mozilla's extensions.  Likely any
> > kde app which is a browser or can use KParts(such as akregator) would
> > want this set.
> Maybe this can be set easily up to work with a wrapper like firefox? What
> kind of browsers would use that? If only konqueror, maybe that can be
> handled by nixos instead.

konqueror, rekonq, akregator, pretty much everything else which might display 
a web page in KDE.

> > > QT_PLUGIN_PATH
> > 
> > I'm not at all sure, but the dirs it links to aren't empty and they link
> > to things like phonon...
> > 
> > > STRIGI_PLUGIN_PATH
> > 
> > The idea was that every kde app would ship with analyzers for their
> > specific data formats and possibly common specialized data formats to
> > enable proper metadata extraction. Plugins can be direcly loaded by an
> > app linking to libstreamanalyzer or by a nepomuk service. While strigi
> > seems to be on its way out of kde 4.11, it's only because there's
> > another replacement plugin framework coming.
> 
> Can this be set up by nixos only, and not using the user profiles?

Some time ago, Dolphin used to directly link to libstreamanalyzer. Also this 
is just a subset of the KDEDIRS issue.

> > You managed to overlook the innocently-looking KDEDIRS. On a typical KDE
> > install this place contains 1k+ libs. Among these are KIPI plugins
> > shared by at least gwenview, krita and digikam, Kparts plugins which
> > are at least shared by konqueror and akregator and are always installed
> > by the app supplying the part.... While KDE usually requires ABI
> > compatibility in such cases, it doesn't help client apps  compiled
> > against newer version.
> 
> Right, KDEDIRS! :)
> 
> Don't most KDE programs require being set up by nixos anyway? Or this
> KDEDIRS was an addition towards allowing the install of extra KDE programs
> in profiles? This does not help much installing KDE programs without KDE in
> NixOS, in any case.

Yes, same as always: a quick install of a missing app, development of an app.  
KDE setup in nixos consists of setting the vars and installing several core 
packages. Could be done by hand if necessary. Concurrently running KDE apps 
linked against substantially different KDE versions may be a bad idea though 
even if frameworks troubles are sorted out.


More information about the nix-dev mailing list