summaryrefslogtreecommitdiffstats
path: root/pkgs/desktops
diff options
context:
space:
mode:
authorBobby Rong <rjl931189261@126.com>2021-12-18 14:01:54 +0800
committerGitHub <noreply@github.com>2021-12-18 14:01:54 +0800
commitc9ec5a228d638bdfe65c0c951feb6db6ab697d24 (patch)
tree4494170b888b161292dfd152f893bdc43a04763b /pkgs/desktops
parente0d6a5cce14b3f971ff42f039c7c604cd510af9b (diff)
parent7cc11f76aff82d8ecfa300353e3d16711ded2843 (diff)
Merge pull request #151153 from bobby285271/pantheon
Pantheon updates 2021-12-17
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-videos/default.nix8
-rw-r--r--pkgs/desktops/pantheon/default.nix51
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix4
-rw-r--r--pkgs/desktops/pantheon/services/xdg-desktop-portal-pantheon/default.nix63
-rw-r--r--pkgs/desktops/pantheon/third-party/pantheon-tweaks/default.nix71
-rw-r--r--pkgs/desktops/pantheon/third-party/pantheon-tweaks/fix-paths.patch13
-rw-r--r--pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/default.nix58
-rw-r--r--pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/fix-indicator-dir.patch16
-rw-r--r--pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/fix-libapplication-dir.patch13
9 files changed, 276 insertions, 21 deletions
diff --git a/pkgs/desktops/pantheon/apps/elementary-videos/default.nix b/pkgs/desktops/pantheon/apps/elementary-videos/default.nix
index faeaab7ece18..f7286c9108a6 100644
--- a/pkgs/desktops/pantheon/apps/elementary-videos/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-videos/default.nix
@@ -21,15 +21,13 @@
stdenv.mkDerivation rec {
pname = "elementary-videos";
- version = "2.8.0";
-
- repoName = "videos";
+ version = "2.8.1";
src = fetchFromGitHub {
owner = "elementary";
- repo = repoName;
+ repo = "videos";
rev = version;
- sha256 = "sha256-FFCtQ42LygfjowehwZcISWTfv8PBZTH0X8mPrpiG8Ug=";
+ sha256 = "sha256-Ki6i9u+oXOBTH+dVJ9RgBxszD7Wvdrfahd9abyjFYJY=";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix
index 3300dd2ec8c4..7569b2eb4f69 100644
--- a/pkgs/desktops/pantheon/default.nix
+++ b/pkgs/desktops/pantheon/default.nix
@@ -4,23 +4,37 @@
lib.makeScope pkgs.newScope (self: with self; {
switchboardPlugs = [
- switchboard-plug-a11y switchboard-plug-about
- switchboard-plug-applications switchboard-plug-bluetooth
- switchboard-plug-datetime switchboard-plug-display
- switchboard-plug-keyboard switchboard-plug-mouse-touchpad
- switchboard-plug-network switchboard-plug-notifications
- switchboard-plug-onlineaccounts switchboard-plug-pantheon-shell
- switchboard-plug-power switchboard-plug-printers
- switchboard-plug-security-privacy switchboard-plug-sharing
- switchboard-plug-sound switchboard-plug-wacom
+ switchboard-plug-a11y
+ switchboard-plug-about
+ switchboard-plug-applications
+ switchboard-plug-bluetooth
+ switchboard-plug-datetime
+ switchboard-plug-display
+ switchboard-plug-keyboard
+ switchboard-plug-mouse-touchpad
+ switchboard-plug-network
+ switchboard-plug-notifications
+ switchboard-plug-onlineaccounts
+ switchboard-plug-pantheon-shell
+ switchboard-plug-power
+ switchboard-plug-printers
+ switchboard-plug-security-privacy
+ switchboard-plug-sharing
+ switchboard-plug-sound
+ switchboard-plug-wacom
];
wingpanelIndicators = [
- wingpanel-applications-menu wingpanel-indicator-a11y
- wingpanel-indicator-bluetooth wingpanel-indicator-datetime
- wingpanel-indicator-keyboard wingpanel-indicator-network
- wingpanel-indicator-nightlight wingpanel-indicator-notifications
- wingpanel-indicator-power wingpanel-indicator-session
+ wingpanel-applications-menu
+ wingpanel-indicator-a11y
+ wingpanel-indicator-bluetooth
+ wingpanel-indicator-datetime
+ wingpanel-indicator-keyboard
+ wingpanel-indicator-network
+ wingpanel-indicator-nightlight
+ wingpanel-indicator-notifications
+ wingpanel-indicator-power
+ wingpanel-indicator-session
wingpanel-indicator-sound
];
@@ -129,6 +143,8 @@ lib.makeScope pkgs.newScope (self: with self; {
pantheon-agent-polkit = callPackage ./services/pantheon-agent-polkit { };
+ xdg-desktop-portal-pantheon = callPackage ./services/xdg-desktop-portal-pantheon { };
+
#### WINGPANEL INDICATORS
wingpanel-applications-menu = callPackage ./desktop/wingpanel-indicators/applications-menu { };
@@ -211,6 +227,13 @@ lib.makeScope pkgs.newScope (self: with self; {
elementary-wallpapers = callPackage ./artwork/elementary-wallpapers { };
+ ### THIRD-PARTY
+
+ # Put packages that ONLY works with Pantheon in pkgs/desktops/pantheon/third-party,
+ # specfically third party switchboard plugins and wingpanel indicators.
+ # Please call these packages in pkgs/top-level/all-packages.nix instead of this file.
+ # https://github.com/NixOS/nixpkgs/issues/115222#issuecomment-906868654
+
} // lib.optionalAttrs (config.allowAliases or true) {
### ALIASES
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix
index 3ebc38138795..ceabac94a236 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix
@@ -16,13 +16,13 @@
stdenv.mkDerivation rec {
pname = "wingpanel-indicator-notifications";
- version = "6.0.3";
+ version = "6.0.4";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
- sha256 = "sha256-iHhZJwaomQgH1Sal8uejl4QlavOQ75UKZ9xchTi1X3U=";
+ sha256 = "sha256-tIpR/WIhE0Mmt2EploNNDVlAX4OUNI3VnEflTLVkfSo=";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/pantheon/services/xdg-desktop-portal-pantheon/default.nix b/pkgs/desktops/pantheon/services/xdg-desktop-portal-pantheon/default.nix
new file mode 100644
index 000000000000..3ceff2095d2b
--- /dev/null
+++ b/pkgs/desktops/pantheon/services/xdg-desktop-portal-pantheon/default.nix
@@ -0,0 +1,63 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, nix-update-script
+, meson
+, ninja
+, pkg-config
+, vala
+, wrapGAppsHook
+, glib
+, granite
+, gtk3
+, libhandy
+, systemd
+, vte
+}:
+
+stdenv.mkDerivation rec {
+ pname = "xdg-desktop-portal-pantheon";
+ version = "1.0.1";
+
+ src = fetchFromGitHub {
+ owner = "elementary";
+ repo = "portals";
+ rev = version;
+ sha256 = "sha256-8gBMjCMEzrFmKHhkXsgcIESC93EOT0ADkRUIJMmerjw=";
+ };
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ pkg-config
+ vala
+ wrapGAppsHook
+ ];
+
+ buildInputs = [
+ glib
+ granite
+ gtk3
+ libhandy
+ systemd
+ vte
+ ];
+
+ mesonFlags = [
+ "-Dsystemduserunitdir=${placeholder "out"}/lib/systemd/user"
+ ];
+
+ passthru = {
+ updateScript = nix-update-script {
+ attrPath = "pantheon.${pname}";
+ };
+ };
+
+ meta = with lib; {
+ description = "Backend implementation for xdg-desktop-portal for the Pantheon desktop environment";
+ homepage = "https://github.com/elementary/portals";
+ license = licenses.gpl3Plus;
+ platforms = platforms.linux;
+ maintainers = teams.pantheon.members;
+ };
+}
diff --git a/pkgs/desktops/pantheon/third-party/pantheon-tweaks/default.nix b/pkgs/desktops/pantheon/third-party/pantheon-tweaks/default.nix
new file mode 100644
index 000000000000..af6bf54fd715
--- /dev/null
+++ b/pkgs/desktops/pantheon/third-party/pantheon-tweaks/default.nix
@@ -0,0 +1,71 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, nix-update-script
+, meson
+, ninja
+, pkg-config
+, python3
+, vala
+, gtk3
+, libgee
+, pantheon
+}:
+
+stdenv.mkDerivation rec {
+ pname = "pantheon-tweaks";
+ version = "1.0.3";
+
+ src = fetchFromGitHub {
+ owner = "pantheon-tweaks";
+ repo = pname;
+ rev = version;
+ sha256 = "sha256-Pn/MIJ/WS/TY5bemM77B37E0KFRlDUfrOl1XS2yJlGk=";
+ };
+
+ patches = [
+ ./fix-paths.patch
+ ];
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ pkg-config
+ python3
+ vala
+ ];
+
+ buildInputs = [
+ gtk3
+ libgee
+ ] ++ (with pantheon; [
+ elementary-files # settings schemas
+ elementary-terminal # settings schemas
+ granite
+ 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/desktops/pantheon/third-party/pantheon-tweaks/fix-paths.patch b/pkgs/desktops/pantheon/third-party/pantheon-tweaks/fix-paths.patch
new file mode 100644
index 000000000000..b2e0e0a7b4c8
--- /dev/null
+++ b/pkgs/desktops/pantheon/third-party/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> ();
+
+ 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/desktops/pantheon/third-party/wingpanel-indicator-ayatana/default.nix b/pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/default.nix
new file mode 100644
index 000000000000..6acb1fe36f44
--- /dev/null
+++ b/pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, substituteAll
+, meson
+, ninja
+, pkg-config
+, vala
+, gtk3
+, libindicator-gtk3
+, pantheon
+, indicator-application-gtk3
+}:
+
+stdenv.mkDerivation rec {
+ pname = "wingpanel-indicator-ayatana";
+ version = "unstable-2021-12-01";
+
+ src = fetchFromGitHub {
+ owner = "Lafydev";
+ repo = pname;
+ rev = "53dc05919cdba772c787620a4bee5821e38c53cd";
+ sha256 = "sha256-T0OHzqENyeAr0pvXUaRMwF1RpwKVyDAF5P5G9S28COU=";
+ };
+
+ patches = [
+ # Fixes install path for wingpanel indicator
+ # https://github.com/Lafydev/wingpanel-indicator-ayatana/pull/30
+ ./fix-indicator-dir.patch
+ # Tells the indicator the path for libapplication.so
+ (substituteAll {
+ src = ./fix-libapplication-dir.patch;
+ indicator_application = indicator-application-gtk3;
+ })
+ ];
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ pkg-config
+ vala
+ ];
+
+ buildInputs = [
+ gtk3
+ libindicator-gtk3
+ pantheon.granite
+ pantheon.wingpanel
+ ];
+
+ meta = with lib; {
+ description = "Ayatana Compatibility Indicator for Wingpanel";
+ homepage = "https://github.com/Lafydev/wingpanel-indicator-ayatana";
+ license = licenses.lgpl21Plus;
+ platforms = platforms.linux;
+ maintainers = teams.pantheon.members;
+ };
+}
diff --git a/pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/fix-indicator-dir.patch b/pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/fix-indicator-dir.patch
new file mode 100644
index 000000000000..e6f71558e3e4
--- /dev/null
+++ b/pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/fix-indicator-dir.patch
@@ -0,0 +1,16 @@
+diff --git a/meson.build b/meson.build
+index 4aeab2b..dc44e6c 100644
+--- a/meson.build
++++ b/meson.build
+@@ -25,8 +25,10 @@ dependencies = {
+ 'wingpanel': wingpanel
+ }
+
++libdir = join_paths(get_option('prefix'), get_option('libdir'))
++
+ indicator_name = 'ayatana'
+-indicator_dir = dependencies['wingpanel'].get_pkgconfig_variable('indicatorsdir')
++indicator_dir = dependencies['wingpanel'].get_pkgconfig_variable('indicatorsdir', define_variable: ['libdir', libdir])
+
+ # ----------------------------------------------------------------------------------------------------------------------
+ # Bindings:
diff --git a/pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/fix-libapplication-dir.patch b/pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/fix-libapplication-dir.patch
new file mode 100644
index 000000000000..2d9a510b751e
--- /dev/null
+++ b/pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/fix-libapplication-dir.patch
@@ -0,0 +1,13 @@
+diff --git a/src/IndicatorFactory.vala b/src/IndicatorFactory.vala
+index 9411de0..632d83b 100644
+--- a/src/IndicatorFactory.vala
++++ b/src/IndicatorFactory.vala
+@@ -24,7 +24,7 @@ public class AyatanaCompatibility.IndicatorFactory : Object, IndicatorLoader {
+ public Gee.Collection<IndicatorIface> get_indicators () {
+ if (indicators == null) {
+ indicators = new Gee.LinkedList<IndicatorIface> ();
+- load_indicator (File.new_for_path (Constants.AYATANA_INDICATOR_DIR), "libapplication.so");
++ load_indicator (File.new_for_path ("@indicator_application@/lib/indicators3/7/"), "libapplication.so");
+ }
+
+ return indicators.read_only_view;