diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index b2f530474b5..a4915a2fa5c 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -101,6 +101,7 @@ ./services/desktops/gnome3/at-spi2-core.nix ./services/desktops/gnome3/evolution-data-server.nix ./services/desktops/gnome3/sushi.nix + ./services/desktops/gnome3/tracker.nix ./services/desktops/telepathy.nix ./services/games/ghost-one.nix ./services/games/minecraft-server.nix diff --git a/nixos/modules/services/desktops/gnome3/tracker.nix b/nixos/modules/services/desktops/gnome3/tracker.nix new file mode 100644 index 00000000000..94a22d0c881 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/tracker.nix @@ -0,0 +1,39 @@ +# Tracker daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + + ###### interface + + options = { + + services.gnome3.tracker = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable Tracker services, a search engine, + search tool and metadata storage system. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.tracker.enable { + + environment.systemPackages = [ pkgs.gnome3.tracker ]; + + services.dbus.packages = [ pkgs.gnome3.tracker ]; + + }; + +} diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index bebda772352..aa231f2bad7 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -33,6 +33,7 @@ in { services.gnome3.at-spi2-core.enable = true; services.gnome3.evolution-data-server.enable = true; services.gnome3.sushi.enable = true; + services.gnome3.tracker.enable = mkDefault true; services.telepathy.enable = true; networking.networkmanager.enable = true; services.upower.enable = config.powerManagement.enable; diff --git a/pkgs/desktops/gnome-3/core/tracker/default.nix b/pkgs/desktops/gnome-3/core/tracker/default.nix new file mode 100644 index 00000000000..6ac3592f6bf --- /dev/null +++ b/pkgs/desktops/gnome-3/core/tracker/default.nix @@ -0,0 +1,49 @@ +{ stdenv, intltool, fetchurl, libxml2, upower +, pkgconfig, gtk3, glib, hicolor_icon_theme +, bash, makeWrapper, itstool, vala, sqlite +, gnome3, librsvg, gdk_pixbuf, file, libnotify +, evolution_data_server, gst_all_1, poppler +, icu, taglib, libjpeg, libtiff, giflib, libcue +, libvorbis, flac, exempi, networkmanager +, libpng, libexif, libgsf, libuuid, bzip2 }: + +stdenv.mkDerivation rec { + name = "tracker-1.0.0"; + + src = fetchurl { + url = "mirror://gnome/sources/tracker/1.0/${name}.tar.xz"; + sha256 = "a1d033faf2c78f0e239f3c2c961b96623c9a7dabd938c08e3f5660bd70f54ba2"; + }; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + enableParallelBuilding = true; + + buildInputs = [ vala pkgconfig gtk3 glib intltool itstool libxml2 + bzip2 gnome3.totem-pl-parser + gnome3.gsettings_desktop_schemas makeWrapper file + gdk_pixbuf gnome3.gnome_icon_theme librsvg sqlite + upower libnotify evolution_data_server gnome3.libgee + gst_all_1.gstreamer gst_all_1.gst-plugins-base flac + poppler icu taglib libjpeg libtiff giflib libvorbis + exempi networkmanager libpng libexif libgsf libuuid + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + preFixup = '' + for f in $out/bin/* $out/libexec/*; do + wrapProgram $f \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + done + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Projects/Tracker; + description = "Desktop-neutral user information store, search tool and indexer"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index d9a673fb4c7..d8d510b0bb9 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -122,6 +122,8 @@ rec { totem-pl-parser = callPackage ./core/totem-pl-parser { }; + tracker = callPackage ./core/tracker { }; + vte = callPackage ./core/vte { }; vino = callPackage ./core/vino { };