about summary refs log tree commit diff
path: root/nixpkgs/pkgs/desktops/pantheon
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/desktops/pantheon')
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-camera/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-dock/default.nix78
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-photos/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix9
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-videos/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/sideload/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix15
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/timezone.patch13
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix20
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/xkb.patch22
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch23
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix20
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/backgrounds.patch26
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix10
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix16
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/artwork/elementary-redacted-script/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/default.nix14
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix15
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix3
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix27
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/meson.patch272
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/gala/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch30
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/gala/use-new-notifications-default.patch13
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/bc.patch24
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix9
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix17
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/fix-paths.patch17
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix20
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/granite/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/cerbere/default.nix58
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/elementary-notifications/default.nix60
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix150
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/elementary-dpms.patch84
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch11
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/global-backlight-helper.patch30
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix6
77 files changed, 571 insertions, 788 deletions
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix
index 3f4f04377ed3..656428fa7f00 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix
@@ -28,13 +28,13 @@
 
 stdenv.mkDerivation rec {
   pname = "appcenter";
-  version = "3.2.2";
+  version = "3.2.4";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0aqslkig7vs95z719mp3xrl1zp65ypp2lq9aikvsis6nssadn2cd";
+    sha256 = "0nhgf5lgy74liml3kzijldan3qgrxh2721yvjdk4jf83b0g1b7yb";
   };
 
   passthru = {
@@ -83,7 +83,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/elementary/appcenter;
+    homepage = "https://github.com/elementary/appcenter";
     description = "An open, pay-what-you-want app store for indie developers, designed for elementary OS";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
index 1876020a8fe4..f2f6faedc5ad 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
@@ -18,7 +18,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-calculator";
-  version = "1.5.4";
+  version = "1.5.5";
 
   repoName = "calculator";
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "0053bdzn5viqlni6qg6q39nma6bsddmhnafa0mzggiv8l4qasbrx";
+    sha256 = "1csxsr2c8qvl97xz9ahwn91z095nzgr0i1mbcb1spljll2sr9lkj";
   };
 
   passthru = {
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/elementary/calculator;
+    homepage = "https://github.com/elementary/calculator";
     description = "Calculator app designed for elementary OS";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
index 5a70fa94c5ee..ec11ae7516b2 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
@@ -25,7 +25,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-calendar";
-  version = "5.0.3";
+  version = "5.0.4";
 
   repoName = "calendar";
 
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1dqcmh585fjib4m8bs7qy23fv429s7q9nbcqnn0vvmy1n36fic4m";
+    sha256 = "0ywk9w6d6nw7ir3f11xc13fr08ifvzpavq1c3x48kmmf69ywprdk";
   };
 
   passthru = {
@@ -75,7 +75,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Desktop calendar app designed for elementary OS";
-    homepage = https://github.com/elementary/calendar;
+    homepage = "https://github.com/elementary/calendar";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-camera/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-camera/default.nix
index 7c95d88053dd..712f2bec8d5e 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-camera/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-camera/default.nix
@@ -23,7 +23,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-camera";
-  version = "1.0.5";
+  version = "1.0.6";
 
   repoName = "camera";
 
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "05amcljvc3w77a1b0c76y6rha8g0zm6lqflvg1g7jzz00jchx9d4";
+    sha256 = "13jg224h2436swd6kdkfs22icg0ja9lshvxwg5bqnb5fshspkjba";
   };
 
   passthru = {
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Camera app designed for elementary OS";
-    homepage = https://github.com/elementary/camera;
+    homepage = "https://github.com/elementary/camera";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix
index 148b82fd84a0..82036c8b8e21 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix
@@ -27,7 +27,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-code";
-  version = "3.3.0";
+  version = "3.4.0";
 
   repoName = "code";
 
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "0v544zw99wjcy0bflaci9fssx4sibz4b05bxs3a7j8hrpl102r4w";
+    sha256 = "0b1vdgb1xvh5lqbral3r0qaq05zd5q5ywxw02fggpyy8nyxs3z8f";
   };
 
   passthru = {
@@ -89,7 +89,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Code editor designed for elementary OS";
-    homepage = https://github.com/elementary/code;
+    homepage = "https://github.com/elementary/code";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-dock/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-dock/default.nix
new file mode 100644
index 000000000000..ee9df9955f40
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-dock/default.nix
@@ -0,0 +1,78 @@
+{ stdenv
+, fetchFromGitHub
+, vala
+, atk
+, cairo
+, dconf
+, glib
+, gtk3
+, libwnck3
+, libX11
+, libXfixes
+, libXi
+, pango
+, gettext
+, pkgconfig
+, libxml2
+, bamf
+, gdk-pixbuf
+, libdbusmenu-gtk3
+, gnome-menus
+, libgee
+, wrapGAppsHook
+, pantheon
+, meson
+, ninja
+}:
+
+stdenv.mkDerivation rec {
+  pname = "elementary-dock";
+  version = "unstable-2020-02-28";
+
+  outputs = [ "out" "dev" ];
+
+  repoName = "dock";
+
+  src = fetchFromGitHub {
+    owner = "elementary";
+    repo = repoName;
+    rev = "ac87d9063dc9c81d90f42f3002ad9c5b49460a82";
+    sha256 = "0lhjzd370fza488dav8n155ss486wqv6y7ldkahwg0c3zvlsvha7";
+  };
+
+  nativeBuildInputs = [
+    gettext
+    meson
+    ninja
+    libxml2 # xmllint
+    pkgconfig
+    vala
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    atk
+    bamf
+    cairo
+    gdk-pixbuf
+    glib
+    gnome-menus
+    dconf
+    gtk3
+    libX11
+    libXfixes
+    libXi
+    libdbusmenu-gtk3
+    libgee
+    libwnck3
+    pango
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Elegant, simple, clean dock";
+    homepage = "https://github.com/elementary/dock";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ davidak ] ++ pantheon.maintainers;
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix
index fb56b3d1b33a..e54841275f6f 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "GitHub Issue Reporter designed for elementary OS";
-    homepage = https://github.com/elementary/feedback;
+    homepage = "https://github.com/elementary/feedback";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/default.nix
index d83510c49f67..ed557da5449f 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/default.nix
@@ -30,7 +30,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-files";
-  version = "4.4.1";
+  version = "4.4.2";
 
   repoName = "files";
 
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "0s874qnqbx20vyp2z2rhz3z8py0dm21v26xc0h6hyc2gfz4s3jcg";
+    sha256 = "1n18b3m3vgvmmgpfbgnfnz0z98bkgbfrfkx25jqbwsdnwrlb4li6";
   };
 
   passthru = {
@@ -93,7 +93,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "File browser designed for elementary OS";
-    homepage = https://github.com/elementary/files;
+    homepage = "https://github.com/elementary/files";
     license = licenses.lgpl3;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-photos/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
index ea74686e5041..5c6d34a55a51 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
@@ -33,7 +33,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-photos";
-  version = "2.6.5";
+  version = "2.7.0";
 
   repoName = "photos";
 
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "0r6d9y936nw4bn0jvixi1p62dy8qsgl2bx8g3889fndnhfnhbjv0";
+    sha256 = "09jjic165rmprc2cszsgj2m3j3f5p8v9pxx5mj66a0gj3ar3hfbd";
   };
 
   passthru = {
@@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
 
   meta =  with stdenv.lib; {
     description = "Photo viewer and organizer designed for elementary OS";
-    homepage = https://github.com/elementary/photos;
+    homepage = "https://github.com/elementary/photos";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix
index befa2bbbb020..078d496bf0db 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Screenshot tool designed for elementary OS";
-    homepage = https://github.com/elementary/screenshot;
+    homepage = "https://github.com/elementary/screenshot";
     license = licenses.lgpl3;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
index 27bcb21a006e..f9f81c37a4b9 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchFromGitHub
+, fetchpatch
 , pantheon
 , pkgconfig
 , meson
@@ -15,12 +16,13 @@
 , libgee
 , elementary-icon-theme
 , appstream
+, pcre2
 , wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-terminal";
-  version = "5.5.1";
+  version = "5.5.2";
 
   repoName = "terminal";
 
@@ -28,7 +30,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1b8fzs9s7djhwp02l3fwjpwxylklpbnw7x46mv7c8ksbp0m75iyj";
+    sha256 = "119iwmzbpkj4nmxinqfsh73lx23g8gbl6ha6wc4mc4fq9hpnc9c2";
   };
 
   passthru = {
@@ -55,6 +57,7 @@ stdenv.mkDerivation rec {
     gtk3
     libgee
     libnotify
+    pcre2
     vte
   ];
 
@@ -72,7 +75,7 @@ stdenv.mkDerivation rec {
       A super lightweight, beautiful, and simple terminal. Comes with sane defaults, browser-class tabs, sudo paste protection,
       smart copy/paste, and little to no configuration.
     '';
-    homepage = https://github.com/elementary/terminal;
+    homepage = "https://github.com/elementary/terminal";
     license = licenses.lgpl3;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-videos/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-videos/default.nix
index c8bde4943992..c3da10d1cf39 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-videos/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-videos/default.nix
@@ -19,7 +19,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-videos";
-  version = "2.7.0";
+  version = "2.7.1";
 
   repoName = "videos";
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1b6dqqmxa83fwlh9r0v918ikxd3mnwk0j5xssw1wk5l7q72s43w7";
+    sha256 = "00arim4i9bv9mbms1irkp44grkgrfnmqzraswyn1xiz9nvl1bsb9";
   };
 
   passthru = {
@@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Video player and library app designed for elementary OS";
-    homepage = https://github.com/elementary/videos;
+    homepage = "https://github.com/elementary/videos";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/sideload/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/sideload/default.nix
index efe34da7b262..01048d881d52 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/sideload/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/sideload/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sideload";
-  version = "1.0.1";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0camg34skiisfbf9s9awfkdkq72s9jhl4ipmax7dqr33n8a86hic";
+    sha256 = "1nnaq4vc0aag6pckxhrma5qv8al7i00rrlg95ac4iqqmivja7i92";
   };
 
   passthru = {
@@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/elementary/sideload;
+    homepage = "https://github.com/elementary/sideload";
     description = "Flatpak installer, designed for elementary OS";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix
index 5cd5d365ed95..6348f7c93a30 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-a11y";
-  version = "2.1.3";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1wh46lrsliii5bbvfc4xnzgnii2v7sqxnbn43ylmyqppfv9mk1wd";
+    sha256 = "0g8lhdwv9g16kjn7yxnl6x4rscjl2206ljfnghpxc4b5lwhqxxnw";
   };
 
   patches = [
@@ -51,11 +51,9 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
   meta = with stdenv.lib; {
     description = "Switchboard Universal Access Plug";
-    homepage = https://github.com/elementary/switchboard-plug-a11y;
+    homepage = "https://github.com/elementary/switchboard-plug-a11y";
     license = licenses.lgpl3Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
index d501cba7c066..76b4eeebdf12 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-about";
-  version = "2.6.1";
+  version = "2.6.2";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1z58d21xrjghvjx0ng53pcxwdk2f5d00dvngcyjja0kf7sixba71";
+    sha256 = "1cjhip0abc0y5w6cqnjcgi48bfrackp45gz7955l66hxhnm5wyw6";
   };
 
   passthru = {
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Switchboard About Plug";
-    homepage = https://github.com/elementary/switchboard-plug-about;
+    homepage = "https://github.com/elementary/switchboard-plug-about";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
index 0d0a7507afea..9cd92d0a5ed8 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-applications";
-  version = "2.1.6";
+  version = "2.1.7";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "19l979sdn9jzibvn98ag3ys28ka7zqlsbs0gj2gs9jcxhzngrxvg";
+    sha256 = "0wzm390g8di4ks3w637a0wl4j7g89j321xkz5msd9058gksvaaxs";
   };
 
   passthru = {
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Switchboard Applications Plug";
-    homepage = https://github.com/elementary/switchboard-plug-applications;
+    homepage = "https://github.com/elementary/switchboard-plug-applications";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix
index b5adf7c97e28..8ceaee93bdbf 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Switchboard Bluetooth Plug";
-    homepage = https://github.com/elementary/switchboard-plug-bluetooth;
+    homepage = "https://github.com/elementary/switchboard-plug-bluetooth";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix
index 501059896f24..adb6e187915f 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-datetime";
-  version = "2.1.6";
+  version = "2.1.7";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "09734c3qc0296zf14rdhl4p6ppga015rz9hhsvlcc3nvyw7kdqkc";
+    sha256 = "0lpmxl42r5vn6mddwppn6zwmai0yabs3n467w027vkzw4axdi6bf";
   };
 
   passthru = {
@@ -46,18 +46,9 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  patches = [
-    (substituteAll {
-      src = ./timezone.patch;
-      tzdata = "${tzdata}/share/zoneinfo/zone.tab";
-    })
-  ];
-
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
   meta = with stdenv.lib; {
     description = "Switchboard Date & Time Plug";
-    homepage = https://github.com/elementary/switchboard-plug-datetime;
+    homepage = "https://github.com/elementary/switchboard-plug-datetime";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/timezone.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/timezone.patch
deleted file mode 100644
index 35f73d365990..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/timezone.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/Parser.vala b/src/Parser.vala
-index faccb64..432a362 100644
---- a/src/Parser.vala
-+++ b/src/Parser.vala
-@@ -28,7 +28,7 @@ public class DateTime.Parser : GLib.Object {
-         return parser;
-     }
-     private Parser () {
--        var file = File.new_for_path ("/usr/share/zoneinfo/zone.tab");
-+        var file = File.new_for_path ("@tzdata@");
-         if (!file.query_exists ()) {
-             critical ("/usr/share/zoneinfo/zone.tab doesn't exist !");
-             return;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
index bd9669e24997..aaf980a313ff 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-display";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0mr89kyq034wffzixqlq6lmhyc4jry3dcgxrk306dhks2myindqh";
+    sha256 = "1racp0mxiaix9afx25ryskdcyi335fz8yh8nwgdxbqbm6jpyq4zs";
   };
 
   passthru = {
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Switchboard Displays Plug";
-    homepage = https://github.com/elementary/switchboard-plug-display;
+    homepage = "https://github.com/elementary/switchboard-plug-display";
     license = licenses.lgpl2Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
index 81a694f2ea93..10468cdc553b 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-keyboard";
-  version = "2.3.5";
+  version = "2.3.6";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "17iijb7imxw5zv7vkrbc1vsp87k900yqgyv7ycz1gw37xb4klsyp";
+    sha256 = "08zpw7ygrqmwwznvxkf4xbrgwbjkbwc95sw1ikikg3143ql9qclp";
   };
 
   passthru = {
@@ -51,23 +51,9 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  patches = [
-    (substituteAll {
-      src = ./xkb.patch;
-      config = "${xorg.xkeyboardconfig}/share/X11/xkb/rules/evdev.xml";
-    })
-    # Fix build with latest vala.
-    (fetchpatch {
-      url = "https://github.com/elementary/switchboard-plug-keyboard/commit/28fa960f607f0b1d67f2864965a079bdfc23e3a8.patch";
-      sha256 = "0121qcg8n7gkz7gpwrxc1cx0nnypj02zy2jmp3cks5r9sc0yi0hw";
-    })
-  ];
-
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
   meta = with stdenv.lib; {
     description = "Switchboard Keyboard Plug";
-    homepage = https://github.com/elementary/switchboard-plug-keyboard;
+    homepage = "https://github.com/elementary/switchboard-plug-keyboard";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/xkb.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/xkb.patch
deleted file mode 100644
index 33237d9c9392..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/xkb.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/Layout/Handler.vala b/src/Layout/Handler.vala
-index 297314b..b36509a 100644
---- a/src/Layout/Handler.vala
-+++ b/src/Layout/Handler.vala
-@@ -29,7 +29,7 @@ public class Pantheon.Keyboard.LayoutPage.LayoutHandler : GLib.Object {
-     }
-
-     private void parse_layouts () {
--        Xml.Doc* doc = Xml.Parser.parse_file ("/usr/share/X11/xkb/rules/evdev.xml");
-+        Xml.Doc* doc = Xml.Parser.parse_file ("@config@");
-         if (doc == null) {
-             critical ("'evdev.xml' not found or permissions missing\n");
-             return;
-@@ -76,7 +76,7 @@ public class Pantheon.Keyboard.LayoutPage.LayoutHandler : GLib.Object {
-     public HashTable<string, string> get_variants_for_language (string language) {
-         var returned_table = new HashTable<string, string> (str_hash, str_equal);
-         returned_table.set ("", _("Default"));
--        Xml.Doc* doc = Xml.Parser.parse_file ("/usr/share/X11/xkb/rules/evdev.xml");
-+        Xml.Doc* doc = Xml.Parser.parse_file ("@config@");
-         if (doc == null) {
-             critical ("'evdev.xml' not found or permissions incorrect\n");
-             return returned_table;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
index 5a4eaf79b384..956d53d6980f 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-mouse-touchpad";
-  version = "2.4.0";
+  version = "2.4.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1ls5jxzmd7cmbv8h67q6mcmfrfksgwjndqd6r9gxivsz2lcji3x7";
+    sha256 = "19y1n05pc3j0px5pql5338vzrq6hjw209s8l2l70ha4i4r978qir";
   };
 
   passthru = {
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Switchboard Mouse & Touchpad Plug";
-    homepage = https://github.com/elementary/switchboard-plug-mouse-touchpad;
+    homepage = "https://github.com/elementary/switchboard-plug-mouse-touchpad";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
index 1ff1068119b7..04763c3dc3f8 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-network";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0zg4bxrrw1nmm91yp8ymji7mha2wcjrwljcnpcvxq7lf8f2k0145";
+    sha256 = "0pqkr7swjgla8klcjdcwgk2fipiwvylk8m71l1fymazvzwxrbxw6";
   };
 
   passthru = {
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Switchboard Networking Plug";
-    homepage = https://github.com/elementary/switchboard-plug-network;
+    homepage = "https://github.com/elementary/switchboard-plug-network";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch
index e2d7a6d49705..b99f59fb2684 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch
@@ -1,8 +1,8 @@
 diff --git a/src/Views/VPNPage.vala b/src/Views/VPNPage.vala
-index 82e7826..cf00145 100644
+index ba9dc22..a12871a 100644
 --- a/src/Views/VPNPage.vala
 +++ b/src/Views/VPNPage.vala
-@@ -265,7 +265,7 @@ public class Network.VPNPage : Network.Widgets.Page {
+@@ -264,7 +264,7 @@ public class Network.VPNPage : Network.Widgets.Page {
      private void try_connection_editor (string args) {
          try {
              var appinfo = AppInfo.create_from_commandline (
@@ -12,24 +12,15 @@ index 82e7826..cf00145 100644
                  GLib.AppInfoCreateFlags.NONE
              );
 diff --git a/src/Widgets/SettingsButton.vala b/src/Widgets/SettingsButton.vala
-index ed36b38..bc71c0c 100644
+index 5849b69..7bbd172 100644
 --- a/src/Widgets/SettingsButton.vala
 +++ b/src/Widgets/SettingsButton.vala
-@@ -24,7 +24,7 @@
-             clicked.connect (() => {
-                 try {
-                     var appinfo = AppInfo.create_from_commandline (
--                        "nm-connection-editor",
-+                        "@networkmanagerapplet@/bin/nm-connection-editor",
-                         null,
-                         AppInfoCreateFlags.NONE
-                     );
-@@ -71,7 +71,7 @@
-         private void edit_connection_uuid (string uuid) {
+@@ -55,7 +55,7 @@ public class Network.Widgets.SettingsButton : Gtk.Button {
+         clicked.connect (() => {
              try {
                  var appinfo = AppInfo.create_from_commandline (
--                    "nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE
-+                    "@networkmanagerapplet@/bin/nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE
+-                    "nm-connection-editor %s".printf (args), null, AppInfoCreateFlags.NONE
++                    "@networkmanagerapplet@/bin/nm-connection-editor %s".printf (args), null, AppInfoCreateFlags.NONE
                  );
  
                  appinfo.launch (null, null);
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix
index bd7fee51d8dc..b4564abd770c 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchFromGitHub
+, fetchpatch
 , pantheon
 , meson
 , ninja
@@ -9,19 +10,29 @@
 , granite
 , gtk3
 , switchboard
+, elementary-notifications
 }:
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-notifications";
-  version = "2.1.5";
+  version = "2.1.6";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0p0aj3bbjrh6x8wajqqb5yqm2iqfnj7kp16zf4hdr4siw0sx5p8n";
+    sha256 = "1ikq058svdan0whg4ks35m50apvbmzcz7h2wznxdbsimczzvj5sz";
   };
 
+  patches = [
+    # Fix do not disturb on NixOS
+    # https://github.com/elementary/switchboard-plug-notifications/pull/66
+    (fetchpatch {
+      url = "https://github.com/elementary/switchboard-plug-notifications/commit/c306366b39c3199f0b64eda73419005fcb5e29b8.patch";
+      sha256 = "0m018rfw5iv582sw6qgwc8lzn0j32ix1w47fvlfmx0kw04irl2x3";
+    })
+  ];
+
   passthru = {
     updateScript = pantheon.updateScript {
       attrPath = "pantheon.${pname}";
@@ -36,17 +47,16 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    elementary-notifications
     granite
     gtk3
     libgee
     switchboard
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
   meta = with stdenv.lib; {
     description = "Switchboard Notifications Plug";
-    homepage = https://github.com/elementary/switchboard-plug-notifications;
+    homepage = "https://github.com/elementary/switchboard-plug-notifications";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix
index fdd3f4f57650..902703bc75e5 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix
@@ -5,7 +5,7 @@
 , meson
 , ninja
 , pkgconfig
-, vala
+, vala_0_46
 , libgee
 , granite
 , gtk3
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     meson
     ninja
     pkgconfig
-    vala
+    vala_0_46
   ];
 
   buildInputs = [
@@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Switchboard Online Accounts Plug";
-    homepage = https://github.com/elementary/switchboard-plug-onlineaccounts;
+    homepage = "https://github.com/elementary/switchboard-plug-onlineaccounts";
     license = licenses.lgpl2Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/backgrounds.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/backgrounds.patch
deleted file mode 100644
index a1b019179d1b..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/backgrounds.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/set-wallpaper-contract/set-wallpaper.vala b/set-wallpaper-contract/set-wallpaper.vala
-index 3e02089..7ce7041 100644
---- a/set-wallpaper-contract/set-wallpaper.vala
-+++ b/set-wallpaper-contract/set-wallpaper.vala
-@@ -38,7 +38,7 @@ namespace SetWallpaperContractor {
-         </transition>
-     """;
- 
--    const string SYSTEM_BACKGROUNDS_PATH = "/usr/share/backgrounds";
-+    const string SYSTEM_BACKGROUNDS_PATH = "/run/current-system/sw/share/backgrounds";
- 
-     private int delay_value = 60;
- 
-diff --git a/src/Views/Wallpaper.vala b/src/Views/Wallpaper.vala
-index 4be14fa..aa8832f 100644
---- a/src/Views/Wallpaper.vala
-+++ b/src/Views/Wallpaper.vala
-@@ -38,7 +38,7 @@ public class Wallpaper : Gtk.Grid {
-         FileAttribute.THUMBNAIL_IS_VALID
-     };
- 
--    const string SYSTEM_BACKGROUNDS_PATH = "/usr/share/backgrounds";
-+    const string SYSTEM_BACKGROUNDS_PATH = "/run/current-system/sw/share/backgrounds";
- 
-     public Switchboard.Plug plug { get; construct set; }
-     private GLib.Settings settings;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
index ab9ecbc5a336..c44875259541 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-pantheon-shell";
-  version = "2.8.2";
+  version = "2.8.3";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0l4js2gqvn8lmky5b3jjqw6mzxcv9i2gjqr1vka0z40px6vfzf0z";
+    sha256 = "0ypyppxx51l3r3fgxrvjdwnz33lpbfh1bf27fww9fx9520wixnx8";
   };
 
   passthru = {
@@ -42,13 +42,9 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  patches = [
-    ./backgrounds.patch # Having https://github.com/elementary/switchboard-plug-pantheon-shell/issues/166 would make this patch uneeded
-  ];
-
   meta = with stdenv.lib; {
     description = "Switchboard Desktop Plug";
-    homepage = https://github.com/elementary/switchboard-plug-pantheon-shell;
+    homepage = "https://github.com/elementary/switchboard-plug-pantheon-shell";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
index a8513f0b29ba..58c135d9c663 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-power";
-  version = "2.4.0";
+  version = "2.4.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1b25slfh8166v9z2zmb25k64pcj0lh001qh04qhfilzfcbh54krj";
+    sha256 = "0hmchx0sfdm2c2f9khjvlaqcxmvzarn2vmwcdb3h5ifbj32vydzw";
   };
 
   passthru = {
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Switchboard Power Plug";
-    homepage = https://github.com/elementary/switchboard-plug-power;
+    homepage = "https://github.com/elementary/switchboard-plug-power";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
index b21fc1c099f1..1d71ae1f7cce 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-printers";
-  version = "2.1.7";
+  version = "2.1.8";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "03r67q6my10i4hl8d0q3d6fhqm9abs9kn9j92hk6ykqb4ybxw1z1";
+    sha256 = "0nnzwpfxkvgsw3g329926c3m7vci6vyb60qib7b9mpgicmsqnkvz";
   };
 
   passthru = {
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Switchboard Printers Plug";
-    homepage = https://github.com/elementary/switchboard-plug-printers;
+    homepage = "https://github.com/elementary/switchboard-plug-printers";
     license = licenses.lgpl3Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
index 9d457aedc969..c07e48736d7e 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-security-privacy";
-  version = "2.2.2";
+  version = "2.2.3";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1dwq9rqswgnnglhrgcpvrp6shn3pb4x8f8f23x84sqakb430idp7";
+    sha256 = "1rgbw2kfcq7cdpvl6sy6r6d4iprm1j2n3knbnbxy8sylfc83bwri";
   };
 
   passthru = {
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Switchboard Security & Privacy Plug";
-    homepage = https://github.com/elementary/switchboard-plug-security-privacy;
+    homepage = "https://github.com/elementary/switchboard-plug-security-privacy";
     license = licenses.lgpl3Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix
index 3d240fc6221e..55ed654f75fa 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-sharing";
-  version = "2.1.3";
+  version = "2.1.4";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1yi6aga9i18wwn22zwmfbhsk16f92fka837is5r8xghqb7a50hyh";
+    sha256 = "1awkz16nydlgi8a2dd6agfnd3qwl2qsvv6wnn8bhaz1kbv1v9kpw";
   };
 
   passthru = {
@@ -43,19 +43,9 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  patches = [
-    # Fix build with latest vala
-    (fetchpatch {
-      url = "https://github.com/elementary/switchboard-plug-sharing/commit/22c9d52577a2e8c36c840a99009420266a39e1fe.patch";
-      sha256 = "0rbf1yxhc7k44cwikd45mv2g6slzw0rkwn5s38q3yxai9jnpvqch";
-    })
-  ];
-
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
   meta = with stdenv.lib; {
     description = "Switchboard Sharing Plug";
-    homepage = https://github.com/elementary/switchboard-plug-sharing;
+    homepage = "https://github.com/elementary/switchboard-plug-sharing";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix
index 8d8cd1c940a6..df553a515eac 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-sound";
-  version = "2.2.2";
+  version = "2.2.3";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1aa9wgaz34glrrnilnqis3k0bnx2a2ir38j493y4d0klkjkwyn5k";
+    sha256 = "1vpw06ldhy26xs5vp2gx5s8wbl42dznycp3jsnm5qp8iid8wl6l6";
   };
 
   passthru = {
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Switchboard Sound Plug";
-    homepage = https://github.com/elementary/switchboard-plug-sound;
+    homepage = "https://github.com/elementary/switchboard-plug-sound";
     license = licenses.lgpl2Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/default.nix
index 28ec4e65f52d..6b451931a46c 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard";
-  version = "2.3.8";
+  version = "2.3.9";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1y254irl07fp70228zm268w20zd7risz0sk9i9wz59yynxwjshbx";
+    sha256 = "0gq2gi14ywmhhlq3vablzqjzxq2ms60l9b10splzsf3zd7k2dqz2";
   };
 
   passthru = {
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Extensible System Settings app for Pantheon";
-    homepage = https://github.com/elementary/switchboard;
+    homepage = "https://github.com/elementary/switchboard";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
index c1af68e8d5ba..9deee9c9abe1 100644
--- a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "GTK theme designed to be smooth, attractive, fast, and usable";
-    homepage = https://github.com/elementary/stylesheet;
+    homepage = "https://github.com/elementary/stylesheet";
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
index 291977349bd1..3d448954cca7 100644
--- a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
     longDescription = ''
       An original set of vector icons designed specifically for elementary OS and its desktop environment: Pantheon.
     '';
-    homepage = https://github.com/elementary/icons;
+    homepage = "https://github.com/elementary/icons";
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-redacted-script/default.nix b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-redacted-script/default.nix
index df2475ce82a3..50a455885162 100644
--- a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-redacted-script/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-redacted-script/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "Font for concealing text";
-    homepage = https://github.com/png2378/redacted-elementary;
+    homepage = "https://github.com/png2378/redacted-elementary";
     license = licenses.ofl;
     maintainers = pantheon.maintainers;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix
index c19a465e9b14..f95e68153058 100644
--- a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A set of system sounds for elementary";
-    homepage = https://github.com/elementary/sound-theme;
+    homepage = "https://github.com/elementary/sound-theme";
     license = licenses.unlicense;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix
index 2f3b0ee059fc..82f45c95d611 100644
--- a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Collection of wallpapers for elementary";
-    homepage = https://github.com/elementary/wallpapers;
+    homepage = "https://github.com/elementary/wallpapers";
     license = licenses.publicDomain;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/default.nix b/nixpkgs/pkgs/desktops/pantheon/default.nix
index d4e6b192f200..edcda8877544 100644
--- a/nixpkgs/pkgs/desktops/pantheon/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/default.nix
@@ -29,7 +29,7 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   maintainers = with pkgs.stdenv.lib.maintainers; [ worldofpeace ];
 
-  mutter = pkgs.gnome3.mutter328;
+  mutter = pkgs.gnome3.mutter334;
 
   elementary-gsettings-schemas = callPackage ./desktop/elementary-gsettings-schemas { };
 
@@ -47,6 +47,8 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   elementary-code = callPackage ./apps/elementary-code { };
 
+  elementary-dock = callPackage ./apps/elementary-dock { };
+
   elementary-files = callPackage ./apps/elementary-files { };
 
   elementary-feedback = callPackage ./apps/elementary-feedback { };
@@ -99,18 +101,20 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   #### SERVICES
 
-  cerbere = callPackage ./services/cerbere { };
-
   contractor = callPackage ./services/contractor { };
 
   elementary-capnet-assist = callPackage ./services/elementary-capnet-assist { };
 
   elementary-dpms-helper = callPackage ./services/elementary-dpms-helper { };
 
+  elementary-notifications = callPackage ./services/elementary-notifications { };
+
   # We're using ubuntu and elementary's patchset due to reasons
   # explained here -> https://github.com/elementary/greeter/issues/92#issuecomment-376215614
   # Take note of "I am holding off on "fixing" this bug for as long as possible."
-  elementary-settings-daemon = callPackage ./services/elementary-settings-daemon { };
+  elementary-settings-daemon = callPackage ./services/elementary-settings-daemon {
+    inherit (gnome3) gnome-desktop;
+  };
 
   pantheon-agent-geoclue2 = callPackage ./services/pantheon-agent-geoclue2 { };
 
@@ -200,4 +204,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   inherit (pkgs) vala; # added 2019-10-10
 
+  cerbere = throw "Cerbere is now obsolete https://github.com/elementary/cerbere/releases/tag/2.5.1.";
+
 })
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
index be97c5903eb3..4e8d8bfeb150 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
@@ -10,6 +10,7 @@
 , polkit
 , accountsservice
 , python3
+, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
@@ -32,6 +33,18 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
+    # Use new notifications
+    (fetchpatch {
+      url = "https://github.com/elementary/default-settings/commit/0658bb75b9f49f58b35746d05fb6c4b811f125e9.patch";
+      sha256 = "0wa7iq0vfp2av5v23w94a5844ddj4g48d4wk3yrp745dyrimg739";
+    })
+
+    # Fix media key syntax
+    (fetchpatch {
+      url = "https://github.com/elementary/default-settings/commit/332aefe1883be5dfe90920e165c39e331a53b2ea.patch";
+      sha256 = "0ypcaga55pw58l30srq3ga1mhz2w6hkwanv41jjr6g3ia9jvq69n";
+    })
+
     # https://github.com/elementary/default-settings/pull/119
     ./0001-Build-with-Meson.patch
   ];
@@ -84,7 +97,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Default settings and configuration files for elementary";
-    homepage = https://github.com/elementary/default-settings;
+    homepage = "https://github.com/elementary/default-settings";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
index 21698bed22df..432f7c3ac5f1 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
@@ -28,7 +28,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-greeter";
-  version = "5.0.2";
+  version = "5.0.3";
 
   repoName = "greeter";
 
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "0557lr8czqwjrm39ykfacqw5x7nng7fmf1gxkif70xg7dk3lc7gd";
+    sha256 = "1zbfcdgjn57r8pz01xrz6kk8rmviq133snz9f1vqhjdsznk82w5i";
   };
 
   passthru = {
@@ -118,7 +118,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "LightDM Greeter for Pantheon";
-    homepage = https://github.com/elementary/greeter;
+    homepage = "https://github.com/elementary/greeter";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix
index 38e57539de42..2580907a5923 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix
@@ -36,7 +36,8 @@ runCommand "elementary-gsettings-desktop-schemas" {}
      schema_dir=$out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas
 
      mkdir -p $schema_dir
-     cp -rf ${glib.getSchemaPath gsettings-desktop-schemas}/*.xml $schema_dir
+
+     cp -rf ${glib.getSchemaPath gala}/*.gschema.override $schema_dir
 
      ${concatMapStrings (pkg: "cp -rf ${glib.getSchemaPath pkg}/*.xml $schema_dir\n") gsettingsOverridePackages}
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix
index 06b5183c1e03..02a87159aefb 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix
@@ -20,7 +20,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-onboarding";
-  version = "1.1.0";
+  version = "1.2.0";
 
   repoName = "onboarding";
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "17fw95qg7j0mvam90jrvr77hw2ipxb2lkw0xxql1lzwvdx1h0r2k";
+    sha256 = "0yxafz7jlzj8gsbp6m72q4zbcvm1ch2y4fibj9cymjvz2i0izhba";
   };
 
   passthru = {
@@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Onboarding app for new users designed for elementary OS";
-    homepage = https://github.com/elementary/onboarding;
+    homepage = "https://github.com/elementary/onboarding";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix
index e79a85bee958..e8ea57b8bb9a 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Simple shim for printing support via Contractor";
-    homepage = https://github.com/elementary/print;
+    homepage = "https://github.com/elementary/print";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix
index 58acdd12147e..089c9188d6cd 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchFromGitHub
+, fetchpatch
 , substituteAll
 , writeScript
 , pantheon
@@ -15,7 +16,7 @@
 , writeText
 , meson
 , ninja
-, git
+, pkg-config
 }:
 
 let
@@ -69,24 +70,34 @@ in
 
 stdenv.mkDerivation rec {
   pname = "elementary-session-settings";
-  version = "5.0.3";
+  version = "unstable-2019-11-12";
 
   repoName = "session-settings";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = repoName;
-    rev = version;
-    sha256 = "1vrjm7bklkfv0dyafm312v4hxzy6lb7p1ny4ijkn48kr719gc71k";
+    rev = "f9d5afed16ce447cf6ae3c2d1c1db5eece84daca";
+    sha256 = "0n1m41aapr58rb1ffvfkjq6c6w3f0ynjzzhja50s4di98p4m7y0q";
   };
 
-  postPatch = ''
-    ${git}/bin/git apply --verbose ${./meson.patch}
-  '';
+  patches = [
+    # Map Pantheon required components by g-s-d versions
+    # https://github.com/elementary/session-settings/pull/23
+    (fetchpatch {
+      url = "https://github.com/elementary/session-settings/commit/39918f4ec64fa9ed5affa109d6a692b97ae4ff01.patch";
+      sha256 = "0v2kqcsibymnslnnw4v67yh098znsrhrcycgxkw8vymvwlinc502";
+    })
+  ];
 
   nativeBuildInputs = [
     meson
     ninja
+    pkg-config
+  ];
+
+  buildInputs = [
+    elementary-settings-daemon
   ];
 
   mesonFlags = [
@@ -135,7 +146,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Session settings for elementary";
-    homepage = https://github.com/elementary/session-settings;
+    homepage = "https://github.com/elementary/session-settings";
     license = licenses.lgpl3;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/meson.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/meson.patch
deleted file mode 100644
index 39d155656612..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/meson.patch
+++ /dev/null
@@ -1,272 +0,0 @@
-From 0a20ad6a31c74f4f96e9ed3613ec6c16a94ede39 Mon Sep 17 00:00:00 2001
-From: worldofpeace <worldofpeace@protonmail.ch>
-Date: Thu, 8 Aug 2019 11:25:37 -0400
-Subject: [PATCH] Build with Meson (#13)
-
----
- applications/meson.build                       |  4 ++++
- ...ettingsDaemon.A11ySettings-pantheon.desktop |  0
- ...e.SettingsDaemon.Clipboard-pantheon.desktop |  0
- ...gnome.SettingsDaemon.Color-pantheon.desktop |  0
- ...me.SettingsDaemon.Datetime-pantheon.desktop |  0
- ...ettingsDaemon.Housekeeping-pantheon.desktop |  0
- ...me.SettingsDaemon.Keyboard-pantheon.desktop |  0
- ...e.SettingsDaemon.MediaKeys-pantheon.desktop |  0
- ...gnome.SettingsDaemon.Mouse-pantheon.desktop |  0
- ...gnome.SettingsDaemon.Power-pantheon.desktop |  0
- ...sDaemon.PrintNotifications-pantheon.desktop |  0
- ...nome.SettingsDaemon.Rfkill-pantheon.desktop |  0
- ...ome.SettingsDaemon.Sharing-pantheon.desktop |  0
- ...e.SettingsDaemon.Smartcard-pantheon.desktop |  0
- ...gnome.SettingsDaemon.Sound-pantheon.desktop |  0
- ...gnome.SettingsDaemon.Wacom-pantheon.desktop |  0
- ...e.SettingsDaemon.XSettings-pantheon.desktop |  0
- autostart/meson.build                          | 18 ++++++++++++++++++
- .../gnome-keyring-gpg-pantheon.desktop         |  0
- .../gnome-keyring-pkcs11-pantheon.desktop      |  0
- .../gnome-keyring-secrets-pantheon.desktop     |  0
- .../gnome-keyring-ssh-pantheon.desktop         |  0
- .../onboard-autostart-pantheon.desktop         |  0
- .../orca-autostart-pantheon.desktop            |  0
- .../user-dirs-update-gtk-pantheon.desktop      |  0
- gnome-session/meson.build                      | 11 +++++++++++
- .../{pantheon.session => pantheon.session.in}  |  2 +-
- meson.build                                    | 14 ++++++++++++++
- meson_options.txt                              | 11 +++++++++++
- xsessions/meson.build                          |  4 ++++
- 30 files changed, 63 insertions(+), 1 deletion(-)
- create mode 100644 applications/meson.build
- rename autostart/{ => gsd}/org.gnome.SettingsDaemon.A11ySettings-pantheon.desktop (100%)
- rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Clipboard-pantheon.desktop (100%)
- rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Color-pantheon.desktop (100%)
- rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Datetime-pantheon.desktop (100%)
- rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Housekeeping-pantheon.desktop (100%)
- rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Keyboard-pantheon.desktop (100%)
- rename autostart/{ => gsd}/org.gnome.SettingsDaemon.MediaKeys-pantheon.desktop (100%)
- rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Mouse-pantheon.desktop (100%)
- rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Power-pantheon.desktop (100%)
- rename autostart/{ => gsd}/org.gnome.SettingsDaemon.PrintNotifications-pantheon.desktop (100%)
- rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Rfkill-pantheon.desktop (100%)
- rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Sharing-pantheon.desktop (100%)
- rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Smartcard-pantheon.desktop (100%)
- rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Sound-pantheon.desktop (100%)
- rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Wacom-pantheon.desktop (100%)
- rename autostart/{ => gsd}/org.gnome.SettingsDaemon.XSettings-pantheon.desktop (100%)
- create mode 100644 autostart/meson.build
- rename autostart/{ => ubuntu}/gnome-keyring-gpg-pantheon.desktop (100%)
- rename autostart/{ => ubuntu}/gnome-keyring-pkcs11-pantheon.desktop (100%)
- rename autostart/{ => ubuntu}/gnome-keyring-secrets-pantheon.desktop (100%)
- rename autostart/{ => ubuntu}/gnome-keyring-ssh-pantheon.desktop (100%)
- rename autostart/{ => ubuntu}/onboard-autostart-pantheon.desktop (100%)
- rename autostart/{ => ubuntu}/orca-autostart-pantheon.desktop (100%)
- rename autostart/{ => ubuntu}/user-dirs-update-gtk-pantheon.desktop (100%)
- create mode 100644 gnome-session/meson.build
- rename gnome-session/{pantheon.session => pantheon.session.in} (94%)
- create mode 100644 meson.build
- create mode 100644 meson_options.txt
- create mode 100644 xsessions/meson.build
-
-diff --git a/applications/meson.build b/applications/meson.build
-new file mode 100644
-index 0000000..d03b92b
---- /dev/null
-+++ b/applications/meson.build
-@@ -0,0 +1,4 @@
-+install_data(
-+    'defaults.list',
-+    install_dir: join_paths(datadir, 'applications')
-+)
-diff --git a/autostart/org.gnome.SettingsDaemon.A11ySettings-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.A11ySettings-pantheon.desktop
-similarity index 100%
-rename from autostart/org.gnome.SettingsDaemon.A11ySettings-pantheon.desktop
-rename to autostart/gsd/org.gnome.SettingsDaemon.A11ySettings-pantheon.desktop
-diff --git a/autostart/org.gnome.SettingsDaemon.Clipboard-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Clipboard-pantheon.desktop
-similarity index 100%
-rename from autostart/org.gnome.SettingsDaemon.Clipboard-pantheon.desktop
-rename to autostart/gsd/org.gnome.SettingsDaemon.Clipboard-pantheon.desktop
-diff --git a/autostart/org.gnome.SettingsDaemon.Color-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Color-pantheon.desktop
-similarity index 100%
-rename from autostart/org.gnome.SettingsDaemon.Color-pantheon.desktop
-rename to autostart/gsd/org.gnome.SettingsDaemon.Color-pantheon.desktop
-diff --git a/autostart/org.gnome.SettingsDaemon.Datetime-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Datetime-pantheon.desktop
-similarity index 100%
-rename from autostart/org.gnome.SettingsDaemon.Datetime-pantheon.desktop
-rename to autostart/gsd/org.gnome.SettingsDaemon.Datetime-pantheon.desktop
-diff --git a/autostart/org.gnome.SettingsDaemon.Housekeeping-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Housekeeping-pantheon.desktop
-similarity index 100%
-rename from autostart/org.gnome.SettingsDaemon.Housekeeping-pantheon.desktop
-rename to autostart/gsd/org.gnome.SettingsDaemon.Housekeeping-pantheon.desktop
-diff --git a/autostart/org.gnome.SettingsDaemon.Keyboard-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Keyboard-pantheon.desktop
-similarity index 100%
-rename from autostart/org.gnome.SettingsDaemon.Keyboard-pantheon.desktop
-rename to autostart/gsd/org.gnome.SettingsDaemon.Keyboard-pantheon.desktop
-diff --git a/autostart/org.gnome.SettingsDaemon.MediaKeys-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.MediaKeys-pantheon.desktop
-similarity index 100%
-rename from autostart/org.gnome.SettingsDaemon.MediaKeys-pantheon.desktop
-rename to autostart/gsd/org.gnome.SettingsDaemon.MediaKeys-pantheon.desktop
-diff --git a/autostart/org.gnome.SettingsDaemon.Mouse-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Mouse-pantheon.desktop
-similarity index 100%
-rename from autostart/org.gnome.SettingsDaemon.Mouse-pantheon.desktop
-rename to autostart/gsd/org.gnome.SettingsDaemon.Mouse-pantheon.desktop
-diff --git a/autostart/org.gnome.SettingsDaemon.Power-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Power-pantheon.desktop
-similarity index 100%
-rename from autostart/org.gnome.SettingsDaemon.Power-pantheon.desktop
-rename to autostart/gsd/org.gnome.SettingsDaemon.Power-pantheon.desktop
-diff --git a/autostart/org.gnome.SettingsDaemon.PrintNotifications-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.PrintNotifications-pantheon.desktop
-similarity index 100%
-rename from autostart/org.gnome.SettingsDaemon.PrintNotifications-pantheon.desktop
-rename to autostart/gsd/org.gnome.SettingsDaemon.PrintNotifications-pantheon.desktop
-diff --git a/autostart/org.gnome.SettingsDaemon.Rfkill-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Rfkill-pantheon.desktop
-similarity index 100%
-rename from autostart/org.gnome.SettingsDaemon.Rfkill-pantheon.desktop
-rename to autostart/gsd/org.gnome.SettingsDaemon.Rfkill-pantheon.desktop
-diff --git a/autostart/org.gnome.SettingsDaemon.Sharing-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Sharing-pantheon.desktop
-similarity index 100%
-rename from autostart/org.gnome.SettingsDaemon.Sharing-pantheon.desktop
-rename to autostart/gsd/org.gnome.SettingsDaemon.Sharing-pantheon.desktop
-diff --git a/autostart/org.gnome.SettingsDaemon.Smartcard-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Smartcard-pantheon.desktop
-similarity index 100%
-rename from autostart/org.gnome.SettingsDaemon.Smartcard-pantheon.desktop
-rename to autostart/gsd/org.gnome.SettingsDaemon.Smartcard-pantheon.desktop
-diff --git a/autostart/org.gnome.SettingsDaemon.Sound-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Sound-pantheon.desktop
-similarity index 100%
-rename from autostart/org.gnome.SettingsDaemon.Sound-pantheon.desktop
-rename to autostart/gsd/org.gnome.SettingsDaemon.Sound-pantheon.desktop
-diff --git a/autostart/org.gnome.SettingsDaemon.Wacom-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Wacom-pantheon.desktop
-similarity index 100%
-rename from autostart/org.gnome.SettingsDaemon.Wacom-pantheon.desktop
-rename to autostart/gsd/org.gnome.SettingsDaemon.Wacom-pantheon.desktop
-diff --git a/autostart/org.gnome.SettingsDaemon.XSettings-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.XSettings-pantheon.desktop
-similarity index 100%
-rename from autostart/org.gnome.SettingsDaemon.XSettings-pantheon.desktop
-rename to autostart/gsd/org.gnome.SettingsDaemon.XSettings-pantheon.desktop
-diff --git a/autostart/meson.build b/autostart/meson.build
-new file mode 100644
-index 0000000..265088b
---- /dev/null
-+++ b/autostart/meson.build
-@@ -0,0 +1,18 @@
-+autostartdir = join_paths(get_option('sysconfdir'), 'xdg', 'autostart')
-+
-+if get_option('patched-gsd-autostarts')
-+    install_subdir(
-+        'gsd',
-+        install_dir: autostartdir,
-+        strip_directory: true
-+    )
-+endif
-+
-+
-+if get_option('patched-ubuntu-autostarts')
-+    install_subdir(
-+        'ubuntu',
-+        install_dir: autostartdir,
-+        strip_directory: true
-+    )
-+endif
-diff --git a/autostart/gnome-keyring-gpg-pantheon.desktop b/autostart/ubuntu/gnome-keyring-gpg-pantheon.desktop
-similarity index 100%
-rename from autostart/gnome-keyring-gpg-pantheon.desktop
-rename to autostart/ubuntu/gnome-keyring-gpg-pantheon.desktop
-diff --git a/autostart/gnome-keyring-pkcs11-pantheon.desktop b/autostart/ubuntu/gnome-keyring-pkcs11-pantheon.desktop
-similarity index 100%
-rename from autostart/gnome-keyring-pkcs11-pantheon.desktop
-rename to autostart/ubuntu/gnome-keyring-pkcs11-pantheon.desktop
-diff --git a/autostart/gnome-keyring-secrets-pantheon.desktop b/autostart/ubuntu/gnome-keyring-secrets-pantheon.desktop
-similarity index 100%
-rename from autostart/gnome-keyring-secrets-pantheon.desktop
-rename to autostart/ubuntu/gnome-keyring-secrets-pantheon.desktop
-diff --git a/autostart/gnome-keyring-ssh-pantheon.desktop b/autostart/ubuntu/gnome-keyring-ssh-pantheon.desktop
-similarity index 100%
-rename from autostart/gnome-keyring-ssh-pantheon.desktop
-rename to autostart/ubuntu/gnome-keyring-ssh-pantheon.desktop
-diff --git a/autostart/onboard-autostart-pantheon.desktop b/autostart/ubuntu/onboard-autostart-pantheon.desktop
-similarity index 100%
-rename from autostart/onboard-autostart-pantheon.desktop
-rename to autostart/ubuntu/onboard-autostart-pantheon.desktop
-diff --git a/autostart/orca-autostart-pantheon.desktop b/autostart/ubuntu/orca-autostart-pantheon.desktop
-similarity index 100%
-rename from autostart/orca-autostart-pantheon.desktop
-rename to autostart/ubuntu/orca-autostart-pantheon.desktop
-diff --git a/autostart/user-dirs-update-gtk-pantheon.desktop b/autostart/ubuntu/user-dirs-update-gtk-pantheon.desktop
-similarity index 100%
-rename from autostart/user-dirs-update-gtk-pantheon.desktop
-rename to autostart/ubuntu/user-dirs-update-gtk-pantheon.desktop
-diff --git a/gnome-session/meson.build b/gnome-session/meson.build
-new file mode 100644
-index 0000000..b9245a1
---- /dev/null
-+++ b/gnome-session/meson.build
-@@ -0,0 +1,11 @@
-+fallback_session = get_option('fallback-session')
-+
-+session_configuration = configuration_data()
-+session_configuration.set('FALLBACK_SESSION', fallback_session)
-+
-+pantheon_session = configure_file(
-+  input: 'pantheon.session.in',
-+  output: '@BASENAME@',
-+  configuration: session_configuration,
-+  install_dir: join_paths(datadir, 'gnome-session', 'sessions')
-+)
-diff --git a/gnome-session/pantheon.session b/gnome-session/pantheon.session.in
-similarity index 94%
-rename from gnome-session/pantheon.session
-rename to gnome-session/pantheon.session.in
-index 1626393..7bc1814 100644
---- a/gnome-session/pantheon.session
-+++ b/gnome-session/pantheon.session.in
-@@ -1,5 +1,5 @@
- [GNOME Session]
- Name=Pantheon
- RequiredComponents=gala;gala-daemon;org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Clipboard;org.gnome.SettingsDaemon.Color;org.gnome.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.MediaKeys;org.gnome.SettingsDaemon.Mouse;org.gnome.SettingsDaemon.Power;org.gnome.SettingsDaemon.PrintNotifications;org.gnome.SettingsDaemon.Rfkill;org.gnome.SettingsDaemon.Sharing;org.gnome.SettingsDaemon.Smartcard;org.gnome.SettingsDaemon.Sound;org.gnome.SettingsDaemon.Wacom;org.gnome.SettingsDaemon.XSettings;
--FallbackSession=ubuntu
-+FallbackSession=@FALLBACK_SESSION@
- DesktopName=Pantheon
-diff --git a/meson.build b/meson.build
-new file mode 100644
-index 0000000..a7d3195
---- /dev/null
-+++ b/meson.build
-@@ -0,0 +1,14 @@
-+project('elementary-session-settings',
-+        version: '5.0.3',
-+        default_options: 'sysconfdir=/etc')
-+
-+prefix = get_option('prefix')
-+datadir = join_paths(prefix, get_option('datadir'))
-+
-+if get_option('defaults-list')
-+    subdir('applications')
-+endif
-+
-+subdir('autostart')
-+subdir('gnome-session')
-+subdir('xsessions')
-diff --git a/meson_options.txt b/meson_options.txt
-new file mode 100644
-index 0000000..4c5ac2d
---- /dev/null
-+++ b/meson_options.txt
-@@ -0,0 +1,11 @@
-+option('defaults-list', type : 'boolean', value: true,
-+       description : 'Install defaults.list')
-+
-+option('patched-gsd-autostarts', type : 'boolean', value: true,
-+       description : 'Install patched GNOME Settings Daemon autostarts')
-+
-+option('patched-ubuntu-autostarts', type : 'boolean', value: true,
-+       description : 'Install patched Ubuntu autostarts')
-+
-+option('fallback-session', type : 'string', value: 'ubuntu',
-+       description : 'Fallback session to use for Pantheon')
-diff --git a/xsessions/meson.build b/xsessions/meson.build
-new file mode 100644
-index 0000000..d144291
---- /dev/null
-+++ b/xsessions/meson.build
-@@ -0,0 +1,4 @@
-+install_data(
-+    'pantheon.desktop',
-+    install_dir: join_paths(datadir, 'xsessions')
-+)
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix
index 2ba5f4becc15..2cdb2c235078 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix
@@ -17,7 +17,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-shortcut-overlay";
-  version = "1.1.0";
+  version = "1.1.1";
 
   repoName = "shortcut-overlay";
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "10s44x5qln3asrdr6v5b3v92prh8rfhv96dbm73zhifm2jjm22g8";
+    sha256 = "03wnc3vfnrkm5i7h370n7h2mbcmaxnhynmjs37q63vq6vq7agldb";
   };
 
   passthru = {
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A native OS-wide shortcut overlay to be launched by Gala";
-    homepage = https://github.com/elementary/shortcut-overlay;
+    homepage = "https://github.com/elementary/shortcut-overlay";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/default.nix
index 8e180ca83a66..bfeda383ea4e 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Extra contractor files for elementary";
-    homepage = https://github.com/worldofpeace/extra-elementary-contracts;
+    homepage = "https://github.com/worldofpeace/extra-elementary-contracts";
     license = licenses.gpl2;
     maintainers = with maintainers; [ worldofpeace ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/gala/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/gala/default.nix
index 5791fb5c58f7..9db8baa4e94d 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/gala/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/gala/default.nix
@@ -26,13 +26,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gala";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1vf55ls3h20zpf0yxb206cijq8nkf89z2lmhccb4i1g2zajd31ix";
+    sha256 = "02g6x190lylng8d07pwx2bqcc71rq48f0dxh30mgndfii6k21qgs";
   };
 
   passthru = {
@@ -70,6 +70,7 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./plugins-dir.patch
+    ./use-new-notifications-default.patch
   ];
 
   postPatch = ''
@@ -79,7 +80,7 @@ stdenv.mkDerivation rec {
 
   meta =  with stdenv.lib; {
     description = "A window & compositing manager based on mutter and designed by elementary for use with Pantheon";
-    homepage = https://github.com/elementary/gala;
+    homepage = "https://github.com/elementary/gala";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch
index e83308ea5526..f08652e9f630 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch
@@ -1,22 +1,20 @@
 diff --git a/meson.build b/meson.build
-index 6b20a60..205699b 100644
+index 78113d6..926596c 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -38,7 +38,7 @@ conf.set_quoted('PACKAGE_VERSION', gala_version)
+@@ -24,13 +24,14 @@ vapi_dir = meson.current_source_dir() / 'vapi'
+
+ data_dir = join_paths(get_option('prefix'), get_option('datadir'))
+ plugins_dir = join_paths(get_option('prefix'), get_option('libdir'), meson.project_name(), 'plugins')
++plugins_dir_for_build = join_paths('/run/current-system/sw/lib/', meson.project_name(), 'plugins')
+ pkgdata_dir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())
+ pkglib_dir = join_paths(get_option('prefix'), get_option('libdir'), meson.project_name())
+
+ conf = configuration_data()
  conf.set_quoted('DATADIR', data_dir)
  conf.set_quoted('PKGDATADIR', pkgdata_dir)
- conf.set_quoted('PKGLIBDIR', pkglib_dir)
--conf.set_quoted('PLUGINSDIR', plugins_dir)
-+conf.set_quoted('PLUGINSDIR',  '/run/current-system/sw/lib/gala/plugins')
- conf.set_quoted('RELEASE_NAME', 'Window Manager.')
+-conf.set_quoted('PLUGINDIR', plugins_dir)
++conf.set_quoted('PLUGINDIR', plugins_dir_for_build)
+ conf.set_quoted('RESOURCEPATH', '/org/pantheon/desktop/gala')
  conf.set_quoted('VERSION', gala_version)
- conf.set_quoted('VERSION_INFO', (is_release ? 'Release' : 'Development'))
-@@ -83,7 +83,7 @@ add_project_arguments([
- 		'-DDATADIR="@0@"'.format(data_dir),
- 		'-DPKGDATADIR="@0@"'.format(pkgdata_dir),
- 		'-DPKGLIBDIR="@0@"'.format(pkglib_dir),
--		'-DPLUGINDIR="@0@"'.format(plugins_dir),
-+		'-DPLUGINDIR="@0@"'.format('/run/current-system/sw/lib/gala/plugins'),
- 		'-DSCHEMA="org.pantheon.desktop.gala"',
- 		'-DRESOURCEPATH="/org/pantheon/desktop/gala"',
-
+ conf.set_quoted('SCHEMA', 'org.pantheon.desktop.gala')
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/gala/use-new-notifications-default.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/gala/use-new-notifications-default.patch
new file mode 100644
index 000000000000..dc256bcff3aa
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/gala/use-new-notifications-default.patch
@@ -0,0 +1,13 @@
+diff --git a/data/gala.gschema.xml b/data/gala.gschema.xml
+index 8032583..7f4f03c 100644
+--- a/data/gala.gschema.xml
++++ b/data/gala.gschema.xml
+@@ -58,7 +58,7 @@
+ 			<description>If enabled, dropping windows on vertical screen edges maximizes them vertically and resizes them horizontally to cover half of the available area. Dropping windows on the top screen edge maximizes them completely.</description>
+ 		</key>
+ 		<key type="b" name="use-new-notifications">
+-			<default>false</default>
++			<default>true</default>
+ 			<summary>If new notifications should be used</summary>
+ 			<description>If new notifications UI should be used, requires io.elemenetary.notifications to be present and running</description>
+ 		</key>
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/bc.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/bc.patch
deleted file mode 100644
index 264a4a5b26da..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/bc.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/lib/synapse-plugins/calculator-plugin.vala b/lib/synapse-plugins/calculator-plugin.vala
-index 1b5fa06..076c0c7 100644
---- a/lib/synapse-plugins/calculator-plugin.vala
-+++ b/lib/synapse-plugins/calculator-plugin.vala
-@@ -51,9 +51,7 @@ namespace Synapse {
-                                                                     _("Calculator"),
-                                                                     _("Calculate basic expressions."),
-                                                                     "accessories-calculator",
--                                                                    register_plugin,
--                                                                    Environment.find_program_in_path ("bc") != null,
--                                                                    _("bc is not installed"));
-+                                                                    register_plugin);
-         }
- 
-         static construct {
-@@ -90,7 +88,7 @@ namespace Synapse {
-             if (matched) {
-                 Pid pid;
-                 int read_fd, write_fd;
--                string[] argv = {"bc", "-l"};
-+                string[] argv = {"@exec@", "-l"};
-                 string? solution = null;
- 
-                 try {
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
index 34c29c1b72ac..7adcdb21d788 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
@@ -26,7 +26,7 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-applications-menu";
-  version = "2.5.0";
+  version = "2.6.0";
 
   repoName = "applications-menu";
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1zry9xvcljsn5fnl8qs21x7q8rpwv0sxvp2dmnx3ddqnvj4q2m7d";
+    sha256 = "16ki1x6697jmfqajynx2zvwqrpjpshnd08y7vf6g7xc7zwwh38c5";
   };
 
   passthru = {
@@ -86,7 +86,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Lightweight and stylish app launcher for Pantheon";
-    homepage = https://github.com/elementary/applications-menu;
+    homepage = "https://github.com/elementary/applications-menu";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix
index 93ddb0e1dee2..979d6af8f0cc 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix
@@ -7,6 +7,7 @@
 , ninja
 , vala
 , gtk3
+, glib
 , granite
 , libnotify
 , wingpanel
@@ -16,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-bluetooth";
-  version = "2.1.4";
+  version = "2.1.5";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "05v3qy4rxi4l3g1ql99vcjylb01hz3galh19c2jc3lqc1mf1z1j1";
+    sha256 = "0ylbpai05b300h07b94xcmw9xi7qx13l1q38zlg2n95d3c5264dp";
   };
 
   passthru = {
@@ -32,6 +33,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
+    glib # for glib-compile-schemas
     libxml2
     meson
     ninja
@@ -41,6 +43,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    glib
     granite
     gtk3
     libgee
@@ -55,7 +58,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Bluetooth Indicator for Wingpanel";
-    homepage = https://github.com/elementary/wingpanel-indicator-bluetooth;
+    homepage = "https://github.com/elementary/wingpanel-indicator-bluetooth";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
index f6ff962a9446..ed70687e0502 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
@@ -1,6 +1,5 @@
 { stdenv
-, fetchFromGitHub
-, fetchpatch
+, fetchFromGitHub 
 , pantheon
 , pkgconfig
 , meson
@@ -20,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-datetime";
-  version = "2.2.1";
+  version = "2.2.2";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0y8lfrrkzcj8nw94jqawbxr4jz41ac0z539kkr3n3x0qmx72md2y";
+    sha256 = "0a0pqrpmrdd5pch30lizr9righlc7165z7krmnaxrzd0fvfkbr2h";
   };
 
   passthru = {
@@ -54,14 +53,6 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
-  patches = [
-    # Add support for libecal-2.0
-    (fetchpatch {
-      url = "https://github.com/elementary/wingpanel-indicator-datetime/commit/3ccd05d611e6dd5274a03f061ba1b5e13d6fe0cf.patch";
-      sha256 = "011q9b4pjmk4fpq5zscl5r8m4n3jiyx464023h4j7zf8r1070jz6";
-    })
-  ];
-
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
@@ -69,7 +60,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Date & Time Indicator for Wingpanel";
-    homepage = https://github.com/elementary/wingpanel-indicator-datetime;
+    homepage = "https://github.com/elementary/wingpanel-indicator-datetime";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix
index 66f805b9a494..120cf8260a9f 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-keyboard";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0jc12xfaj3micpjssxc7m6hzssvyq26ln5az05x5f1j6v8lccbyn";
+    sha256 = "0q32qc6jh5w0i1ixkl59pys8r3hxmbig8854q7sxi07vlk9g3i7y";
   };
 
   passthru = {
@@ -45,21 +45,19 @@ stdenv.mkDerivation rec {
     gtk3
     libgee
     wingpanel
+    xorg.xkeyboardconfig
   ];
 
   patches = [
     (substituteAll {
       src = ./fix-paths.patch;
-      libgnomekbd_path = "${libgnomekbd}/bin/";
-      config = "${xorg.xkeyboardconfig}/share/X11/xkb/rules/evdev.xml";
+      gkbd_keyboard_display = "${libgnomekbd}/bin/gkbd-keyboard-display";
     })
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
-
   meta = with stdenv.lib; {
     description = "Keyboard Indicator for Wingpanel";
-    homepage = https://github.com/elementary/wingpanel-indicator-keyboard;
+    homepage = "https://github.com/elementary/wingpanel-indicator-keyboard";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/fix-paths.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/fix-paths.patch
index 58e6853e606e..4fb6dfac86d9 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/fix-paths.patch
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/fix-paths.patch
@@ -1,5 +1,5 @@
 diff --git a/src/Indicator.vala b/src/Indicator.vala
-index cd7ca49..0bef9c7 100644
+index cd7ca49..7813789 100644
 --- a/src/Indicator.vala
 +++ b/src/Indicator.vala
 @@ -94,7 +94,7 @@ public class Keyboard.Indicator : Wingpanel.Indicator {
@@ -7,20 +7,7 @@ index cd7ca49..0bef9c7 100644
          close ();
  
 -        string command = "gkbd-keyboard-display \"--layout=" + layouts.get_current_with_variant () + "\"";
-+        string command = "@libgnomekbd_path@gkbd-keyboard-display \"--layout=" + layouts.get_current_with_variant () + "\"";
++        string command = "@gkbd_keyboard_display@ \"--layout=" + layouts.get_current_with_variant () + "\"";
  
          try {
              AppInfo.create_from_commandline (command, null, AppInfoCreateFlags.NONE).launch (null, null);
-diff --git a/src/LayoutsManager.vala b/src/LayoutsManager.vala
-index 1bac80e..67df847 100644
---- a/src/LayoutsManager.vala
-+++ b/src/LayoutsManager.vala
-@@ -97,7 +97,7 @@ public class Keyboard.Widgets.LayoutManager : Gtk.ScrolledWindow {
- 
-     public string? get_name_for_xkb_layout (string language, string? variant) {
-         debug ("get_name_for_xkb_layout (%s, %s)", language, variant);
--        Xml.Doc* doc = Xml.Parser.parse_file ("/usr/share/X11/xkb/rules/evdev.xml");
-+        Xml.Doc* doc = Xml.Parser.parse_file ("@config@");
-         if (doc == null) {
-             critical ("'evdev.xml' not found or permissions incorrect\n");
-             return null;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
index cd04e6287b72..0b9d95faf0b1 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-network";
-  version = "2.2.2";
+  version = "2.2.3";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0fch27imk5x4nfx49cwcylkxd7m289rl9niy1vx5kjplhbhyhdq2";
+    sha256 = "17s5fixhwgalgjhrhnb3wh0hdzi17waqcdfw1fx8q4zs78hapjzg";
   };
 
   passthru = {
@@ -46,11 +46,9 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
-
   meta = with stdenv.lib; {
     description = "Network Indicator for Wingpanel";
-    homepage = https://github.com/elementary/wingpanel-indicator-network;
+    homepage = "https://github.com/elementary/wingpanel-indicator-network";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix
index 5a9a28382ca9..9ec593afe4a8 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Night Light Indicator for Wingpanel";
-    homepage = https://github.com/elementary/wingpanel-indicator-nightlight;
+    homepage = "https://github.com/elementary/wingpanel-indicator-nightlight";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix
index e5dabead7c5b..d8d5f44b82bc 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix
@@ -2,6 +2,7 @@
 , fetchFromGitHub
 , pantheon
 , pkgconfig
+, fetchpatch
 , meson
 , ninja
 , vala
@@ -9,20 +10,29 @@
 , granite
 , wingpanel
 , libgee
-, libwnck3
+, elementary-notifications
 }:
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-notifications";
-  version = "2.1.3";
+  version = "2.1.4";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1lx023z7xxlgwh0br48fw5w7xw673p2sqxwl1gz9f54xx7rv81py";
+    sha256 = "0qp13iaf2956ss4d6w6vwnzdvb7izqmyh6xrdii7j8gxxwjd4lxm";
   };
 
+  patches = [
+    # Fix do not disturb on NixOS
+    # https://github.com/elementary/wingpanel-indicator-notifications/pull/110
+    (fetchpatch {
+      url = "https://github.com/elementary/wingpanel-indicator-notifications/commit/02b1e226c0262c1535fdf2b4f1daba6be9084f67.patch";
+      sha256 = "1a5phygygndr28yx8yp0lyk0wxypc5656dpidw1z8x1yd6xysqhy";
+    })
+  ];
+
   passthru = {
     updateScript = pantheon.updateScript {
       attrPath = "pantheon.${pname}";
@@ -37,16 +47,16 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    elementary-notifications
     granite
     gtk3
     libgee
-    libwnck3
     wingpanel
   ];
 
   meta = with stdenv.lib; {
     description = "Notifications Indicator for Wingpanel";
-    homepage = https://github.com/elementary/wingpanel-indicator-notifications;
+    homepage = "https://github.com/elementary/wingpanel-indicator-notifications";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix
index 122236449710..907b31d930a6 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-power";
-  version = "2.1.4";
+  version = "2.1.5";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "02gp9m9zkmhcl43nz02kjkcim4zm25zab3il8dhwkihh731g1c6j";
+    sha256 = "19zhgzyivf3y416r5xaajx81h87zdhvrrcsagli00gp1f2169q5m";
   };
 
   passthru = {
@@ -50,8 +50,6 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
-
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
@@ -59,7 +57,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Power Indicator for Wingpanel";
-    homepage = https://github.com/elementary/wingpanel-indicator-power;
+    homepage = "https://github.com/elementary/wingpanel-indicator-power";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
index af6155037efb..14c87036ec8c 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-session";
-  version = "2.2.7";
+  version = "2.2.8";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0qgb225ldg3qax370z3wvijxmm4bjfqds3r9aqqhlq30599xjhsb";
+    sha256 = "02inp8xdxfx8qxjdf2nazw46ahp1gv3skd922ma6kgx5w4wxh5l8";
   };
 
   passthru = {
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Session Indicator for Wingpanel";
-    homepage = https://github.com/elementary/wingpanel-indicator-session;
+    homepage = "https://github.com/elementary/wingpanel-indicator-session";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix
index ccd233e1a3e7..cd387a9fca48 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-sound";
-  version = "2.1.4";
+  version = "2.1.5";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "00r3dqkyp7k34xwn12l0dbzfmz70084lblxchykmk77pgzid2a0b";
+    sha256 = "0nla8qgn5gb1g2gn7c47m9zw42sarjd0030x3h5kckapsbaxknhp";
   };
 
   passthru = {
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Sound Indicator for Wingpanel";
-    homepage = https://github.com/elementary/wingpanel-indicator-sound;
+    homepage = "https://github.com/elementary/wingpanel-indicator-sound";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
index 694166a5d641..64ebee4f13d2 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel";
-  version = "2.2.6";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0q5jhg3gpcjfzfi7g33fv8pb916cqsgk6543b82yy97c20902ap9";
+    sha256 = "0yvn1crylrdc9gq6gc7v4ynb5ii4n0c3bnswfq72p8cs3vvvvv24";
   };
 
   passthru = {
@@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
       Wingpanel is an empty container that accepts indicators as extensions,
       including the applications menu.
     '';
-    homepage = https://github.com/elementary/wingpanel;
+    homepage = "https://github.com/elementary/wingpanel";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/granite/default.nix b/nixpkgs/pkgs/desktops/pantheon/granite/default.nix
index 198be9f3430d..ec40e1e8f72d 100644
--- a/nixpkgs/pkgs/desktops/pantheon/granite/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/granite/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "granite";
-  version = "5.3.0";
+  version = "5.3.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1gvrk8gh959bmq8w0kaym7sx13v763lk8x5hck00msgmyrsarfwa";
+    sha256 = "12f1n07cjlc7czf642ak6964wl4fsgakc39nnmiba22z5aahfpz9";
   };
 
   passthru = {
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
       Granite is a companion library for GTK and GLib. Among other things, it provides complex widgets and convenience functions
       designed for use in apps built for elementary OS.
     '';
-    homepage = https://github.com/elementary/granite;
+    homepage = "https://github.com/elementary/granite";
     license = licenses.lgpl3Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/cerbere/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/cerbere/default.nix
deleted file mode 100644
index a911440fa5de..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/services/cerbere/default.nix
+++ /dev/null
@@ -1,58 +0,0 @@
-{ stdenv
-, fetchFromGitHub
-, pantheon
-, pkgconfig
-, meson
-, python3
-, ninja
-, glib
-, libgee
-, vala
-, wrapGAppsHook
-}:
-
-stdenv.mkDerivation rec {
-  pname = "cerbere";
-  version = "2.5.0";
-
-  src = fetchFromGitHub {
-    owner = "elementary";
-    repo = pname;
-    rev = version;
-    sha256 = "12y6gg4vyc1rhdm2c7pr7bgmdrah7ddphyh25fgh3way8l9gh7vw";
-  };
-
-  passthru = {
-    updateScript = pantheon.updateScript {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkgconfig
-    python3
-    vala
-    wrapGAppsHook
-  ];
-
-  buildInputs = [
-    glib
-    libgee
-  ];
-
-  postPatch = ''
-    chmod +x meson/post_install.py
-    patchShebangs meson/post_install.py
-  '';
-
-  meta = with stdenv.lib; {
-    description = "A simple service to ensure uptime of essential processes";
-    homepage = https://github.com/elementary/cerbere;
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
-  };
-
-}
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix
index d41750f8dfc0..7f17fb5d5a9d 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix
@@ -17,7 +17,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-capnet-assist";
-  version = "2.2.4";
+  version = "2.2.5";
 
   repoName = "capnet-assist";
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "0yz827gs1qv6csgv4v993rjmqzc6dbymbvznsy45ghlh19l4l7j1";
+    sha256 = "09pl1ynrmqjj844np4ww2i18z7kgx5kmj5ggfp8lqmxgsny7g8m3";
   };
 
   passthru = {
@@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A small WebKit app that assists a user with login when a captive portal is detected";
-    homepage = https://github.com/elementary/capnet-assist;
+    homepage = "https://github.com/elementary/capnet-assist";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix
index 4ec1df36bea2..7eeb156e0281 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Sets DPMS settings found in org.pantheon.dpms";
-    homepage = https://github.com/elementary/dpms-helper;
+    homepage = "https://github.com/elementary/dpms-helper";
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-notifications/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/elementary-notifications/default.nix
new file mode 100644
index 000000000000..b90f8c86bf1a
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/services/elementary-notifications/default.nix
@@ -0,0 +1,60 @@
+{ stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, vala
+, gtk3
+, glib
+, granite
+, libgee
+, libcanberra-gtk3
+, pantheon
+, python3
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "elementary-notifications";
+  version = "unstable-2020-03-31";
+
+  repoName = "notifications";
+
+  src = fetchFromGitHub {
+    owner = "elementary";
+    repo = repoName;
+    rev = "db552b0c3466ba1099c7737c353b7225ab1896cc";
+    sha256 = "1fhf4zx73qka935x5afv6zqsm2l37d1mjbhrbzzzz44dqwa2vp16";
+  };
+
+  nativeBuildInputs = [
+    glib # for glib-compile-schemas
+    meson
+    ninja
+    pkg-config
+    python3
+    vala
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+    granite
+    gtk3
+    libcanberra-gtk3
+    libgee
+  ];
+
+  postPatch = ''
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "GTK notification server for Pantheon";
+    homepage = "https://github.com/elementary/notifications";
+    license = licenses.gpl3Plus;
+    maintainers = pantheon.maintainers;
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
index 582793ff5906..e5aa31ca0fb3 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
@@ -1,135 +1,105 @@
-{ accountsservice
-, alsaLib
-, colord
-, docbook_xsl
-, fetchgit
+{ stdenv
+, substituteAll
 , fetchurl
-, geoclue2
-, geocode-glib
-, gettext
-, glib
+, fetchgit
+, meson
+, ninja
+, pkgconfig
 , gnome3
-, gsettings-desktop-schemas
+, perl
+, gettext
 , gtk3
+, glib
+, libnotify
+, libgnomekbd
 , lcms2
+, libpulseaudio
+, alsaLib
 , libcanberra-gtk3
-, libgnomekbd
-, libgudev
+, upower
+, colord
 , libgweather
-, libnotify
-, libpulseaudio
+, polkit
+, gsettings-desktop-schemas
+, geoclue2
+, systemd
+, libgudev
 , libwacom
-, libxml2
 , libxslt
-, meson
-, mousetweaks
+, libxml2
+, modemmanager
 , networkmanager
-, ninja
-, nss
-, pantheon
-, perl
-, pkgconfig
-, polkit
+, gnome-desktop
+, geocode-glib
+, docbook_xsl
+, accountsservice
+, wrapGAppsHook
 , python3
-, stdenv
-, substituteAll
-, systemd
 , tzdata
-, upower
-, libXtst
-, wrapGAppsHook
+, nss
+, gcr
+, pantheon
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-settings-daemon";
-  version = "3.30.2";
+  version = "3.34.1";
 
   repoName = "gnome-settings-daemon";
 
-  src = fetchurl {
-    url = "mirror://gnome/sources/${repoName}/${stdenv.lib.versions.majorMinor version}/${repoName}-${version}.tar.xz";
-    sha256 = "0c663csa3gnsr6wm0xfll6aani45snkdj7zjwjfzcwfh8w4a3z12";
-  };
-
-  # Source for ubuntu's patchset
-  src2 = fetchgit {
+  src = fetchgit {
     url = "https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/${repoName}";
-    rev = "refs/tags/ubuntu/${version}-1ubuntu1";
-    sha256 = "02awkhw6jqm7yh812mw0nsdmsljfi8ksz8mvd2qpns5pcv002g2c";
+    rev = "refs/tags/ubuntu/${version}-1ubuntu2";
+    sha256 = "0w0dsbzif7v0gk61rs9g20ldlimbdwb5yvlfdc568yyx5z643jbv";
   };
 
   # We've omitted the 53_sync_input_sources_to_accountsservice patch because it breaks the build.
   # See: https://gist.github.com/worldofpeace/2f152a20b7c47895bb93239fce1c9f52
   #
   # Also omit ubuntu_calculator_snap.patch as that's obviously not useful here.
-  patches = let patchPath = "${src2}/debian/patches"; in [
+  patches = let patchPath = "${src}/debian/patches"; in [
     (substituteAll {
       src = ./fix-paths.patch;
-      inherit tzdata mousetweaks;
+      inherit tzdata;
     })
     ./global-backlight-helper.patch
     "${patchPath}/45_suppress-printer-may-not-be-connected-notification.patch"
+    #"${patchPath}/53_sync_input_sources_to_accountsservice.patch"
     "${patchPath}/64_restore_terminal_keyboard_shortcut_schema.patch"
     "${patchPath}/correct_logout_action.patch"
     "${patchPath}/ubuntu-lid-close-suspend.patch"
-    "${patchPath}/revert-wacom-migration.patch"
     "${patchPath}/revert-gsettings-removals.patch"
     "${patchPath}/revert-mediakeys-dbus-interface-drop.patch"
-    "${patchPath}/ubuntu_ibus_configs.patch"
-    (fetchurl {
-      url = "https://github.com/elementary/os-patches/raw/6975d1c254cb6ab913b8e2396877203aea8eaa65/debian/patches/elementary-dpms.patch";
-      sha256 = "0kh508ppiv4nvkg30gmw85cljlfq1bvkzhvf1iaxw0snb0mwgsxi";
-    })
+    #"${patchPath}/ubuntu_ibus_configs.patch"
+    # https://github.com/elementary/os-patches/blob/6975d1c254cb6ab913b8e2396877203aea8eaa65/debian/patches/elementary-dpms.patch
+    ./elementary-dpms.patch
   ];
 
-  postPatch = ''
-    for f in gnome-settings-daemon/codegen.py plugins/power/gsd-power-constants-update.pl meson_post_install.py; do
-      chmod +x $f
-      patchShebangs $f
-    done
-  '';
-
-  postFixup = ''
-    for autostart in $(grep -rl "OnlyShowIn=GNOME;" $out/etc/xdg/autostart)
-    do
-      echo "Patching OnlyShowIn to Pantheon in: $autostart"
-      sed -i "s,OnlyShowIn=GNOME;,OnlyShowIn=Pantheon;," $autostart
-    done
-
-    # This breaks lightlocker https://github.com/elementary/session-settings/commit/b0e7a2867608c3a3916f9e4e21a68264a20e44f8
-    # TODO: shouldn't be neeed for the 5.1 greeter (awaiting release)
-    rm $out/etc/xdg/autostart/org.gnome.SettingsDaemon.ScreensaverProxy.desktop
-
-    # So the polkit policy can reference /run/current-system/sw/bin/elementary-settings-daemon/gsd-backlight-helper
-    mkdir -p $out/bin/elementary-settings-daemon
-    ln -s $out/libexec/gsd-backlight-helper $out/bin/elementary-settings-daemon/gsd-backlight-helper
-  '';
-
   nativeBuildInputs = [
-    docbook_xsl
-    gettext
-    libxml2
-    libxslt
     meson
     ninja
-    perl
     pkgconfig
-    python3
+    perl
+    gettext
+    libxml2
+    libxslt
+    docbook_xsl
     wrapGAppsHook
+    python3
   ];
 
   buildInputs = [
     accountsservice
     alsaLib
     colord
+    gcr
     geoclue2
     geocode-glib
     glib
-    gnome3.gnome-desktop
+    gnome-desktop
     gsettings-desktop-schemas
     gtk3
     lcms2
-    libXtst
     libcanberra-gtk3
     libgnomekbd # for org.gnome.libgnomekbd.keyboard schema
     libgudev
@@ -137,6 +107,7 @@ stdenv.mkDerivation rec {
     libnotify
     libpulseaudio
     libwacom
+    modemmanager
     networkmanager
     nss
     polkit
@@ -152,6 +123,29 @@ stdenv.mkDerivation rec {
     # we're using plain
   NIX_CFLAGS_COMPILE = "-DG_DISABLE_CAST_CHECKS";
 
+  postPatch = ''
+    for f in gnome-settings-daemon/codegen.py plugins/power/gsd-power-constants-update.pl meson_post_install.py; do
+      chmod +x $f
+      patchShebangs $f
+    done
+  '';
+
+  postFixup = ''
+    for autostart in $(grep -rl "OnlyShowIn=GNOME;" $out/etc/xdg/autostart)
+    do
+      echo "Patching OnlyShowIn to Pantheon in: $autostart"
+      sed -i "s,OnlyShowIn=GNOME;,OnlyShowIn=Pantheon;," $autostart
+    done
+
+    # This breaks lightlocker https://github.com/elementary/session-settings/commit/b0e7a2867608c3a3916f9e4e21a68264a20e44f8
+    # TODO: shouldn't be neeed for the 5.1 greeter (awaiting release)
+    rm $out/etc/xdg/autostart/org.gnome.SettingsDaemon.ScreensaverProxy.desktop
+
+    # So the polkit policy can reference /run/current-system/sw/bin/elementary-settings-daemon/gsd-backlight-helper
+    mkdir -p $out/bin/elementary-settings-daemon
+    ln -s $out/libexec/gsd-backlight-helper $out/bin/elementary-settings-daemon/gsd-backlight-helper
+  '';
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = repoName;
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/elementary-dpms.patch b/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/elementary-dpms.patch
new file mode 100644
index 000000000000..14d056ceca27
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/elementary-dpms.patch
@@ -0,0 +1,84 @@
+diff --git a/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in b/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in
+index ec805d8a..cf0d6793 100644
+--- a/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in
++++ b/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in
+@@ -11,6 +11,11 @@
+       <summary>Activation of this plugin</summary>
+       <description>Whether this plugin would be activated by unity-settings-daemon or not</description>
+     </key>
++    <key name="manage-dpms-defaults" type="b">
++      <default>false</default>
++      <summary>Reset X DPMS values</summary>
++      <description>Whether DPMS values will be adjusted by gnome-settings-daemon</description>
++    </key>
+     <key name="idle-brightness" type="i">
+       <default>30</default>
+       <summary>The brightness of the screen when idle</summary>
+diff --git a/plugins/power/gpm-common.c b/plugins/power/gpm-common.c
+index a7ca87fb..a56a7cdc 100644
+--- a/plugins/power/gpm-common.c
++++ b/plugins/power/gpm-common.c
+@@ -280,6 +280,18 @@ disable_builtin_screensaver (gpointer unused)
+         return TRUE;
+ }
+ 
++gboolean
++manage_dpms (void)
++{
++        GSettings *settings;
++        gboolean manage_dpms_defaults;
++
++        settings = g_settings_new ("org.gnome.settings-daemon.plugins.power");
++        manage_dpms_defaults = g_settings_get_boolean (settings, "manage-dpms-defaults");
++        g_object_unref (settings);
++        return manage_dpms_defaults;
++}
++
+ guint
+ gsd_power_enable_screensaver_watchdog (void)
+ {
+@@ -290,7 +302,7 @@ gsd_power_enable_screensaver_watchdog (void)
+          * way. The defaults are now applied in Fedora 20 from
+          * being "0" by default to being "600" by default */
+         gdk_x11_display_error_trap_push (gdk_display_get_default ());
+-        if (DPMSQueryExtension(GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &dummy, &dummy))
++        if (manage_dpms () && DPMSQueryExtension(GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &dummy, &dummy))
+                 DPMSSetTimeouts (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), 0, 0, 0);
+         gdk_x11_display_error_trap_pop_ignored (gdk_display_get_default ());
+         id = g_timeout_add_seconds (XSCREENSAVER_WATCHDOG_TIMEOUT,
+diff --git a/plugins/power/gpm-common.h b/plugins/power/gpm-common.h
+index 88a8e00e..af106479 100644
+--- a/plugins/power/gpm-common.h
++++ b/plugins/power/gpm-common.h
+@@ -34,6 +34,7 @@ gchar           *gpm_get_timestring                     (guint           time);
+ gboolean         gsd_power_is_hardware_a_vm             (void);
+ guint            gsd_power_enable_screensaver_watchdog  (void);
+ void             reset_idletime                         (void);
++gboolean         manage_dpms                            (void);
+ 
+ /* Backlight helpers */
+ 
+diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c
+index c500fa38..445496ee 100644
+--- a/plugins/power/gsd-power-manager.c
++++ b/plugins/power/gsd-power-manager.c
+@@ -1033,6 +1033,9 @@ backlight_enable (GsdPowerManager *manager)
+         gboolean ret;
+         GError *error = NULL;
+ 
++        if (!(manage_dpms ()))
++                return;
++
+         iio_proxy_claim_light (manager, TRUE);
+         ret = gnome_rr_screen_set_dpms_mode (manager->rr_screen,
+                                              GNOME_RR_DPMS_ON,
+@@ -1052,6 +1055,9 @@ backlight_disable (GsdPowerManager *manager)
+         gboolean ret;
+         GError *error = NULL;
+ 
++        if (!(manage_dpms ()))
++                return;
++
+         iio_proxy_claim_light (manager, FALSE);
+         ret = gnome_rr_screen_set_dpms_mode (manager->rr_screen,
+                                              GNOME_RR_DPMS_OFF,
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch b/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch
index 272656fae78c..2229302cab7c 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch
+++ b/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch
@@ -13,14 +13,3 @@
  
  typedef struct _TzDB TzDB;
  typedef struct _TzLocation TzLocation;
---- a/plugins/mouse/gsd-mouse-manager.c
-+++ b/plugins/mouse/gsd-mouse-manager.c
-@@ -118,7 +118,7 @@ set_mousetweaks_daemon (GsdMouseManager *manager,
-         gboolean run_daemon = dwell_click_enabled || secondary_click_enabled;
-
-         if (run_daemon || manager->priv->mousetweaks_daemon_running)
--                comm = g_strdup_printf ("mousetweaks %s",
-+                comm = g_strdup_printf ("@mousetweaks@/bin/mousetweaks %s",
-                                         run_daemon ? "" : "-s");
-         else
-                 return;
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/global-backlight-helper.patch b/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/global-backlight-helper.patch
index c073b23e6b9f..dcdc83934ba6 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/global-backlight-helper.patch
+++ b/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/global-backlight-helper.patch
@@ -1,18 +1,18 @@
-diff --git a/plugins/power/gpm-common.c b/plugins/power/gpm-common.c
-index e83f1549..15890053 100644
---- a/plugins/power/gpm-common.c
-+++ b/plugins/power/gpm-common.c
-@@ -452,7 +452,7 @@ run_backlight_helper (enum BacklightHelperCommand   command,
-         gchar *argv[5] = { 0 };
- 
-         argv[0] = "pkexec";
--        argv[1] = LIBEXECDIR "/gsd-backlight-helper";
-+        argv[1] = "/run/current-system/sw/bin/elementary-settings-daemon/gsd-backlight-helper";
-         argv[2] = helper_args[command];
-         argv[3] = value;
- 
+diff --git a/plugins/power/gsd-backlight.c b/plugins/power/gsd-backlight.c
+index d7d10fd2..5619d6ad 100644
+--- a/plugins/power/gsd-backlight.c
++++ b/plugins/power/gsd-backlight.c
+@@ -358,7 +358,7 @@ gsd_backlight_run_set_helper (GsdBacklight *backlight, GTask *task)
+                 proc = g_subprocess_new (G_SUBPROCESS_FLAGS_STDOUT_SILENCE,
+                                          &error,
+                                          "pkexec",
+-                                         LIBEXECDIR "/gsd-backlight-helper",
++                                         "/run/current-system/sw/bin/elementary-settings-daemon/gsd-backlight-helper",
+                                          g_udev_device_get_sysfs_path (backlight->udev_device),
+                                          data->value_str, NULL);
+         } else {
 diff --git a/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in b/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in
-index f16300f8..f19bba3e 100644
+index f16300f8..79d6bd17 100644
 --- a/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in
 +++ b/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in
 @@ -25,7 +25,7 @@
@@ -22,5 +22,5 @@ index f16300f8..f19bba3e 100644
 -    <annotate key="org.freedesktop.policykit.exec.path">@libexecdir@/gsd-backlight-helper</annotate>
 +    <annotate key="org.freedesktop.policykit.exec.path">/run/current-system/sw/bin/elementary-settings-daemon/gsd-backlight-helper</annotate>
    </action>
- 
+
  </policyconfig>
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix
index 0f919c7c94d4..905e2cc9aadf 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pantheon-agent-geoclue2";
-  version = "1.0.3";
+  version = "1.0.4";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1fhgdcykn0ykn8fp7inn2akygpglhdwfpdkpnih86kqmqj8siahv";
+    sha256 = "1lky7pw47d5mdza3bhq0ahdhgdv159ixngdsc1ys6j1kszsfxc1f";
   };
 
   passthru = {
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Pantheon Geoclue2 Agent";
-    homepage = https://github.com/elementary/pantheon-agent-geoclue2;
+    homepage = "https://github.com/elementary/pantheon-agent-geoclue2";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix
index f244e0e46371..3663ff2640dd 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pantheon-agent-polkit";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1yybblprcn0cgcf9j76yckqcimm4h8l41cczxjvgp789p1pki3bn";
+    sha256 = "137809mplrsff1isxwbwa2v2y9ixhwzm4khiijm4mmjchi75wpvx";
   };
 
   passthru = {
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Polkit Agent for the Pantheon Desktop";
-    homepage = https://github.com/elementary/pantheon-agent-polkit;
+    homepage = "https://github.com/elementary/pantheon-agent-polkit";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = pantheon.maintainers;