diff options
Diffstat (limited to 'nixpkgs/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix')
-rw-r--r-- | nixpkgs/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix b/nixpkgs/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix new file mode 100644 index 000000000000..6a9f4f19385d --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix @@ -0,0 +1,91 @@ +{ lib +, meson +, ninja +, fetchurl +, gdk-pixbuf +, gettext +, glib +, gnome +, gobject-introspection +, gsettings-desktop-schemas +, gtk3 +, itstool +, libhandy +, libnotify +, libsoup +, libxml2 +, pkg-config +, python3Packages +, wrapGAppsHook }: + +python3Packages.buildPythonApplication rec { + pname = "gnome-tweaks"; + version = "40.0"; + format = "other"; + strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943 + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "+V8/4DGwsBwC95oWWfiJFS03cq4+RN+EA9FGC6Xuw2o="; + }; + + nativeBuildInputs = [ + gettext + gobject-introspection + itstool + libxml2 + meson + ninja + pkg-config + wrapGAppsHook + ]; + + buildInputs = [ + gdk-pixbuf + glib + gnome.gnome-desktop + gnome.gnome-settings-daemon + gnome.gnome-shell + # Makes it possible to select user themes through the `user-theme` extension + gnome.gnome-shell-extensions + gnome.mutter + gsettings-desktop-schemas + gtk3 + libhandy + libnotify + libsoup + ]; + + pythonPath = with python3Packages; [ + pygobject3 + ]; + + postPatch = '' + patchShebangs meson-postinstall.py + ''; + + dontWrapGApps = true; + + preFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; + + postFixup = '' + wrapPythonProgramsIn "$out/libexec" "$out $pythonPath" + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Tweaks"; + description = "A tool to customize advanced GNOME 3 options"; + maintainers = teams.gnome.members; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} |