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 @@ -1780,6 +1780,13 @@ desktop environments as needed. + + + services.xserver.desktopManager.xfce now + includes Xfce’s screen locker, + xfce4-screensaver. + + The hadoop package has added support for 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; };