about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Girol <symphorien@users.noreply.github.com>2022-04-03 15:09:08 +0000
committerGitHub <noreply@github.com>2022-04-03 15:09:08 +0000
commitf9fe536c8f60d7bb98c728c72b3d47a0691ba76c (patch)
treedc11ef806d45e102f8f4a72af90363cf7a35e2a9
parent536df679bccfa5affde50b3daed8dce1cd3f1029 (diff)
parente0d0ff64b27c3a36f2525ad9de1f3cda1742ab06 (diff)
downloadnixlib-f9fe536c8f60d7bb98c728c72b3d47a0691ba76c.tar
nixlib-f9fe536c8f60d7bb98c728c72b3d47a0691ba76c.tar.gz
nixlib-f9fe536c8f60d7bb98c728c72b3d47a0691ba76c.tar.bz2
nixlib-f9fe536c8f60d7bb98c728c72b3d47a0691ba76c.tar.lz
nixlib-f9fe536c8f60d7bb98c728c72b3d47a0691ba76c.tar.xz
nixlib-f9fe536c8f60d7bb98c728c72b3d47a0691ba76c.tar.zst
nixlib-f9fe536c8f60d7bb98c728c72b3d47a0691ba76c.zip
Merge pull request #165873 from symphorien/rkjnsn-master
xfce4-screensaver: init at 4.16.0
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2205.section.xml7
-rw-r--r--nixos/doc/manual/release-notes/rl-2205.section.md2
-rw-r--r--nixos/modules/services/x11/desktop-managers/xfce.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-screensaver/default.nix49
-rw-r--r--pkgs/desktops/xfce/default.nix2
5 files changed, 62 insertions, 0 deletions
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
index b4a33777851e..38dd7b3894dd 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
@@ -1782,6 +1782,13 @@
       </listitem>
       <listitem>
         <para>
+          <literal>services.xserver.desktopManager.xfce</literal> now
+          includes Xfce’s screen locker,
+          <literal>xfce4-screensaver</literal>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The <literal>hadoop</literal> package has added support for
           <literal>aarch64-linux</literal> and
           <literal>aarch64-darwin</literal> as of 3.3.1
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index 560d80514d6a..82f1b97d5cbd 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -615,6 +615,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - The polkit service, available at `security.polkit.enable`, is now disabled by default. It will automatically be enabled through services and desktop environments as needed.
 
+- `services.xserver.desktopManager.xfce` now includes Xfce's screen locker, `xfce4-screensaver`.
+
 - The `hadoop` package has added support for `aarch64-linux` and `aarch64-darwin` as of 3.3.1 ([#158613](https://github.com/NixOS/nixpkgs/pull/158613)).
 
 - The `R` package now builds again on `aarch64-darwin` ([#158992](https://github.com/NixOS/nixpkgs/pull/158992)).
diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix
index 3cf92f98c56f..0bb5c1268cac 100644
--- a/nixos/modules/services/x11/desktop-managers/xfce.nix
+++ b/nixos/modules/services/x11/desktop-managers/xfce.nix
@@ -99,6 +99,7 @@ in
       ristretto
       xfce4-appfinder
       xfce4-notifyd
+      xfce4-screensaver
       xfce4-screenshooter
       xfce4-session
       xfce4-settings
@@ -168,5 +169,6 @@ in
       xfce4-notifyd
     ];
 
+    security.pam.services.xfce4-screensaver.unixAuth = true;
   };
 }
diff --git a/pkgs/desktops/xfce/applications/xfce4-screensaver/default.nix b/pkgs/desktops/xfce/applications/xfce4-screensaver/default.nix
new file mode 100644
index 000000000000..4ac72b02da1a
--- /dev/null
+++ b/pkgs/desktops/xfce/applications/xfce4-screensaver/default.nix
@@ -0,0 +1,49 @@
+{ mkXfceDerivation
+, dbus-glib
+, garcon
+, glib
+, gtk3
+, libX11
+, libXScrnSaver
+, libXrandr
+, libwnck
+, libxfce4ui
+, libxklavier
+, pam
+, systemd
+, xfconf
+, lib
+}:
+
+mkXfceDerivation {
+  category = "apps";
+  pname = "xfce4-screensaver";
+  version = "4.16.0";
+
+  sha256 = "1vblqhhzhv85yd5bz1xg14yli82ys5qrjdcabg3l53glbk61n99p";
+
+  buildInputs = [
+    dbus-glib
+    garcon
+    glib
+    gtk3
+    libX11
+    libXScrnSaver
+    libXrandr
+    libwnck
+    libxfce4ui
+    libxklavier
+    pam
+    systemd
+    xfconf
+  ];
+
+  configureFlags = [ "--without-console-kit" ];
+
+  makeFlags = [ "DBUS_SESSION_SERVICE_DIR=$(out)/etc" ];
+
+  meta =  {
+    description = "Screensaver for Xfce";
+    maintainers = with lib.maintainers; [ symphorien ];
+  };
+}
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index 0205a7226398..b181cc29c966 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -82,6 +82,8 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   xfce4-terminal = callPackage ./applications/xfce4-terminal { };
 
+  xfce4-screensaver = callPackage ./applications/xfce4-screensaver { };
+
   xfce4-screenshooter = callPackage ./applications/xfce4-screenshooter {
     inherit (pkgs.gnome) libsoup;
   };