From ea3644cb098306fb767ae50426270491d190547a Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Mon, 7 Apr 2014 23:54:07 +0200 Subject: [PATCH] sushi: new package A quick previewer for Nautilus http://en.wikipedia.org/wiki/Sushi_(software) --- nixos/modules/module-list.nix | 1 + .../services/desktops/gnome3/sushi.nix | 38 +++++++++++++++++++ .../services/x11/desktop-managers/gnome3.nix | 1 + pkgs/desktops/gnome-3/core/sushi/default.nix | 38 +++++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 + 5 files changed, 80 insertions(+) create mode 100644 nixos/modules/services/desktops/gnome3/sushi.nix create mode 100644 pkgs/desktops/gnome-3/core/sushi/default.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 0b482dcda1bc..ecf1901d500d 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -97,6 +97,7 @@ ./services/databases/virtuoso.nix ./services/databases/monetdb.nix ./services/desktops/accountservice.nix + ./services/desktops/gnome3/sushi.nix ./services/games/ghost-one.nix ./services/games/minecraft-server.nix ./services/hardware/acpid.nix diff --git a/nixos/modules/services/desktops/gnome3/sushi.nix b/nixos/modules/services/desktops/gnome3/sushi.nix new file mode 100644 index 000000000000..7fe37e26f436 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/sushi.nix @@ -0,0 +1,38 @@ +# GNOME Sushi daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + + ###### interface + + options = { + + services.gnome3.sushi = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable Sushi, a quick previewer for nautilus. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.sushi.enable { + + environment.systemPackages = [ pkgs.gnome3.sushi ]; + + services.dbus.packages = [ pkgs.gnome3.sushi ]; + + }; + +} diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 381ebc7ad29f..985884595ab6 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -23,6 +23,7 @@ in { security.polkit.enable = true; services.udisks2.enable = true; services.accounts-daemon.enable = true; + services.gnome3.sushi.enable = true; networking.networkmanager.enable = true; services.upower.enable = config.powerManagement.enable; diff --git a/pkgs/desktops/gnome-3/core/sushi/default.nix b/pkgs/desktops/gnome-3/core/sushi/default.nix new file mode 100644 index 000000000000..55729a546697 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/sushi/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, pkgconfig, file, intltool, gobjectIntrospection, glib +, clutter_gtk, clutter-gst, gnome3, gtksourceview, libmusicbrainz +, webkitgtk, libmusicbrainz5, icu, makeWrapper, gst_all_1 +, gdk_pixbuf, librsvg, hicolor_icon_theme }: + +stdenv.mkDerivation rec { + name = "sushi-3.8.1"; + + src = fetchurl { + url = "mirror://gnome/sources/sushi/3.8/${name}.tar.xz"; + sha256 = "c4f24d0961ce8fc5ef3a4fe9af178e368c7117459df2c0be12c8f953646c82dd"; + }; + + propagatedUserEnvPkgs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good ]; + + buildInputs = [ pkgconfig file intltool gobjectIntrospection glib + clutter_gtk clutter-gst gnome3.gjs gtksourceview gdk_pixbuf librsvg + gnome3.gnome_icon_theme hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + libmusicbrainz5 webkitgtk gnome3.evince icu makeWrapper ]; + + enableParallelBuilding = true; + + preFixup = '' + wrapProgram $out/libexec/sushi-start \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \ + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with stdenv.lib; { + homepage = "http://en.wikipedia.org/wiki/Sushi_(software)"; + description = "A quick previewer for Nautilus"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index dac1a730eb0e..fb92cd80998f 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -114,6 +114,8 @@ rec { rest = callPackage ./core/rest { }; + sushi = callPackage ./core/sushi { }; + totem = callPackage ./core/totem { }; totem-pl-parser = callPackage ./core/totem-pl-parser { };