forked from mirrors/nixpkgs
Merge pull request #2185 from lethalman/gnome3
tracker, licenses.cc-by-30, gnome-user-docs, upgrade sushi, gnome-keyring service, gnome-user-share, gnome-tweak-tool, gnome-shell-extensions, xdg-user-dirs
This commit is contained in:
commit
3a9f28ee08
28 changed files with 666 additions and 34 deletions
|
@ -64,6 +64,12 @@
|
||||||
url = https://fedoraproject.org/wiki/Licensing/BSD;
|
url = https://fedoraproject.org/wiki/Licensing/BSD;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
cc-by-30 = {
|
||||||
|
shortName = "CC BY 3.0";
|
||||||
|
fullName = "Creative Commons Attribution 3.0";
|
||||||
|
url = http://creativecommons.org/licenses/by/3.0;
|
||||||
|
};
|
||||||
|
|
||||||
cddl = {
|
cddl = {
|
||||||
shortName = "CDDL";
|
shortName = "CDDL";
|
||||||
fullName = "Common Development Distribution License ";
|
fullName = "Common Development Distribution License ";
|
||||||
|
|
|
@ -227,6 +227,4 @@ in rec {
|
||||||
|
|
||||||
crossLists = f: foldl (fs: args: concatMap (f: map f args) fs) [f];
|
crossLists = f: foldl (fs: args: concatMap (f: map f args) fs) [f];
|
||||||
|
|
||||||
# List difference, xs - ys. Removes elements of ys from xs.
|
|
||||||
difference = xs: ys: filter (y: !(builtins.elem y ys)) xs;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -135,6 +135,10 @@ in
|
||||||
if [ -x $out/bin/glib-compile-schemas -a -w $out/share/glib-2.0/schemas ]; then
|
if [ -x $out/bin/glib-compile-schemas -a -w $out/share/glib-2.0/schemas ]; then
|
||||||
$out/bin/glib-compile-schemas $out/share/glib-2.0/schemas
|
$out/bin/glib-compile-schemas $out/share/glib-2.0/schemas
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -x $out/bin/update-desktop-database -a -w $out/share/applications ]; then
|
||||||
|
$out/bin/update-desktop-database $out/share/applications
|
||||||
|
fi
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -100,7 +100,11 @@
|
||||||
./services/desktops/accountservice.nix
|
./services/desktops/accountservice.nix
|
||||||
./services/desktops/gnome3/at-spi2-core.nix
|
./services/desktops/gnome3/at-spi2-core.nix
|
||||||
./services/desktops/gnome3/evolution-data-server.nix
|
./services/desktops/gnome3/evolution-data-server.nix
|
||||||
|
./services/desktops/gnome3/gnome-keyring.nix
|
||||||
|
./services/desktops/gnome3/gnome-online-accounts.nix
|
||||||
|
./services/desktops/gnome3/gnome-user-share.nix
|
||||||
./services/desktops/gnome3/sushi.nix
|
./services/desktops/gnome3/sushi.nix
|
||||||
|
./services/desktops/gnome3/tracker.nix
|
||||||
./services/desktops/telepathy.nix
|
./services/desktops/telepathy.nix
|
||||||
./services/games/ghost-one.nix
|
./services/games/ghost-one.nix
|
||||||
./services/games/minecraft-server.nix
|
./services/games/minecraft-server.nix
|
||||||
|
|
40
nixos/modules/services/desktops/gnome3/gnome-keyring.nix
Normal file
40
nixos/modules/services/desktops/gnome3/gnome-keyring.nix
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
# GNOME Keyring daemon.
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
with pkgs.lib;
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
###### interface
|
||||||
|
|
||||||
|
options = {
|
||||||
|
|
||||||
|
services.gnome3.gnome-keyring = {
|
||||||
|
|
||||||
|
enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Whether to enable GNOME Keyring daemon, a service designed to
|
||||||
|
take care of the user's security credentials,
|
||||||
|
such as user names and passwordsa search engine.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
###### implementation
|
||||||
|
|
||||||
|
config = mkIf config.services.gnome3.gnome-keyring.enable {
|
||||||
|
|
||||||
|
environment.systemPackages = [ pkgs.gnome3.gnome_keyring ];
|
||||||
|
|
||||||
|
services.dbus.packages = [ pkgs.gnome3.gnome_keyring ];
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
# GNOME Online Accounts daemon.
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
with pkgs.lib;
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
###### interface
|
||||||
|
|
||||||
|
options = {
|
||||||
|
|
||||||
|
services.gnome3.gnome-online-accounts = {
|
||||||
|
|
||||||
|
enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Whether to enable GNOME Online Accounts daemon, a service that provides
|
||||||
|
a single sign-on framework for the GNOME desktop.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
###### implementation
|
||||||
|
|
||||||
|
config = mkIf config.services.gnome3.gnome-online-accounts.enable {
|
||||||
|
|
||||||
|
environment.systemPackages = [ pkgs.gnome3.gnome_online_accounts ];
|
||||||
|
|
||||||
|
services.dbus.packages = [ pkgs.gnome3.gnome_online_accounts ];
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
42
nixos/modules/services/desktops/gnome3/gnome-user-share.nix
Normal file
42
nixos/modules/services/desktops/gnome3/gnome-user-share.nix
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
# GNOME User Share daemon.
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
with pkgs.lib;
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
###### interface
|
||||||
|
|
||||||
|
options = {
|
||||||
|
|
||||||
|
services.gnome3.gnome-user-share = {
|
||||||
|
|
||||||
|
enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Whether to enable GNOME User Share, a service that exports the
|
||||||
|
contents of the Public folder in your home directory on the local network.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
###### implementation
|
||||||
|
|
||||||
|
config = mkIf config.services.gnome3.gnome-user-share.enable {
|
||||||
|
|
||||||
|
environment.systemPackages = [ pkgs.gnome3.gnome-user-share ];
|
||||||
|
|
||||||
|
services.xserver.displayManager.sessionCommands = with pkgs.gnome3; ''
|
||||||
|
# Don't let gnome-control-center depend upon gnome-user-share
|
||||||
|
export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${gnome-user-share}/share/gsettings-schemas/${gnome-user-share.name}
|
||||||
|
'';
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
39
nixos/modules/services/desktops/gnome3/tracker.nix
Normal file
39
nixos/modules/services/desktops/gnome3/tracker.nix
Normal file
|
@ -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 ];
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -5,6 +5,16 @@ with lib;
|
||||||
let
|
let
|
||||||
cfg = config.services.xserver.desktopManager.gnome3;
|
cfg = config.services.xserver.desktopManager.gnome3;
|
||||||
gnome3 = pkgs.gnome3;
|
gnome3 = pkgs.gnome3;
|
||||||
|
|
||||||
|
# Remove packages of ys from xs, based on their names
|
||||||
|
removePackagesByName = xs: ys:
|
||||||
|
let
|
||||||
|
pkgName = drv: (builtins.parseDrvName drv.name).name;
|
||||||
|
ysNames = map pkgName ys;
|
||||||
|
res = (filter (x: !(builtins.elem (pkgName x) ysNames)) xs);
|
||||||
|
in
|
||||||
|
filter (x: !(builtins.elem (pkgName x) ysNames)) xs;
|
||||||
|
|
||||||
in {
|
in {
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
|
@ -32,8 +42,12 @@ in {
|
||||||
services.accounts-daemon.enable = true;
|
services.accounts-daemon.enable = true;
|
||||||
services.gnome3.at-spi2-core.enable = true;
|
services.gnome3.at-spi2-core.enable = true;
|
||||||
services.gnome3.evolution-data-server.enable = true;
|
services.gnome3.evolution-data-server.enable = true;
|
||||||
services.gnome3.sushi.enable = true;
|
services.gnome3.gnome-keyring.enable = true;
|
||||||
services.telepathy.enable = true;
|
services.gnome3.gnome-online-accounts.enable = mkDefault true;
|
||||||
|
services.gnome3.gnome-user-share.enable = mkDefault true;
|
||||||
|
services.gnome3.sushi.enable = mkDefault true;
|
||||||
|
services.gnome3.tracker.enable = mkDefault true;
|
||||||
|
services.telepathy.enable = mkDefault true;
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
services.upower.enable = config.powerManagement.enable;
|
services.upower.enable = config.powerManagement.enable;
|
||||||
|
|
||||||
|
@ -50,6 +64,12 @@ in {
|
||||||
|
|
||||||
export XDG_MENU_PREFIX=gnome
|
export XDG_MENU_PREFIX=gnome
|
||||||
|
|
||||||
|
# Don't let epiphany depend upon gnome-shell
|
||||||
|
export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${pkgs.gnome3.gnome_shell}/share/gsettings-schemas/${pkgs.gnome3.gnome_shell.name}
|
||||||
|
|
||||||
|
# Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/
|
||||||
|
${pkgs.xdg-user-dirs}/bin/xdg-user-dirs-update
|
||||||
|
|
||||||
${gnome3.gnome_session}/bin/gnome-session&
|
${gnome3.gnome_session}/bin/gnome-session&
|
||||||
waitPID=$!
|
waitPID=$!
|
||||||
'';
|
'';
|
||||||
|
@ -58,17 +78,22 @@ in {
|
||||||
environment.variables.GIO_EXTRA_MODULES = [ "${gnome3.dconf}/lib/gio/modules"
|
environment.variables.GIO_EXTRA_MODULES = [ "${gnome3.dconf}/lib/gio/modules"
|
||||||
"${pkgs.glib_networking}/lib/gio/modules" ];
|
"${pkgs.glib_networking}/lib/gio/modules" ];
|
||||||
environment.systemPackages =
|
environment.systemPackages =
|
||||||
[ gnome3.dconf
|
[ pkgs.desktop_file_utils
|
||||||
pkgs.glib_networking
|
pkgs.glib_networking
|
||||||
|
pkgs.gtk3 # for gtk-update-icon-cache
|
||||||
pkgs.ibus
|
pkgs.ibus
|
||||||
|
pkgs.shared_mime_info # for update-mime-database
|
||||||
|
gnome3.dconf
|
||||||
gnome3.gnome-backgrounds
|
gnome3.gnome-backgrounds
|
||||||
gnome3.gnome_control_center
|
gnome3.gnome_control_center
|
||||||
gnome3.gnome_icon_theme
|
gnome3.gnome_icon_theme
|
||||||
|
gnome3.gnome-menus
|
||||||
gnome3.gnome_settings_daemon
|
gnome3.gnome_settings_daemon
|
||||||
gnome3.gnome_shell
|
gnome3.gnome_shell
|
||||||
gnome3.gnome_themes_standard
|
gnome3.gnome_themes_standard
|
||||||
] ++ (lists.difference [
|
] ++ (removePackagesByName [
|
||||||
gnome3.baobab
|
gnome3.baobab
|
||||||
|
gnome3.empathy
|
||||||
gnome3.eog
|
gnome3.eog
|
||||||
gnome3.epiphany
|
gnome3.epiphany
|
||||||
gnome3.evince
|
gnome3.evince
|
||||||
|
@ -81,12 +106,19 @@ in {
|
||||||
gnome3.gnome-contacts
|
gnome3.gnome-contacts
|
||||||
gnome3.gnome-font-viewer
|
gnome3.gnome-font-viewer
|
||||||
gnome3.gnome-screenshot
|
gnome3.gnome-screenshot
|
||||||
|
gnome3.gnome-shell-extensions
|
||||||
gnome3.gnome-system-log
|
gnome3.gnome-system-log
|
||||||
gnome3.gnome-system-monitor
|
gnome3.gnome-system-monitor
|
||||||
gnome3.gnome_terminal
|
gnome3.gnome_terminal
|
||||||
|
gnome3.gnome-user-docs
|
||||||
|
|
||||||
gnome3.file-roller
|
gnome3.file-roller
|
||||||
|
gnome3.gnome-tweak-tool
|
||||||
] config.environment.gnome3.excludePackages);
|
] config.environment.gnome3.excludePackages);
|
||||||
|
|
||||||
|
# Needed for themes and backgrounds
|
||||||
|
environment.pathsToLink = [ "/share" ];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
rm $out/lib/gio/modules/giomodule.cache
|
rm $out/lib/gio/modules/giomodule.cache
|
||||||
rm $out/share/icons/hicolor/icon-theme.cache
|
rm $out/share/icons/hicolor/icon-theme.cache
|
||||||
|
rm $out/share/icons/HighContrast/icon-theme.cache
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
|
|
@ -37,13 +37,12 @@ stdenv.mkDerivation rec {
|
||||||
"-I${dbus_libs}/include/dbus-1.0"
|
"-I${dbus_libs}/include/dbus-1.0"
|
||||||
"-I${dbus_libs}/lib/dbus-1.0/include" ];
|
"-I${dbus_libs}/lib/dbus-1.0/include" ];
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
|
||||||
|
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
wrapProgram "$out/bin/empathy" \
|
for f in $out/bin/* $out/libexec/*; do
|
||||||
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
|
wrapProgram $f \
|
||||||
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gnome3.gnome_themes_standard}/:${gnome3.gnome_themes_standard}/share:${hicolor_icon_theme}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
|
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
|
||||||
|
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gnome3.gnome_themes_standard}/:${gnome3.gnome_themes_standard}/share:${hicolor_icon_theme}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
|
||||||
|
done
|
||||||
rm $out/share/icons/hicolor/icon-theme.cache
|
rm $out/share/icons/hicolor/icon-theme.cache
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,12 @@
|
||||||
, libcanberra, accountservice, libpwquality, pulseaudio, fontconfig
|
, libcanberra, accountservice, libpwquality, pulseaudio, fontconfig
|
||||||
, gdk_pixbuf, hicolor_icon_theme, librsvg, libxkbfile, libnotify
|
, gdk_pixbuf, hicolor_icon_theme, librsvg, libxkbfile, libnotify
|
||||||
, libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk
|
, libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk
|
||||||
, cracklib, python, krb5, networkmanagerapplet, libwacom, samba
|
, cracklib, python, krb5, networkmanagerapplet, networkmanager
|
||||||
, shared_mime_info, tzdata, icu, libtool, docbook_xsl, docbook_xsl_ns }:
|
, libwacom, samba, shared_mime_info, tzdata, icu, libtool
|
||||||
|
, docbook_xsl, docbook_xsl_ns, modemmanager }:
|
||||||
|
|
||||||
# http://ftp.gnome.org/pub/GNOME/teams/releng/3.10.2/gnome-suites-core-3.10.2.modules
|
# http://ftp.gnome.org/pub/GNOME/teams/releng/3.10.2/gnome-suites-core-3.10.2.modules
|
||||||
# TODO: bluetooth, networkmanager, wacom, smbclient, printers
|
# TODO: bluetooth, wacom, smbclient, printers
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gnome-control-center-3.10.2";
|
name = "gnome-control-center-3.10.2";
|
||||||
|
@ -20,12 +21,15 @@ stdenv.mkDerivation rec {
|
||||||
propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
|
propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
|
||||||
hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
|
hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
buildInputs = with gnome3;
|
buildInputs = with gnome3;
|
||||||
[ pkgconfig intltool ibus gtk glib upower libcanberra gsettings_desktop_schemas
|
[ pkgconfig intltool ibus gtk glib upower libcanberra gsettings_desktop_schemas
|
||||||
libxml2 gnome_desktop gnome_settings_daemon polkit libxslt libgtop gnome-menus
|
libxml2 gnome_desktop gnome_settings_daemon polkit libxslt libgtop gnome-menus
|
||||||
gnome_online_accounts libsoup colord pulseaudio fontconfig colord-gtk libpwquality
|
gnome_online_accounts libsoup colord pulseaudio fontconfig colord-gtk libpwquality
|
||||||
accountservice krb5 networkmanagerapplet libwacom samba libnotify libxkbfile
|
accountservice krb5 networkmanagerapplet libwacom samba libnotify libxkbfile
|
||||||
shared_mime_info icu libtool docbook_xsl docbook_xsl_ns makeWrapper ];
|
shared_mime_info icu libtool docbook_xsl docbook_xsl_ns
|
||||||
|
networkmanager modemmanager makeWrapper ];
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
substituteInPlace tz.h --replace "/usr/share/zoneinfo/zone.tab" "${tzdata}/share/zoneinfo/zone.tab"
|
substituteInPlace tz.h --replace "/usr/share/zoneinfo/zone.tab" "${tzdata}/share/zoneinfo/zone.tab"
|
||||||
|
@ -48,6 +52,8 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
description = "Single sign-on framework for GNOME";
|
||||||
|
maintainers = with maintainers; [ lethalman ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = "-I${dbus_glib}/include/dbus-1.0 -I${dbus_libs}/include/dbus-1.0";
|
NIX_CFLAGS_COMPILE = "-I${dbus_glib}/include/dbus-1.0 -I${dbus_libs}/include/dbus-1.0";
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
buildInputs = [ pkgconfig glib libxslt gtk webkitgtk json_glib rest libsecret dbus_glib telepathy_glib intltool icu libsoup docbook_xsl_ns docbook_xsl];
|
buildInputs = [ pkgconfig glib libxslt gtk webkitgtk json_glib rest libsecret dbus_glib telepathy_glib intltool icu libsoup docbook_xsl_ns docbook_xsl];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
{ stdenv, intltool, fetchurl, libgtop
|
||||||
|
, pkgconfig, gtk3, glib, hicolor_icon_theme
|
||||||
|
, bash, makeWrapper, itstool
|
||||||
|
, gnome3, file }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "gnome-shell-extensions-3.10.1";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://gnome/sources/gnome-shell-extensions/3.10/${name}.tar.xz";
|
||||||
|
sha256 = "9baa9ddaf4e14cab6d4d7944d8dc009378b25f995acfd0fd72843f599cb5ae43";
|
||||||
|
};
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
buildInputs = [ pkgconfig gtk3 glib libgtop intltool itstool
|
||||||
|
makeWrapper file ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = https://wiki.gnome.org/Projects/GnomeShell/Extensions;
|
||||||
|
description = "Modify and extend GNOME Shell functionality and behavior";
|
||||||
|
maintainers = with maintainers; [ lethalman ];
|
||||||
|
license = licenses.gpl2;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
{ fetchurl, stdenv, pkgconfig, gnome3, json_glib, libcroco, intltool, libsecret
|
{ fetchurl, stdenv, pkgconfig, gnome3, json_glib, libcroco, intltool, libsecret
|
||||||
, python, libsoup, polkit, clutter, networkmanager, docbook_xsl, docbook_xsl_ns
|
, python, libsoup, polkit, clutter, networkmanager, docbook_xsl, docbook_xsl_ns
|
||||||
, libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit
|
, libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip
|
||||||
, pulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper
|
, pulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper
|
||||||
, accountservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }:
|
, accountservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }:
|
||||||
|
|
||||||
|
@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
preFixup = with gnome3; ''
|
preFixup = with gnome3; ''
|
||||||
wrapProgram "$out/bin/gnome-shell" \
|
wrapProgram "$out/bin/gnome-shell" \
|
||||||
|
--prefix PATH : "${unzip}/bin" \
|
||||||
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
|
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
|
||||||
--prefix LD_LIBRARY_PATH : "${accountservice}/lib:${ibus}/lib:${gdm}/lib" \
|
--prefix LD_LIBRARY_PATH : "${accountservice}/lib:${ibus}/lib:${gdm}/lib" \
|
||||||
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
|
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
|
||||||
|
@ -38,6 +39,8 @@ stdenv.mkDerivation rec {
|
||||||
--prefix XDG_DATA_DIRS : "${evolution_data_server}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
|
--prefix XDG_DATA_DIRS : "${evolution_data_server}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
patches = [ ./fix_background_corruption.patch ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
|
|
|
@ -0,0 +1,147 @@
|
||||||
|
commit 831bd07b0d6b7055fea8317f2cdf8fd4a408c36d
|
||||||
|
Author: Jasper St. Pierre <jstpierre@mecheye.net>
|
||||||
|
Date: Thu Nov 7 17:14:47 2013 -0500
|
||||||
|
|
||||||
|
layout: Fix several issues with the background management code
|
||||||
|
|
||||||
|
If monitor-changed fires at startup, it will destroy all of the
|
||||||
|
backgrounds, but since this._isStartup is true, won't recreate any
|
||||||
|
of them. Additionally, since _bgManagers is indexed by monitor index,
|
||||||
|
if the primary index is not 0, it could become a sparse array (e.g.
|
||||||
|
[undefined, undefined, primaryBackground]), and our for loop will
|
||||||
|
crash trying to access properties of undefined.
|
||||||
|
|
||||||
|
Fix both of these issues by always creating background managers for
|
||||||
|
every monitor, hiding them on startup but only showing them after
|
||||||
|
the startup animation is complete.
|
||||||
|
|
||||||
|
One thing we need to watch out for is that while LayoutManager is
|
||||||
|
constructing, Main.uiGroup / Main.layoutManager will be undefined,
|
||||||
|
so addBackgroundMenu will fail. Fix this by passing down the uiGroup
|
||||||
|
to the background menu code.
|
||||||
|
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=709313
|
||||||
|
|
||||||
|
diff --git a/js/ui/backgroundMenu.js b/js/ui/backgroundMenu.js
|
||||||
|
index 06e698c..dcbbb39 100644
|
||||||
|
--- a/js/ui/backgroundMenu.js
|
||||||
|
+++ b/js/ui/backgroundMenu.js
|
||||||
|
@@ -13,7 +13,7 @@ const BackgroundMenu = new Lang.Class({
|
||||||
|
Name: 'BackgroundMenu',
|
||||||
|
Extends: PopupMenu.PopupMenu,
|
||||||
|
|
||||||
|
- _init: function(source) {
|
||||||
|
+ _init: function(source, layoutManager) {
|
||||||
|
this.parent(source, 0, St.Side.TOP);
|
||||||
|
|
||||||
|
this.addSettingsAction(_("Settings"), 'gnome-control-center.desktop');
|
||||||
|
@@ -22,17 +22,17 @@ const BackgroundMenu = new Lang.Class({
|
||||||
|
|
||||||
|
this.actor.add_style_class_name('background-menu');
|
||||||
|
|
||||||
|
- Main.uiGroup.add_actor(this.actor);
|
||||||
|
+ layoutManager.uiGroup.add_actor(this.actor);
|
||||||
|
this.actor.hide();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
-function addBackgroundMenu(actor) {
|
||||||
|
+function addBackgroundMenu(actor, layoutManager) {
|
||||||
|
let cursor = new St.Bin({ opacity: 0 });
|
||||||
|
- Main.uiGroup.add_actor(cursor);
|
||||||
|
+ layoutManager.uiGroup.add_actor(cursor);
|
||||||
|
|
||||||
|
actor.reactive = true;
|
||||||
|
- actor._backgroundMenu = new BackgroundMenu(cursor);
|
||||||
|
+ actor._backgroundMenu = new BackgroundMenu(cursor, layoutManager);
|
||||||
|
actor._backgroundManager = new PopupMenu.PopupMenuManager({ actor: actor });
|
||||||
|
actor._backgroundManager.addMenu(actor._backgroundMenu);
|
||||||
|
|
||||||
|
diff --git a/js/ui/layout.js b/js/ui/layout.js
|
||||||
|
index 17073a6..80bae9d 100644
|
||||||
|
--- a/js/ui/layout.js
|
||||||
|
+++ b/js/ui/layout.js
|
||||||
|
@@ -352,26 +352,26 @@ const LayoutManager = new Lang.Class({
|
||||||
|
this.emit('hot-corners-changed');
|
||||||
|
},
|
||||||
|
|
||||||
|
- _createBackground: function(monitorIndex) {
|
||||||
|
+ _addBackgroundMenu: function(bgManager) {
|
||||||
|
+ BackgroundMenu.addBackgroundMenu(bgManager.background.actor, this);
|
||||||
|
+ },
|
||||||
|
+
|
||||||
|
+ _createBackgroundManager: function(monitorIndex) {
|
||||||
|
let bgManager = new Background.BackgroundManager({ container: this._backgroundGroup,
|
||||||
|
layoutManager: this,
|
||||||
|
monitorIndex: monitorIndex });
|
||||||
|
- BackgroundMenu.addBackgroundMenu(bgManager.background.actor);
|
||||||
|
-
|
||||||
|
- bgManager.connect('changed', Lang.bind(this, function() {
|
||||||
|
- BackgroundMenu.addBackgroundMenu(bgManager.background.actor);
|
||||||
|
- }));
|
||||||
|
|
||||||
|
- this._bgManagers[monitorIndex] = bgManager;
|
||||||
|
+ bgManager.connect('changed', Lang.bind(this, this._addBackgroundMenu));
|
||||||
|
+ this._addBackgroundMenu(bgManager);
|
||||||
|
|
||||||
|
- return bgManager.background;
|
||||||
|
+ return bgManager;
|
||||||
|
},
|
||||||
|
|
||||||
|
- _createSecondaryBackgrounds: function() {
|
||||||
|
+ _showSecondaryBackgrounds: function() {
|
||||||
|
for (let i = 0; i < this.monitors.length; i++) {
|
||||||
|
if (i != this.primaryIndex) {
|
||||||
|
- let background = this._createBackground(i);
|
||||||
|
-
|
||||||
|
+ let background = this._bgManagers[i].background;
|
||||||
|
+ background.actor.show();
|
||||||
|
background.actor.opacity = 0;
|
||||||
|
Tweener.addTween(background.actor,
|
||||||
|
{ opacity: 255,
|
||||||
|
@@ -381,10 +381,6 @@ const LayoutManager = new Lang.Class({
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
- _createPrimaryBackground: function() {
|
||||||
|
- this._createBackground(this.primaryIndex);
|
||||||
|
- },
|
||||||
|
-
|
||||||
|
_updateBackgrounds: function() {
|
||||||
|
let i;
|
||||||
|
for (i = 0; i < this._bgManagers.length; i++)
|
||||||
|
@@ -395,11 +391,12 @@ const LayoutManager = new Lang.Class({
|
||||||
|
if (Main.sessionMode.isGreeter)
|
||||||
|
return;
|
||||||
|
|
||||||
|
- if (this._startingUp)
|
||||||
|
- return;
|
||||||
|
-
|
||||||
|
for (let i = 0; i < this.monitors.length; i++) {
|
||||||
|
- this._createBackground(i);
|
||||||
|
+ let bgManager = this._createBackgroundManager(i);
|
||||||
|
+ this._bgManagers.push(bgManager);
|
||||||
|
+
|
||||||
|
+ if (i != this.primaryIndex && this._startingUp)
|
||||||
|
+ bgManager.background.actor.hide();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
@@ -595,7 +592,7 @@ const LayoutManager = new Lang.Class({
|
||||||
|
if (Main.sessionMode.isGreeter) {
|
||||||
|
this.panelBox.translation_y = -this.panelBox.height;
|
||||||
|
} else {
|
||||||
|
- this._createPrimaryBackground();
|
||||||
|
+ this._updateBackgrounds();
|
||||||
|
|
||||||
|
// We need to force an update of the regions now before we scale
|
||||||
|
// the UI group to get the coorect allocation for the struts.
|
||||||
|
@@ -673,7 +670,7 @@ const LayoutManager = new Lang.Class({
|
||||||
|
this.keyboardBox.show();
|
||||||
|
|
||||||
|
if (!Main.sessionMode.isGreeter) {
|
||||||
|
- this._createSecondaryBackgrounds();
|
||||||
|
+ this._showSecondaryBackgrounds();
|
||||||
|
global.window_group.remove_clip();
|
||||||
|
}
|
||||||
|
|
20
pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix
Normal file
20
pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
{ stdenv, fetchurl, pkgconfig, file, gnome3, itstool, libxml2, intltool }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "gnome-user-docs-3.10.3";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://gnome/sources/gnome-user-docs/3.10/${name}.tar.xz";
|
||||||
|
sha256 = "960b6373ea52e41e3deb3501930e024005b29d2cc958bfadc87450a291d2a905";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ pkgconfig gnome3.yelp itstool libxml2 intltool ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = https://help.gnome.org/users/gnome-help/3.10;
|
||||||
|
description = "User and system administration help for the Gnome desktop";
|
||||||
|
maintainers = with maintainers; [ lethalman ];
|
||||||
|
license = licenses.cc-by-30;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
52
pkgs/desktops/gnome-3/core/gnome-user-share/default.nix
Normal file
52
pkgs/desktops/gnome-3/core/gnome-user-share/default.nix
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
{ stdenv, intltool, fetchurl, apacheHttpd_2_2, nautilus
|
||||||
|
, pkgconfig, gtk3, glib, hicolor_icon_theme, libxml2, gnused
|
||||||
|
, bash, makeWrapper, itstool, libnotify, libtool, mod_dnssd
|
||||||
|
, gnome3, librsvg, gdk_pixbuf, file, libcanberra_gtk3 }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "gnome-user-share-3.10.2";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://gnome/sources/gnome-user-share/3.10/${name}.tar.xz";
|
||||||
|
sha256 = "1d1ea57a49224c36e7cba04f80265e835639377f474a7582c9e8ac946eda0f8f";
|
||||||
|
};
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
sed -e 's,^LoadModule dnssd_module.\+,LoadModule dnssd_module ${mod_dnssd}/modules/mod_dnssd.so,' -i data/dav_user_2.2.conf
|
||||||
|
'';
|
||||||
|
|
||||||
|
configureFlags = [ "--with-httpd=${apacheHttpd_2_2}/bin/httpd"
|
||||||
|
"--with-modules-path=${apacheHttpd_2_2}/modules"
|
||||||
|
"--disable-bluetooth"
|
||||||
|
"--with-nautilusdir=$(out)/lib/nautilus/extensions-3.0" ];
|
||||||
|
|
||||||
|
buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 libtool
|
||||||
|
makeWrapper file gdk_pixbuf gnome3.gnome_icon_theme librsvg
|
||||||
|
hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
|
||||||
|
nautilus libnotify libcanberra_gtk3 ];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
mkdir -p $out/share/gsettings-schemas/$name
|
||||||
|
mv $out/share/glib-2.0 $out/share/gsettings-schemas/$name
|
||||||
|
${glib}/bin/glib-compile-schemas $out/share/gsettings-schemas/$name/glib-2.0/schemas
|
||||||
|
'';
|
||||||
|
|
||||||
|
preFixup = ''
|
||||||
|
wrapProgram "$out/libexec/gnome-user-share" \
|
||||||
|
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
|
||||||
|
--prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
|
||||||
|
rm $out/share/icons/hicolor/icon-theme.cache
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = https://help.gnome.org/users/gnome-user-share/3.8;
|
||||||
|
description = "Service that exports the contents of the Public folder in your home directory on the local network";
|
||||||
|
maintainers = with maintainers; [ lethalman ];
|
||||||
|
license = licenses.gpl2;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
|
@ -4,11 +4,11 @@
|
||||||
, gdk_pixbuf, librsvg, hicolor_icon_theme }:
|
, gdk_pixbuf, librsvg, hicolor_icon_theme }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "sushi-3.8.1";
|
name = "sushi-3.10.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/sushi/3.8/${name}.tar.xz";
|
url = "mirror://gnome/sources/sushi/3.10/${name}.tar.xz";
|
||||||
sha256 = "c4f24d0961ce8fc5ef3a4fe9af178e368c7117459df2c0be12c8f953646c82dd";
|
sha256 = "cffcf28b170f5825e84983a979972d4d901a453b61cbe3e560d362e8dd4b4bc8";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedUserEnvPkgs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good ];
|
propagatedUserEnvPkgs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good ];
|
||||||
|
|
49
pkgs/desktops/gnome-3/core/tracker/default.nix
Normal file
49
pkgs/desktops/gnome-3/core/tracker/default.nix
Normal file
|
@ -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;
|
||||||
|
};
|
||||||
|
}
|
|
@ -74,6 +74,8 @@ rec {
|
||||||
|
|
||||||
gnome_shell = callPackage ./core/gnome-shell { };
|
gnome_shell = callPackage ./core/gnome-shell { };
|
||||||
|
|
||||||
|
gnome-shell-extensions = callPackage ./core/gnome-shell-extensions { };
|
||||||
|
|
||||||
gnome-screenshot = callPackage ./core/gnome-screenshot { };
|
gnome-screenshot = callPackage ./core/gnome-screenshot { };
|
||||||
|
|
||||||
gnome_settings_daemon = callPackage ./core/gnome-settings-daemon { };
|
gnome_settings_daemon = callPackage ./core/gnome-settings-daemon { };
|
||||||
|
@ -86,6 +88,10 @@ rec {
|
||||||
|
|
||||||
gnome_themes_standard = callPackage ./core/gnome-themes-standard { };
|
gnome_themes_standard = callPackage ./core/gnome-themes-standard { };
|
||||||
|
|
||||||
|
gnome-user-docs = callPackage ./core/gnome-user-docs { };
|
||||||
|
|
||||||
|
gnome-user-share = callPackage ./core/gnome-user-share { };
|
||||||
|
|
||||||
grilo = callPackage ./core/grilo { };
|
grilo = callPackage ./core/grilo { };
|
||||||
|
|
||||||
gsettings_desktop_schemas = callPackage ./core/gsettings-desktop-schemas { };
|
gsettings_desktop_schemas = callPackage ./core/gsettings-desktop-schemas { };
|
||||||
|
@ -122,6 +128,8 @@ rec {
|
||||||
|
|
||||||
totem-pl-parser = callPackage ./core/totem-pl-parser { };
|
totem-pl-parser = callPackage ./core/totem-pl-parser { };
|
||||||
|
|
||||||
|
tracker = callPackage ./core/tracker { };
|
||||||
|
|
||||||
vte = callPackage ./core/vte { };
|
vte = callPackage ./core/vte { };
|
||||||
|
|
||||||
vino = callPackage ./core/vino { };
|
vino = callPackage ./core/vino { };
|
||||||
|
@ -156,4 +164,6 @@ rec {
|
||||||
libgit2-glib = callPackage ./misc/libgit2-glib { };
|
libgit2-glib = callPackage ./misc/libgit2-glib { };
|
||||||
|
|
||||||
gexiv2 = callPackage ./misc/gexiv2 { };
|
gexiv2 = callPackage ./misc/gexiv2 { };
|
||||||
|
|
||||||
|
gnome-tweak-tool = callPackage ./misc/gnome-tweak-tool { };
|
||||||
}
|
}
|
||||||
|
|
46
pkgs/desktops/gnome-3/misc/gnome-tweak-tool/default.nix
Normal file
46
pkgs/desktops/gnome-3/misc/gnome-tweak-tool/default.nix
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
{ stdenv, intltool, fetchurl, python, pygobject3, atk
|
||||||
|
, pkgconfig, gtk3, glib, hicolor_icon_theme, libsoup
|
||||||
|
, bash, makeWrapper, itstool, libxml2, python3Packages
|
||||||
|
, gnome3, librsvg, gdk_pixbuf, file, libnotify }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "gnome-tweak-tool-3.10.1";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://gnome/sources/gnome-tweak-tool/3.10/${name}.tar.xz";
|
||||||
|
sha256 = "fb5af9022c0521a925ef9f295e4080212b1b45427cd5f5f3a901667590afa7ec";
|
||||||
|
};
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
|
||||||
|
|
||||||
|
makeFlags = [ "DESTDIR=/" ];
|
||||||
|
|
||||||
|
buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2
|
||||||
|
gnome3.gsettings_desktop_schemas makeWrapper file
|
||||||
|
gdk_pixbuf gnome3.gnome_icon_theme librsvg
|
||||||
|
hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
|
||||||
|
python pygobject3 libnotify gnome3.gnome_shell
|
||||||
|
libsoup gnome3.gnome_settings_daemon gnome3.nautilus
|
||||||
|
gnome3.gnome_desktop ];
|
||||||
|
|
||||||
|
preFixup = ''
|
||||||
|
wrapProgram "$out/bin/gnome-tweak-tool" \
|
||||||
|
--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" \
|
||||||
|
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
|
||||||
|
--prefix LD_LIBRARY_PATH ":" "${libsoup}/lib:${gnome3.gnome_desktop}/lib:${libnotify}/lib:${gtk3}/lib:${atk}/lib" \
|
||||||
|
--prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)"
|
||||||
|
'';
|
||||||
|
|
||||||
|
patches = [ ./find_gsettings.patch ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = https://wiki.gnome.org/action/show/Apps/GnomeTweakTool;
|
||||||
|
description = "A tool to customize advanced GNOME 3 options";
|
||||||
|
maintainers = with maintainers; [ lethalman ];
|
||||||
|
license = licenses.gpl3;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
diff --git a/gtweak/gsettings.py b/gtweak/gsettings.py
|
||||||
|
index a00fe19..dce74b2 100644
|
||||||
|
--- a/gtweak/gsettings.py
|
||||||
|
+++ b/gtweak/gsettings.py
|
||||||
|
@@ -33,10 +33,15 @@ class GSettingsMissingError(Exception):
|
||||||
|
|
||||||
|
class _GSettingsSchema:
|
||||||
|
def __init__(self, schema_name, schema_dir=None, schema_filename=None, **options):
|
||||||
|
- if not schema_dir:
|
||||||
|
- schema_dir = gtweak.GSETTINGS_SCHEMA_DIR
|
||||||
|
if not schema_filename:
|
||||||
|
schema_filename = schema_name + ".gschema.xml"
|
||||||
|
+ if not schema_dir:
|
||||||
|
+ schema_dir = gtweak.GSETTINGS_SCHEMA_DIR
|
||||||
|
+ for xdg_dir in GLib.get_system_data_dirs():
|
||||||
|
+ dir = os.path.join(xdg_dir, "glib-2.0", "schemas")
|
||||||
|
+ if os.path.exists(os.path.join(dir, schema_filename)):
|
||||||
|
+ schema_dir = dir
|
||||||
|
+ break
|
||||||
|
|
||||||
|
schema_path = os.path.join(schema_dir, schema_filename)
|
||||||
|
if not os.path.exists(schema_path):
|
|
@ -1,4 +1,5 @@
|
||||||
{ stdenv, fetchurl, pkgconfig, automake, autoconf, libtool, glib, gdk_pixbuf }:
|
{ stdenv, fetchurl, pkgconfig, automake, autoconf, libtool
|
||||||
|
, glib, gdk_pixbuf, gobjectIntrospection, autoreconfHook }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
ver_maj = "0.7";
|
ver_maj = "0.7";
|
||||||
|
@ -9,23 +10,15 @@ stdenv.mkDerivation rec {
|
||||||
url = "mirror://gnome/sources/libnotify/${ver_maj}/${name}.tar.xz";
|
url = "mirror://gnome/sources/libnotify/${ver_maj}/${name}.tar.xz";
|
||||||
sha256 = "0dyq8zgjnnzcah31axnx6afb21kl7bks1gvrg4hjh3nk02j1rxhf";
|
sha256 = "0dyq8zgjnnzcah31axnx6afb21kl7bks1gvrg4hjh3nk02j1rxhf";
|
||||||
};
|
};
|
||||||
src_m4 = fetchurl {
|
|
||||||
url = "mirror://gentoo/distfiles/introspection-20110205.m4.tar.bz2";
|
|
||||||
sha256 = "1cnqh7aaji648nfd5537v7xaak8hgww3bpifhwam7bl0sc3ad523";
|
|
||||||
};
|
|
||||||
|
|
||||||
# see Gentoo ebuild - we don't need to depend on gtk+(2/3)
|
# see Gentoo ebuild - we don't need to depend on gtk+(2/3)
|
||||||
preConfigure = ''
|
preAutoreconf = ''
|
||||||
cd m4
|
|
||||||
tar xvf ${src_m4}
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
sed -i -e 's:noinst_PROG:check_PROG:' tests/Makefile.am || die
|
sed -i -e 's:noinst_PROG:check_PROG:' tests/Makefile.am || die
|
||||||
sed -i -e '/PKG_CHECK_MODULES(TESTS/d' configure.ac || die
|
sed -i -e '/PKG_CHECK_MODULES(TESTS/d' configure.ac || die
|
||||||
AT_M4DIR=. autoreconf
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildInputs = [ pkgconfig automake autoconf glib gdk_pixbuf ];
|
buildInputs = [ pkgconfig automake autoconf autoreconfHook
|
||||||
|
libtool glib gdk_pixbuf gobjectIntrospection ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://galago-project.org/; # very obsolete but found no better
|
homepage = http://galago-project.org/; # very obsolete but found no better
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
, gobjectIntrospection, valaSupport ? true, vala }:
|
, gobjectIntrospection, valaSupport ? true, vala }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "telepathy-glib-0.22.1";
|
name = "telepathy-glib-0.24.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "${meta.homepage}/releases/telepathy-glib/${name}.tar.gz";
|
url = "${meta.homepage}/releases/telepathy-glib/${name}.tar.gz";
|
||||||
sha256 = "0vf2drh7g55nxyd0mxyn9sf99m981dagnvv9yc3q9f4k8x092a78";
|
sha256 = "ae0002134991217f42e503c43dea7817853afc18863b913744d51ffa029818cf";
|
||||||
};
|
};
|
||||||
|
|
||||||
configureFlags = stdenv.lib.optional valaSupport "--enable-vala-bindings";
|
configureFlags = stdenv.lib.optional valaSupport "--enable-vala-bindings";
|
||||||
|
|
28
pkgs/servers/http/apache-modules/mod_dnssd/default.nix
Normal file
28
pkgs/servers/http/apache-modules/mod_dnssd/default.nix
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{ stdenv, fetchurl, pkgconfig, apacheHttpd_2_2, apr, avahi }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "mod_dnssd-0.6";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://0pointer.de/lennart/projects/mod_dnssd/${name}.tar.gz";
|
||||||
|
sha256 = "2cd171d76eba398f03c1d5bcc468a1756f4801cd8ed5bd065086e4374997c5aa";
|
||||||
|
};
|
||||||
|
|
||||||
|
configureFlags = [ "--disable-lynx" ];
|
||||||
|
|
||||||
|
buildInputs = [ pkgconfig apacheHttpd_2_2 avahi apr ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/modules
|
||||||
|
cp src/.libs/mod_dnssd.so $out/modules
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = http://0pointer.de/lennart/projects/mod_dnssd;
|
||||||
|
description = "Provide Zeroconf support via DNS-SD using Avahi";
|
||||||
|
license = licenses.asl20;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = with maintainers; [ lethalman ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
20
pkgs/tools/X11/xdg-user-dirs/default.nix
Normal file
20
pkgs/tools/X11/xdg-user-dirs/default.nix
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
{ stdenv, fetchurl, libxslt, docbook_xsl }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "xdg-user-dirs-0.15";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://user-dirs.freedesktop.org/releases/${name}.tar.gz";
|
||||||
|
sha256 = "20b4a751f41d0554bce3e0ce5e8d934be98cc62d48f0b90a894c3e1916552786";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ libxslt docbook_xsl ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = http://freedesktop.org/wiki/Software/xdg-user-dirs;
|
||||||
|
description = "A tool to help manage well known user directories like the desktop folder and the music folder";
|
||||||
|
license = licenses.gpl2;
|
||||||
|
maintainers = with maintainers; [ lethalman ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
|
@ -6455,6 +6455,8 @@ let
|
||||||
|
|
||||||
memcached = callPackage ../servers/memcached {};
|
memcached = callPackage ../servers/memcached {};
|
||||||
|
|
||||||
|
mod_dnssd = callPackage ../servers/http/apache-modules/mod_dnssd/default.nix { };
|
||||||
|
|
||||||
mod_evasive = callPackage ../servers/http/apache-modules/mod_evasive { };
|
mod_evasive = callPackage ../servers/http/apache-modules/mod_evasive { };
|
||||||
|
|
||||||
mod_python = callPackage ../servers/http/apache-modules/mod_python { };
|
mod_python = callPackage ../servers/http/apache-modules/mod_python { };
|
||||||
|
@ -9461,6 +9463,8 @@ let
|
||||||
|
|
||||||
xdaliclock = callPackage ../tools/misc/xdaliclock {};
|
xdaliclock = callPackage ../tools/misc/xdaliclock {};
|
||||||
|
|
||||||
|
xdg-user-dirs = callPackage ../tools/X11/xdg-user-dirs { };
|
||||||
|
|
||||||
xdg_utils = callPackage ../tools/X11/xdg-utils { };
|
xdg_utils = callPackage ../tools/X11/xdg-utils { };
|
||||||
|
|
||||||
xdotool = callPackage ../tools/X11/xdotool { };
|
xdotool = callPackage ../tools/X11/xdotool { };
|
||||||
|
|
Loading…
Add table
Reference in a new issue