diff --git a/pkgs/applications/system/pantheon-tweaks/default.nix b/pkgs/applications/system/pantheon-tweaks/default.nix new file mode 100644 index 000000000000..5834e8d96308 --- /dev/null +++ b/pkgs/applications/system/pantheon-tweaks/default.nix @@ -0,0 +1,68 @@ +{ lib +, stdenv +, fetchFromGitHub +, nix-update-script +, meson +, ninja +, pkg-config +, python3 +, vala +, gtk3 +, libgee +, pantheon +}: + +stdenv.mkDerivation rec { + pname = "pantheon-tweaks"; + version = "1.0.1"; + + src = fetchFromGitHub { + owner = "pantheon-tweaks"; + repo = pname; + rev = version; + sha256 = "sha256-tAfDxX/RD7pO5PN/LaZ92Cj/iZtBI/EHb0+pORfYnPM="; + }; + + patches = [ + ./fix-paths.patch + ]; + + nativeBuildInputs = [ + meson + ninja + pkg-config + python3 + vala + ]; + + buildInputs = [ + gtk3 + libgee + pantheon.granite + pantheon.switchboard + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + passthru = { + updateScript = nix-update-script { + attrPath = pname; + }; + }; + + meta = with lib; { + description = "Unofficial system settings panel for Pantheon"; + longDescription = '' + Unofficial system settings panel for Pantheon + that lets you easily and safely customise your desktop's appearance. + Use programs.pantheon-tweaks.enable to add this to your switchboard. + ''; + homepage = "https://github.com/pantheon-tweaks/pantheon-tweaks"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = teams.pantheon.members; + }; +} diff --git a/pkgs/applications/system/pantheon-tweaks/fix-paths.patch b/pkgs/applications/system/pantheon-tweaks/fix-paths.patch new file mode 100644 index 000000000000..b2e0e0a7b4c8 --- /dev/null +++ b/pkgs/applications/system/pantheon-tweaks/fix-paths.patch @@ -0,0 +1,13 @@ +diff --git a/src/Settings/ThemeSettings.vala b/src/Settings/ThemeSettings.vala +index 589121b..8e9c81e 100644 +--- a/src/Settings/ThemeSettings.vala ++++ b/src/Settings/ThemeSettings.vala +@@ -29,7 +29,7 @@ public class PantheonTweaks.ThemeSettings { + var themes = new Gee.ArrayList (); + + string[] dirs = { +- "/usr/share/" + path + "/", ++ "/run/current-system/sw/share/" + path + "/", + Environment.get_home_dir () + "/." + path + "/", + Environment.get_home_dir () + "/.local/share/" + path + "/"}; + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dbf23a650454..130239932d7e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8021,6 +8021,8 @@ with pkgs; pamtester = callPackage ../tools/security/pamtester { }; + pantheon-tweaks = callPackage ../applications/system/pantheon-tweaks { }; + paperless-ng = callPackage ../applications/office/paperless-ng { }; paperwork = callPackage ../applications/office/paperwork/paperwork-gtk.nix { };