gnome-tweak-tool: new package
A tool to customize advanced GNOME 3 options https://wiki.gnome.org/action/show/Apps/GnomeTweakTool
This commit is contained in:
parent
dd23d9a5a7
commit
3cc07a44bc
@ -105,6 +105,7 @@ in {
|
|||||||
gnome3.gnome-user-docs
|
gnome3.gnome-user-docs
|
||||||
|
|
||||||
gnome3.file-roller
|
gnome3.file-roller
|
||||||
|
gnome3.gnome-tweak-tool
|
||||||
] config.environment.gnome3.excludePackages);
|
] config.environment.gnome3.excludePackages);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -162,4 +162,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):
|
Loading…
x
Reference in New Issue
Block a user