about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/window-managers
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2022-02-22 10:43:06 +0000
committerAlyssa Ross <hi@alyssa.is>2022-03-11 16:17:56 +0000
commitca1aada113c0ebda1ab8667199f6453f8e01c4fc (patch)
tree55e402280096f62eb0bc8bcad5ce6050c5a0aec7 /nixpkgs/pkgs/applications/window-managers
parente4df5a52a6a6531f32626f57205356a773ac2975 (diff)
parent93883402a445ad467320925a0a5dbe43a949f25b (diff)
downloadnixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar
nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.gz
nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.bz2
nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.lz
nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.xz
nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.zst
nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.zip
Merge commit '93883402a445ad467320925a0a5dbe43a949f25b'
Conflicts:
	nixpkgs/nixos/modules/programs/ssh.nix
	nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix
	nixpkgs/pkgs/data/fonts/noto-fonts/default.nix
	nixpkgs/pkgs/development/go-modules/generic/default.nix
	nixpkgs/pkgs/development/interpreters/ruby/default.nix
	nixpkgs/pkgs/development/libraries/mesa/default.nix
Diffstat (limited to 'nixpkgs/pkgs/applications/window-managers')
-rw-r--r--nixpkgs/pkgs/applications/window-managers/berry/default.nix44
-rw-r--r--nixpkgs/pkgs/applications/window-managers/dwl/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/window-managers/dwm/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/lock-blur.nix3
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix1
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix13
-rw-r--r--nixpkgs/pkgs/applications/window-managers/icewm/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/window-managers/ion-3/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/labwc/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/window-managers/labwc/relax-the-version-constraint-for-wlroots.patch29
-rw-r--r--nixpkgs/pkgs/applications/window-managers/leftwm/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/pekwm/default.nix53
-rw-r--r--nixpkgs/pkgs/applications/window-managers/phosh/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/picom/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/picom/picom-next.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/qtile/default.nix38
-rw-r--r--nixpkgs/pkgs/applications/window-managers/qtile/fix-restart.patch22
-rw-r--r--nixpkgs/pkgs/applications/window-managers/river/default.nix19
-rw-r--r--nixpkgs/pkgs/applications/window-managers/spectrwm/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/idle.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/tabbed/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/tinywl/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/weston/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix4
26 files changed, 220 insertions, 135 deletions
diff --git a/nixpkgs/pkgs/applications/window-managers/berry/default.nix b/nixpkgs/pkgs/applications/window-managers/berry/default.nix
index b2d28ca55f23..23aa8ff8201e 100644
--- a/nixpkgs/pkgs/applications/window-managers/berry/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/berry/default.nix
@@ -1,24 +1,35 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
+, copyDesktopItems
+, fontconfig
+, freetype
 , libX11
 , libXext
 , libXft
 , libXinerama
-, fontconfig
-, freetype
+, makeDesktopItem
+, pkg-config
+, which
 }:
 
 stdenv.mkDerivation rec {
   pname = "berry";
-  version = "0.1.7";
+  version = "0.1.9";
 
   src = fetchFromGitHub {
     owner = "JLErvin";
     repo = pname;
     rev = version;
-    sha256 = "sha256-2kFVOE5l1KQvDb5KDL7y0p4M7awJLrxJF871cyc0YZ8=";
+    hash = "sha256-E1kjqSv2eylJ/9EGcxQrJ2P7VaehyUiirk0TxlPWSnM=";
   };
 
+  nativeBuildInputs = [
+    copyDesktopItems
+    pkg-config
+    which
+  ];
+
   buildInputs =[
     libX11
     libXext
@@ -28,16 +39,21 @@ stdenv.mkDerivation rec {
     freetype
   ];
 
-  preBuild = ''
-    makeFlagsArray+=( PREFIX="${placeholder "out"}"
-                      X11INC="${libX11.dev}/include"
-                      X11LIB="${libX11}/lib"
-                      XINERAMALIBS="-lXinerama"
-                      XINERAMAFLAGS="-DXINERAMA"
-                      FREETYPELIBS="-lfontconfig -lXft"
-                      FREETYPEINC="${freetype.dev}/include/freetype2" )
+  preConfigure = ''
+    patchShebangs configure
   '';
 
+  desktopItems = [
+    (makeDesktopItem {
+      name = pname;
+      exec = "berry";
+      comment = meta.description;
+      desktopName = "Berry Window Manager";
+      genericName = "Berry Window Manager";
+      categories = "Utility;";
+    })
+  ];
+
   meta = with lib; {
     description = "A healthy, bite-sized window manager";
     longDescription = ''
@@ -59,3 +75,5 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
   };
 }
+# TODO: report upstream that `which` is not POSIX; the `command` shell builtin
+# should be used instead
diff --git a/nixpkgs/pkgs/applications/window-managers/dwl/default.nix b/nixpkgs/pkgs/applications/window-managers/dwl/default.nix
index 04944a1e9092..bfc360e81bbd 100644
--- a/nixpkgs/pkgs/applications/window-managers/dwl/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/dwl/default.nix
@@ -1,19 +1,18 @@
-{ stdenv
-, lib
+{ lib
+, stdenv
 , fetchFromGitHub
-, pkg-config
 , libinput
 , libxcb
 , libxkbcommon
 , pixman
+, pkg-config
 , wayland
 , wayland-protocols
 , wlroots
+, writeText
 , enable-xwayland ? true, xwayland, libX11
-, patches ? [ ]
 , conf ? null
-, writeText
-, fetchpatch
+, patches ? [ ]
 }:
 
 let
@@ -22,16 +21,17 @@ in
 
 stdenv.mkDerivation rec {
   pname = "dwl";
-  version = "0.2.1";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "djpohly";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-lfUAymLA4+E9kULZIueA+9gyVZYgaVS0oTX0LJjsSEs=";
+    hash = "sha256-T2GqDehBNO8eublqZUmA5WADjnwElzT+bp9Dp1bqSgg=";
   };
 
   nativeBuildInputs = [ pkg-config ];
+
   buildInputs = [
     libinput
     libxcb
@@ -60,6 +60,11 @@ stdenv.mkDerivation rec {
                  else writeText "config.def.h" conf;
   in lib.optionalString (conf != null) "cp ${configFile} config.def.h";
 
+  NIX_CFLAGS_COMPILE = [
+    # https://github.com/djpohly/dwl/issues/186
+    "-Wno-error=unused-result"
+  ];
+
   dontConfigure = true;
 
   installPhase = ''
@@ -85,8 +90,7 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ AndersonTorres ];
-    platforms = with platforms; linux;
+    inherit (wayland.meta) platforms;
   };
 }
 # TODO: custom patches from upstream website
-# TODO: investigate the modifications in the upstream unstable version
diff --git a/nixpkgs/pkgs/applications/window-managers/dwm/default.nix b/nixpkgs/pkgs/applications/window-managers/dwm/default.nix
index 6235c93a2816..68e1467c5a8c 100644
--- a/nixpkgs/pkgs/applications/window-managers/dwm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/dwm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "dwm";
-  version = "6.2";
+  version = "6.3";
 
   src = fetchurl {
     url = "https://dl.suckless.org/dwm/${pname}-${version}.tar.gz";
-    sha256 = "03hirnj8saxnsfqiszwl2ds7p0avg20izv9vdqyambks00p2x44p";
+    sha256 = "utqgKFKbH7of1/moTztk8xGQRmyFgBG1Pi97cMajB40=";
   };
 
   buildInputs = [ libX11 libXinerama libXft ];
diff --git a/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix b/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix
index 7b22eb399251..1b83e28309e0 100644
--- a/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix
+++ b/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix
@@ -9,19 +9,19 @@ in
 
 rustPlatform.buildRustPackage rec {
   pname = "dwm-status";
-  version = "1.7.2";
+  version = "1.7.3";
 
   src = fetchFromGitHub {
     owner = "Gerschtli";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Y1J0nCVEmGKgQP+GEtPqK8l3SRuls5yesvJuowLDzUo=";
+    sha256 = "sha256-dkVo9NpGt3G6by9Of1kOlXaZn7xsVSvfNXq7KPO6HE4=";
   };
 
   nativeBuildInputs = [ makeWrapper pkg-config ];
   buildInputs = [ dbus gdk-pixbuf libnotify xorg.libX11 ];
 
-  cargoSha256 = "sha256-8/vzJXZjSQmefHMo5BXKTRiLy2F3wfIn8VgPMJxtIvY=";
+  cargoSha256 = "sha256-QPnr7dUsq/RzuNLpbTRQbGB3zU6lNuPPPM9FmH4ydzY=";
 
   postInstall = lib.optionalString (bins != [])  ''
     wrapProgram $out/bin/dwm-status --prefix "PATH" : "${lib.makeBinPath bins}"
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/lock-blur.nix b/nixpkgs/pkgs/applications/window-managers/i3/lock-blur.nix
index a536a44d452b..4018a34b571a 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/lock-blur.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/lock-blur.nix
@@ -1,4 +1,4 @@
-{ i3lock-color, lib, fetchFromGitHub }:
+{ i3lock-color, lib, stdenv, fetchFromGitHub }:
 
 i3lock-color.overrideAttrs (oldAttrs : rec {
   pname = "i3lock-blur";
@@ -17,5 +17,6 @@ i3lock-color.overrideAttrs (oldAttrs : rec {
     license = licenses.bsd3;
     maintainers = with maintainers; [ dan4ik605743 ];
     platforms = platforms.all;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/i3lock-blur.x86_64-darwin
   };
 })
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix b/nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix
index 63a49953115a..7f08891385b1 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix
@@ -56,5 +56,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
 
     platforms = platforms.all;
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix b/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
index 019ac1377240..da04da4e9eae 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
@@ -8,24 +8,27 @@
 , notmuch
 , openssl
 , ethtool
+, lm_sensors
+, iw
+, iproute2
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "i3status-rust";
-  version = "0.20.7";
+  version = "0.21.5";
 
   src = fetchFromGitHub {
     owner = "greshake";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-7RfDNjTUQtVZUeRGBnd2ygSkFJOoPrNF/Bwy8GWo7To=";
+    sha256 = "sha256-0maPT1NdWFkSupU6CL2cFd6hlZ2BMxAOK6f3rQbfFA8=";
   };
 
-  cargoSha256 = "sha256-alZJm2/hhloKQn7QeUA2IMgGl86Lz8xNpZkoMHCcjVI=";
+  cargoSha256 = "sha256-QUecTmw8pWqrTdcstbXoFf53dFfwFN51tQ7ngUzkyV0=";
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
-  buildInputs = [ dbus libpulseaudio notmuch openssl ];
+  buildInputs = [ dbus libpulseaudio notmuch openssl lm_sensors ];
 
   buildFeatures = [
     "notmuch"
@@ -44,7 +47,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   postFixup = ''
-    wrapProgram $out/bin/i3status-rs --prefix PATH : "${ethtool}/bin"
+    wrapProgram $out/bin/i3status-rs --prefix PATH : ${lib.makeBinPath [ iproute2 ethtool iw ]}
   '';
 
   # Currently no tests are implemented, so we avoid building the package twice
diff --git a/nixpkgs/pkgs/applications/window-managers/icewm/default.nix b/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
index e4efc13262d2..deac4bed6079 100644
--- a/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
@@ -40,24 +40,15 @@
 
 stdenv.mkDerivation rec {
   pname = "icewm";
-  version = "2.6.0";
+  version = "2.9.4";
 
   src = fetchFromGitHub {
     owner  = "ice-wm";
     repo = pname;
     rev = version;
-    hash = "sha256-R06tiWS9z6K5Nbi+vvk7DyozpcFdrHleMeh7Iq/FfHQ=";
+    hash = "sha256-ne2lqo9CAhGgC8dd9R03zhFXy9nPBQR0NcfAY0DeVj4=";
   };
 
-  patches = [
-    # https://github.com/ice-wm/icewm/pull/57
-    # Fix trailing -I that leads to "to generate dependencies you must specify either '-M' or '-MM'"
-    (fetchpatch {
-      url = "https://github.com/ice-wm/icewm/pull/57/commits/ebd2c45341cc31755758a423392a0f78a64d2d37.patch";
-      sha256 = "16m9znd3ijcfl7la3l27ac3clx8l9qng3fprkpxqcifd89ny1ml5";
-    })
-  ];
-
   nativeBuildInputs = [
     asciidoc
     cmake
@@ -108,7 +99,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://www.ice-wm.org/";
+    homepage = "https://ice-wm.org/";
     description = "A simple, lightweight X window manager";
     longDescription = ''
       IceWM is a window manager for the X Window System. The goal of IceWM is
diff --git a/nixpkgs/pkgs/applications/window-managers/ion-3/default.nix b/nixpkgs/pkgs/applications/window-managers/ion-3/default.nix
index 45d56194bede..30328cd7719a 100644
--- a/nixpkgs/pkgs/applications/window-managers/ion-3/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/ion-3/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Tiling tabbed window manager designed with keyboard users in mind";
-    homepage = "http://modeemi.fi/~tuomov/ion";
+    homepage = "https://modeemi.fi/~tuomov/ion";
     platforms = with platforms; linux;
     license = licenses.lgpl21;
     maintainers = with maintainers; [ ];
diff --git a/nixpkgs/pkgs/applications/window-managers/labwc/default.nix b/nixpkgs/pkgs/applications/window-managers/labwc/default.nix
index 3bbe08164641..580fd29faa04 100644
--- a/nixpkgs/pkgs/applications/window-managers/labwc/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/labwc/default.nix
@@ -1,41 +1,47 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, pkg-config
-, meson
-, ninja
 , cairo
 , glib
+, libdrm
 , libinput
+, libxcb
+, libxkbcommon
 , libxml2
+, meson
+, ninja
 , pango
+, pkg-config
+, scdoc
 , wayland
 , wayland-protocols
 , wlroots
-, libxcb
-, libxkbcommon
 , xwayland
-, libdrm
-, scdoc
 }:
 
 stdenv.mkDerivation rec {
   pname = "labwc";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
-    owner = "johanmalm";
+    owner = "labwc";
     repo = pname;
     rev = version;
-    sha256 = "sha256-v8LGiQG/n1IXeVMPWyiP9MgZzZLW78JftvxnRVTswaM=";
+    hash = "sha256-O9jVDR7UROt5u8inUsZjbzB3dQTosiLYqXkeOyGrbaM=";
   };
 
+  patches = [
+    # Required to fix the build with wlroots 0.15.1:
+    ./relax-the-version-constraint-for-wlroots.patch
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
     pkg-config
     scdoc
   ];
+
   buildInputs = [
     cairo
     glib
@@ -54,8 +60,8 @@ stdenv.mkDerivation rec {
   mesonFlags = [ "-Dxwayland=enabled" ];
 
   meta = with lib; {
-    homepage = "https://github.com/johanmalm/labwc";
-    description = "Openbox alternative for Wayland";
+    homepage = "https://github.com/labwc/labwc";
+    description = "A Wayland stacking compositor, similar to Openbox";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/applications/window-managers/labwc/relax-the-version-constraint-for-wlroots.patch b/nixpkgs/pkgs/applications/window-managers/labwc/relax-the-version-constraint-for-wlroots.patch
new file mode 100644
index 000000000000..9a790f285164
--- /dev/null
+++ b/nixpkgs/pkgs/applications/window-managers/labwc/relax-the-version-constraint-for-wlroots.patch
@@ -0,0 +1,29 @@
+From 21d8bfcf7899f5ec50b29f523ace4c19cbfbe919 Mon Sep 17 00:00:00 2001
+From: Michael Weiss <dev.primeos@gmail.com>
+Date: Fri, 4 Feb 2022 21:17:05 +0100
+Subject: [PATCH] build: Relax the version constraint for wlroots to accept
+ patch releases
+
+Patch releases only contain backwards compatible changes (mainly bug
+fixes) so we want to allow them. This fixes the build with the recently
+released wlroots 0.15.1 and uses the same version constraints as other
+projects that depend on wlroots (e.g., Sway).
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index f950b8e..1905dda 100644
+--- a/meson.build
++++ b/meson.build
+@@ -37,7 +37,7 @@ if git.found()
+ endif
+ add_project_arguments('-DLABWC_VERSION=@0@'.format(version), language: 'c')
+
+-wlroots_version = ['=0.15.0']
++wlroots_version = ['>=0.15.0', '<0.16.0']
+ wlroots_proj = subproject(
+   'wlroots',
+   default_options: ['default_library=static', 'examples=false'],
+--
+2.34.1
diff --git a/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix b/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix
index 5b77320e2203..20f4c33ae60e 100644
--- a/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix
@@ -6,16 +6,16 @@ in
 
 rustPlatform.buildRustPackage rec {
   pname = "leftwm";
-  version = "0.2.10";
+  version = "0.2.11";
 
   src = fetchFromGitHub {
     owner = "leftwm";
     repo = "leftwm";
     rev = version;
-    sha256 = "sha256-WGss/XmryULq8Ly5MFmEqsL+9r4fnrvBEtetngJ05NY=";
+    sha256 = "sha256-GLHmX628UUdIM+xYJhPtqFg4whQqaF8hFxg0Z5grPac=";
   };
 
-  cargoSha256 = "sha256-9qvXzsAu4H2TAcArajrGqXwKF3BBDvmZbny7hiVO9Yo=";
+  cargoSha256 = "sha256-4Pu3TDLmi0c2nyUj1lTRincgRqL40A/g0PkyJOen0is=";
 
   buildInputs = rpathLibs;
 
diff --git a/nixpkgs/pkgs/applications/window-managers/pekwm/default.nix b/nixpkgs/pkgs/applications/window-managers/pekwm/default.nix
index 5550e6f706e7..6f1a37f9379a 100644
--- a/nixpkgs/pkgs/applications/window-managers/pekwm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/pekwm/default.nix
@@ -1,6 +1,10 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
-, pkg-config
+, awk
+, grep
+, sed
+, runtimeShell
 , cmake
 , libXext
 , libXft
@@ -9,20 +13,32 @@
 , libXrandr
 , libjpeg
 , libpng
+, pkg-config
 }:
 
 stdenv.mkDerivation rec {
   pname = "pekwm";
-  version = "0.1.18";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
     owner = "pekdon";
     repo = "pekwm";
     rev = "release-${version}";
-    sha256 = "sha256-R1XDEk097ycMI3R4SjUEJv37CiMaDCQMvg7N8haN0MM=";
+    hash= "sha256-voHPstdcd4CHnAdD3PMxca0A6MyMYJi8Ik0UlFB0vG0=";
   };
 
-  nativeBuildInputs = [ pkg-config cmake ];
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  cmakeFlags = [
+    "-DAWK=${awk}/bin/awk"
+    "-DGREP=${grep}/bin/grep"
+    "-DSED=${sed}/bin/sed"
+    "-DSH=${runtimeShell}"
+  ];
+
   buildInputs = [
     libXext
     libXft
@@ -34,24 +50,23 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
+    homepage = "https://www.pekwm.se/";
     description = "A lightweight window manager";
     longDescription = ''
-      pekwm is a window manager that once upon a time was based on the
-      aewm++ window manager, but it has evolved enough that it no
-      longer resembles aewm++ at all. It has a much expanded
-      feature-set, including window grouping (similar to ion, pwm, or
-      fluxbox), autoproperties, xinerama, keygrabber that supports
-      keychains, and much more.
-      - Lightweight and Unobtrusive, a window manager shouldn't be
-        noticed.
+      pekwm is a window manager that once upon a time was based on the aewm++
+      window manager, but it has evolved enough that it no longer resembles
+      aewm++ at all. It has a much expanded feature-set, including window
+      grouping (similar to ion, pwm, or fluxbox), autoproperties, xinerama,
+      keygrabber that supports keychains, and much more.
+
+      - Lightweight and Unobtrusive, a window manager shouldn't be noticed.
       - Very configurable, we all work and think in different ways.
-      - Automatic properties, for all the lazy people, make things
-        appear as they should when starting applications.
+      - Automatic properties, for all the lazy people, make things appear as
+        they should when starting applications.
       - Chainable Keygrabber, usability for everyone.
     '';
-      homepage = "https://www.pekwm.org/";
-      license = licenses.gpl2Plus;
-      maintainers = [ maintainers.AndersonTorres ];
-      platforms = platforms.linux;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/phosh/default.nix b/nixpkgs/pkgs/applications/window-managers/phosh/default.nix
index e1f805662c67..2c01a37aa43c 100644
--- a/nixpkgs/pkgs/applications/window-managers/phosh/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/phosh/default.nix
@@ -30,7 +30,7 @@
 
 stdenv.mkDerivation rec {
   pname = "phosh";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     repo = pname;
     rev = "v${version}";
     fetchSubmodules = true; # including gvc and libcall-ui which are designated as subprojects
-    sha256 = "sha256-FILSNVBYpWSPXeDb1Vc4jZ7zJMg0Gj6EY5yoc81gUr0=";
+    sha256 = "sha256-ZEfYjgSaj4vVdfgdIcg0PWwlFX90PIm5wvdn9P/8tvo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/window-managers/picom/default.nix b/nixpkgs/pkgs/applications/window-managers/picom/default.nix
index 32eee9df0d83..b5a524a38b49 100644
--- a/nixpkgs/pkgs/applications/window-managers/picom/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/picom/default.nix
@@ -32,13 +32,13 @@
 
 stdenv.mkDerivation rec {
   pname = "picom";
-  version = "8.2";
+  version = "9.1";
 
   src = fetchFromGitHub {
     owner = "yshui";
     repo = "picom";
     rev = "v${version}";
-    sha256 = "0gjksayz2xpmgglvw17ppsan2imrd1fijs579kbf27xwp503xgfl";
+    sha256 = "sha256-Fqk6bPAOg4muxmSP+ezpGUNw6xrMWchZACKemeA08mA=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/window-managers/picom/picom-next.nix b/nixpkgs/pkgs/applications/window-managers/picom/picom-next.nix
index 88b00c2731db..d20d7a5ecceb 100644
--- a/nixpkgs/pkgs/applications/window-managers/picom/picom-next.nix
+++ b/nixpkgs/pkgs/applications/window-managers/picom/picom-next.nix
@@ -2,12 +2,12 @@
 
 picom.overrideAttrs (oldAttrs: rec {
   pname = "picom-next";
-  version = "unstable-2021-11-19";
+  version = "unstable-2022-02-05";
   src = fetchFromGitHub {
     owner = "yshui";
     repo = "picom";
-    rev = "1c7a4ff5a3cd5f3e25abcac0196896eea5939dce";
-    sha256 = "sha256-2uy2ofXhEWKuM+nEUqU16c85UGt6fJGtPZj+az907aw=";
+    rev = "928963721c8789fc5f27949e8b0730771aab940d";
+    sha256 = "sha256-qu9HnUG5VQbiSgduW1oR/tVvzEckaD2TWzds4R5zI+Y=";
   };
   meta.maintainers = with lib.maintainers; oldAttrs.meta.maintainers ++ [ GKasparov ];
 })
diff --git a/nixpkgs/pkgs/applications/window-managers/qtile/default.nix b/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
index 8c5d65d4978f..c4a33628e131 100644
--- a/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
@@ -1,25 +1,21 @@
-{ lib, fetchFromGitHub, python3, mypy, glib, cairo, pango, pkg-config, libxcb, xcbutilcursor }:
+{ lib, fetchFromGitHub, python3, python3Packages, mypy, glib, pango, pkg-config, xcbutilcursor }:
 
 let
-  enabled-xcffib = cairocffi-xcffib: cairocffi-xcffib.override {
-    withXcffib = true;
-  };
-
-  # make it easier to reference python
-  python = python3;
-  pythonPackages = python.pkgs;
-
-  unwrapped = pythonPackages.buildPythonPackage rec {
+  unwrapped = python3Packages.buildPythonPackage rec {
     pname = "qtile";
-    version = "0.19.0";
+    version = "0.20.0";
 
     src = fetchFromGitHub {
       owner = "qtile";
       repo = "qtile";
       rev = "v${version}";
-      sha256 = "BLHGVPMQd8O4h5TVx/F/klzSra+FZYogp22V6Yq04T0=";
+      sha256 = "TRmul3t//izJRdViTvxFz29JZeGYsWc7WsJjagQ35nw=";
     };
 
+    patches = [
+      ./fix-restart.patch # https://github.com/NixOS/nixpkgs/issues/139568
+    ];
+
     postPatch = ''
       substituteInPlace libqtile/pangocffi.py \
         --replace libgobject-2.0.so.0 ${glib.out}/lib/libgobject-2.0.so.0 \
@@ -33,13 +29,13 @@ let
 
     nativeBuildInputs = [
       pkg-config
-    ] ++ (with pythonPackages; [
+    ] ++ (with python3Packages; [
       setuptools-scm
     ]);
 
-    propagatedBuildInputs = with pythonPackages; [
+    propagatedBuildInputs = with python3Packages; [
       xcffib
-      (enabled-xcffib cairocffi)
+      (cairocffi.override { withXcffib = true; })
       setuptools
       python-dateutil
       dbus-python
@@ -68,9 +64,9 @@ let
     };
   };
 in
-  (python.withPackages (ps: [ unwrapped ])).overrideAttrs (_: {
-    # otherwise will be exported as "env", this restores `nix search` behavior
-    name = "${unwrapped.pname}-${unwrapped.version}";
-    # export underlying qtile package
-    passthru = { inherit unwrapped; };
-  })
+(python3.withPackages (_: [ unwrapped ])).overrideAttrs (_: {
+  # otherwise will be exported as "env", this restores `nix search` behavior
+  name = "${unwrapped.pname}-${unwrapped.version}";
+  # export underlying qtile package
+  passthru = { inherit unwrapped; };
+})
diff --git a/nixpkgs/pkgs/applications/window-managers/qtile/fix-restart.patch b/nixpkgs/pkgs/applications/window-managers/qtile/fix-restart.patch
new file mode 100644
index 000000000000..eca4f0866342
--- /dev/null
+++ b/nixpkgs/pkgs/applications/window-managers/qtile/fix-restart.patch
@@ -0,0 +1,22 @@
+diff --git a/libqtile/core/lifecycle.py b/libqtile/core/lifecycle.py
+index 0d4d119d..c37d1799 100644
+--- a/libqtile/core/lifecycle.py
++++ b/libqtile/core/lifecycle.py
+@@ -25,7 +25,7 @@ class LifeCycle:
+ 
+     def _atexit(self) -> None:
+         if self.behavior is Behavior.RESTART:
+-            argv = [sys.executable] + sys.argv
++            argv = sys.argv
+             if "--no-spawn" not in argv:
+                 argv.append("--no-spawn")
+             argv = [s for s in argv if not s.startswith("--with-state")]
+@@ -33,7 +33,7 @@ class LifeCycle:
+                 argv.append("--with-state=" + self.state_file)
+             logger.warning("Restarting Qtile with os.execv(...)")
+             # No other code will execute after the following line does
+-            os.execv(sys.executable, argv)
++            os.execv(sys.argv[0], argv)
+         elif self.behavior is Behavior.TERMINATE:
+             logger.warning("Qtile will now terminate")
+         elif self.behavior is Behavior.NONE:
diff --git a/nixpkgs/pkgs/applications/window-managers/river/default.nix b/nixpkgs/pkgs/applications/window-managers/river/default.nix
index e59ce5449e2c..b1f80d102d2a 100644
--- a/nixpkgs/pkgs/applications/window-managers/river/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/river/default.nix
@@ -13,19 +13,20 @@
 , udev
 , libevdev
 , libinput
-, libX11
 , libGL
+, libX11
+, xwaylandSupport ? true
 }:
 
 stdenv.mkDerivation rec {
   pname = "river";
-  version = "0.1.0";
+  version = "0.1.3";
 
   src = fetchFromGitHub {
-    owner = "ifreund";
+    owner = "riverwm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "03pdgrcpj8db9s14249815z76dyjwwma8xv6p9hpw79flk6rk7v7";
+    sha256 = "sha256-bHfHhyDx/Wzhvhr7mAeVzJf0TBJgMTGb/ClGjWMLlQ8=";
     fetchSubmodules = true;
   };
 
@@ -39,9 +40,8 @@ stdenv.mkDerivation rec {
     udev
     libevdev
     libinput
-    libX11
     libGL
-  ];
+  ] ++ lib.optional xwaylandSupport libX11;
 
   dontConfigure = true;
 
@@ -51,14 +51,13 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     runHook preInstall
-    zig build -Drelease-safe -Dcpu=baseline -Dxwayland -Dman-pages --prefix $out install
+    zig build -Drelease-safe -Dcpu=baseline ${lib.optionalString xwaylandSupport "-Dxwayland"} -Dman-pages --prefix $out install
     runHook postInstall
   '';
 
-  /*
-    Builder patch install dir into river to get default config
+  /* Builder patch install dir into river to get default config
     When installFlags is removed, river becomes half broken.
-    See https://github.com/ifreund/river/blob/7ffa2f4b9e7abf7d152134f555373c2b63ccfc1d/river/main.zig#L56
+    See https://github.com/riverwm/river/blob/7ffa2f4b9e7abf7d152134f555373c2b63ccfc1d/river/main.zig#L56
   */
   installFlags = [ "DESTDIR=$(out)" ];
 
diff --git a/nixpkgs/pkgs/applications/window-managers/spectrwm/default.nix b/nixpkgs/pkgs/applications/window-managers/spectrwm/default.nix
index be2c5bc3d6ec..11ef2979afe0 100644
--- a/nixpkgs/pkgs/applications/window-managers/spectrwm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/spectrwm/default.nix
@@ -22,9 +22,9 @@ stdenv.mkDerivation {
     xcbutilwm
   ];
 
-  sourceRoot = let
+  prePatch = let
     subdir = if stdenv.isDarwin then "osx" else "linux";
-  in "source/${subdir}";
+  in "cd ${subdir}";
 
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/default.nix b/nixpkgs/pkgs/applications/window-managers/sway/default.nix
index 1796f27f67bb..5a98a38664d8 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sway/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sway-unwrapped";
-  version = "1.6.1";
+  version = "1.7";
 
   src = fetchFromGitHub {
     owner = "swaywm";
     repo = "sway";
     rev = version;
-    sha256 = "0j4sdbsrlvky1agacc0pcz9bwmaxjmrapjnzscbd2i0cria2fc5j";
+    sha256 = "0ss3l258blyf2d0lwd7pi7ga1fxfj8pxhag058k7cmjhs3y30y5l";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/idle.nix b/nixpkgs/pkgs/applications/window-managers/sway/idle.nix
index da23359b6469..fd424e3074a7 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/idle.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sway/idle.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "swayidle";
-  version = "1.7";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "swaywm";
     repo = "swayidle";
     rev = version;
-    sha256 = "0ziya8d5pvvxg16jhy4i04pvq11bdvj68gz5q654ar4dldil17nn";
+    sha256 = "06iq12p4438d6bv3jlqsf01wjaxrzlnj1bnicn41kad563aq41xl";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
diff --git a/nixpkgs/pkgs/applications/window-managers/tabbed/default.nix b/nixpkgs/pkgs/applications/window-managers/tabbed/default.nix
index 7366ff196954..67097ca151a0 100644
--- a/nixpkgs/pkgs/applications/window-managers/tabbed/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/tabbed/default.nix
@@ -18,9 +18,9 @@ stdenv.mkDerivation {
 
   buildInputs = [ xorgproto libX11 libXft ];
 
-  makeFlags = [
-    "PREFIX=$(out)"
-  ];
+  makeFlags = [ "CC:=$(CC)" ];
+
+  installFlags = [ "PREFIX=$(out)" ];
 
   meta = with lib; {
     homepage = "https://tools.suckless.org/tabbed";
diff --git a/nixpkgs/pkgs/applications/window-managers/tinywl/default.nix b/nixpkgs/pkgs/applications/window-managers/tinywl/default.nix
index 965ec67b6e94..b89d9dafd900 100644
--- a/nixpkgs/pkgs/applications/window-managers/tinywl/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/tinywl/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
   meta = with lib; {
     homepage = "https://github.com/swaywm/wlroots/tree/master/tinywl";
     description = ''A "minimum viable product" Wayland compositor based on wlroots'';
-    maintainers = with maintainers; [ qyliss ];
+    maintainers = with maintainers; [ qyliss ] ++ wlroots.meta.maintainers;
     license = licenses.cc0;
     inherit (wlroots.meta) platforms;
   };
diff --git a/nixpkgs/pkgs/applications/window-managers/weston/default.nix b/nixpkgs/pkgs/applications/window-managers/weston/default.nix
index 598e78be2643..043e2b02a7fb 100644
--- a/nixpkgs/pkgs/applications/window-managers/weston/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/weston/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, meson, ninja, pkg-config, wayland-scanner
+{ lib, stdenv, fetchurl, meson, ninja, pkg-config, wayland-scanner, python3
 , wayland, libGL, mesa, libxkbcommon, cairo, libxcb
 , libXcursor, xlibsWrapper, udev, libdrm, mtdev, libjpeg, pam, dbus, libinput, libevdev
 , colord, lcms2, pipewire ? null
@@ -10,14 +10,14 @@
 with lib;
 stdenv.mkDerivation rec {
   pname = "weston";
-  version = "9.0.0";
+  version = "10.0.0";
 
   src = fetchurl {
     url = "https://wayland.freedesktop.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "1zlql0xgiqc3pvgbpnnvj4xvpd91pwva8qf83xfb23if377ddxaw";
+    sha256 = "1bj7wnadr7ssn6xw7k8ki0wpj6np3kjd2pcysfz3h0mr290rc8sw";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ];
+  nativeBuildInputs = [ meson ninja pkg-config wayland-scanner python3 ];
   buildInputs = [
     wayland libGL mesa libxkbcommon cairo libxcb libXcursor xlibsWrapper udev libdrm
     mtdev libjpeg pam dbus libinput libevdev pango libunwind freerdp vaapi libva
diff --git a/nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix b/nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix
index d0c35ab7cbb1..6759e15ee833 100644
--- a/nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, unzip, pkg-config, libixp_hg, txt2tags, dash, python, which
+{ lib, stdenv, fetchurl, unzip, pkg-config, libixp_hg, txt2tags, dash, python2, which
 , libX11 , libXrender, libXext, libXinerama, libXrandr, libXft }:
 
 stdenv.mkDerivation rec {
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ pkg-config unzip ];
-  buildInputs = [ libixp_hg txt2tags dash python which
+  buildInputs = [ libixp_hg txt2tags dash python2 which
                   libX11 libXrender libXext libXinerama libXrandr libXft ];
 
   # For some reason including mercurial in buildInputs did not help