diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 5c30d74be69..2418c87e569 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -103,6 +103,7 @@ ./services/desktops/gnome3/gnome-keyring.nix ./services/desktops/gnome3/gnome-online-accounts.nix ./services/desktops/gnome3/gnome-user-share.nix + ./services/desktops/gnome3/seahorse.nix ./services/desktops/gnome3/sushi.nix ./services/desktops/gnome3/tracker.nix ./services/desktops/telepathy.nix diff --git a/nixos/modules/services/desktops/gnome3/seahorse.nix b/nixos/modules/services/desktops/gnome3/seahorse.nix new file mode 100644 index 00000000000..cad22a6a598 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/seahorse.nix @@ -0,0 +1,38 @@ +# Seahorse daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + + ###### interface + + options = { + + services.gnome3.seahorse = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable Seahorse search provider for the GNOME Shell activity search. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.seahorse.enable { + + environment.systemPackages = [ pkgs.gnome3.seahorse ]; + + services.dbus.packages = [ pkgs.gnome3.seahorse ]; + + }; + +} diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index b1f9737454a..3fe28cdc880 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -55,6 +55,7 @@ in { services.gnome3.gnome-keyring.enable = true; services.gnome3.gnome-online-accounts.enable = mkDefault true; services.gnome3.gnome-user-share.enable = mkDefault true; + services.gnome3.seahorse.enable = mkDefault true; services.gnome3.sushi.enable = mkDefault true; services.gnome3.tracker.enable = mkDefault true; hardware.pulseaudio.enable = mkDefault true; diff --git a/pkgs/desktops/gnome-3/apps/seahorse/default.nix b/pkgs/desktops/gnome-3/apps/seahorse/default.nix new file mode 100644 index 00000000000..cecc4a8913d --- /dev/null +++ b/pkgs/desktops/gnome-3/apps/seahorse/default.nix @@ -0,0 +1,41 @@ +{ stdenv, intltool, fetchurl +, pkgconfig, gtk3, glib, hicolor_icon_theme +, makeWrapper, itstool, gnupg, libsoup +, gnome3, librsvg, gdk_pixbuf, gpgme +, libsecret, avahi, p11_kit }: + +stdenv.mkDerivation rec { + name = "seahorse-3.10.2"; + + src = fetchurl { + url = "mirror://gnome/sources/seahorse/3.10/${name}.tar.xz"; + sha256 = "89cabf19f77a55f220bc61a3b97e4db845a0980f0f1d9c66147cc9a4ced8cd16"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.gcr + gnome3.gsettings_desktop_schemas makeWrapper gnupg + gdk_pixbuf gnome3.gnome_icon_theme librsvg gpgme + libsecret avahi libsoup p11_kit + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + preFixup = '' + wrapProgram "$out/bin/seahorse" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Seahorse; + description = "Application for managing encryption keys and passwords in the GnomeKeyring"; + 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 b03d1107a23..0e6f2a93918 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -156,6 +156,8 @@ rec { # scrollkeeper replacement rarian = callPackage ./desktop/rarian { }; + seahorse = callPackage ./apps/seahorse { }; + #### Misc -- other packages on http://ftp.gnome.org/pub/GNOME/sources/