about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/window-managers
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-09-08 17:57:14 +0000
committerAlyssa Ross <hi@alyssa.is>2021-09-13 11:31:47 +0000
commitee7984efa14902a2ddd820c937457667a4f40c6a (patch)
treec9c1d046733cefe5e21fdd8a52104175d47b2443 /nixpkgs/pkgs/applications/window-managers
parentffc9d4ba381da62fd08b361bacd1e71e2a3d934d (diff)
parentb3c692172e5b5241b028a98e1977f9fb12eeaf42 (diff)
downloadnixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.gz
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.bz2
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.lz
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.xz
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.zst
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.zip
Merge commit 'b3c692172e5b5241b028a98e1977f9fb12eeaf42'
Diffstat (limited to 'nixpkgs/pkgs/applications/window-managers')
-rw-r--r--nixpkgs/pkgs/applications/window-managers/hikari/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix8
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/wmfocus.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/icewm/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/window-managers/labwc/default.nix32
-rw-r--r--nixpkgs/pkgs/applications/window-managers/mlvwm/default.nix53
-rw-r--r--nixpkgs/pkgs/applications/window-managers/phosh/default.nix34
-rw-r--r--nixpkgs/pkgs/applications/window-managers/qtile/0001-Substitution-vars-for-absolute-paths.patch31
-rw-r--r--nixpkgs/pkgs/applications/window-managers/qtile/0002-Restore-PATH-and-PYTHONPATH.patch71
-rw-r--r--nixpkgs/pkgs/applications/window-managers/qtile/0003-Restart-executable.patch13
-rw-r--r--nixpkgs/pkgs/applications/window-managers/qtile/default.nix108
-rw-r--r--nixpkgs/pkgs/applications/window-managers/river/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/stalonetray/default.nix50
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/bg.nix1
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/idle.nix9
-rw-r--r--nixpkgs/pkgs/applications/window-managers/wayfire/wrapper.nix4
16 files changed, 201 insertions, 262 deletions
diff --git a/nixpkgs/pkgs/applications/window-managers/hikari/default.nix b/nixpkgs/pkgs/applications/window-managers/hikari/default.nix
index a9545757d792..5ee2c8c35e49 100644
--- a/nixpkgs/pkgs/applications/window-managers/hikari/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/hikari/default.nix
@@ -1,8 +1,8 @@
-{ lib, stdenv, fetchzip, fetchpatch,
-  pkg-config, bmake,
-  cairo, glib, libevdev, libinput, libxkbcommon, linux-pam, pango, pixman,
-  libucl, wayland, wayland-protocols, wlroots, mesa,
-  features ? {
+{ lib, stdenv, fetchzip
+, pkg-config, bmake
+, cairo, glib, libevdev, libinput, libxkbcommon, linux-pam, pango, pixman
+, libucl, wayland, wayland-protocols, wlroots, mesa
+, features ? {
     gammacontrol = true;
     layershell   = true;
     screencopy   = true;
@@ -10,17 +10,13 @@
   }
 }:
 
-let
+stdenv.mkDerivation rec {
   pname = "hikari";
-  version = "2.3.1";
-in
-
-stdenv.mkDerivation {
-  inherit pname version;
+  version = "2.3.2";
 
   src = fetchzip {
     url = "https://hikari.acmelabs.space/releases/${pname}-${version}.tar.gz";
-    sha256 = "sha256-o6YsUATcWHSuAEfU7WnwxKNxRNuBt069qCv0FKDWStg=";
+    sha256 = "sha256-At4b6mkArKe6knNWouLdZ9v8XhfHaUW+aB+CHyEBg8o=";
   };
 
   nativeBuildInputs = [ pkg-config bmake ];
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix b/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
index fe0cde61c6f3..edb482ad15f0 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "i3status-rust";
-  version = "0.20.2";
+  version = "0.20.4";
 
   src = fetchFromGitHub {
     owner = "greshake";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9PXvQrh0gmn/G+b7sbQffQkPnUKu1eVrvUoJlRBsOEM=";
+    sha256 = "sha256-lohMrsMCAnb2p7H+xfa24Wx3LEFxCAlGHfP9A70Hg48=";
   };
 
-  cargoSha256 = "sha256-6orDR2Ml1Fy20uT47EDkEk0rGFxO0djHZsFiqlS1Tk8=";
+  cargoSha256 = "sha256-pe96VNTH49qgQ4yxKcAcQPN31W2k1mD9TdhNKBp4x5Q=";
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
@@ -40,7 +40,7 @@ rustPlatform.buildRustPackage rec {
 
   postInstall = ''
     mkdir -p $out/share
-    cp -R files/* $out/share
+    cp -R examples files/* $out/share
   '';
 
   postFixup = ''
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/wmfocus.nix b/nixpkgs/pkgs/applications/window-managers/i3/wmfocus.nix
index 7033e5730490..6756afb4a5c5 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/wmfocus.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/wmfocus.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wmfocus";
-  version = "1.1.5";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "svenstaro";
     repo = pname;
     rev = "v${version}";
-    sha256 = "09xffklpz62h6yiksxdlv3a9s1z0wr3ax9syl399avwdmq3c0y49";
+    sha256 = "sha256-fZbsKu7C+rqggaFVSDNIGDAgn23M7mi+1jhV85s1Co8=";
   };
 
-  cargoSha256 = "0fmz3q3yadymbqnkdhjd2z2g4zgf3z81ccixwywndd9zb7p47zdr";
+  cargoSha256 = "sha256-ejzVJdtOXBPe+14g4aJFBMCvXkmNia9dNAk/BVQ2ZSQ=";
 
   nativeBuildInputs = [ python3 pkg-config ];
   buildInputs = [ cairo libxkbcommon xorg.xcbutilkeysyms ];
diff --git a/nixpkgs/pkgs/applications/window-managers/icewm/default.nix b/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
index 77ed0c561cd4..1584b7fed019 100644
--- a/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
@@ -1,9 +1,8 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, cmake
-, pkg-config
 , asciidoc
+, cmake
 , expat
 , fontconfig
 , freetype
@@ -11,6 +10,7 @@
 , gdk-pixbuf
 , gdk-pixbuf-xlib
 , gettext
+, giflib
 , glib
 , imlib2
 , libICE
@@ -30,22 +30,22 @@
 , libpthreadstubs
 , libsndfile
 , libtiff
-, giflib
 , libxcb
 , mkfontdir
 , pcre
 , perl
+, pkg-config
 }:
 
 stdenv.mkDerivation rec {
   pname = "icewm";
-  version = "2.3.4";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner  = "ice-wm";
     repo = pname;
     rev = version;
-    hash = "sha256-UyLefj0eY/m3Of51NdhMNMq3z+kaLK28zDe63hbDK5A=";
+    hash = "sha256-R06tiWS9z6K5Nbi+vvk7DyozpcFdrHleMeh7Iq/FfHQ=";
   };
 
   nativeBuildInputs = [
@@ -62,6 +62,7 @@ stdenv.mkDerivation rec {
     gdk-pixbuf
     gdk-pixbuf-xlib
     gettext
+    giflib
     glib
     imlib2
     libICE
@@ -81,13 +82,15 @@ stdenv.mkDerivation rec {
     libpthreadstubs
     libsndfile
     libtiff
-    giflib
     libxcb
     mkfontdir
     pcre
   ];
 
-  cmakeFlags = [ "-DPREFIX=$out" "-DCFGDIR=/etc/icewm" ];
+  cmakeFlags = [
+    "-DPREFIX=$out"
+    "-DCFGDIR=/etc/icewm"
+  ];
 
   # install legacy themes
   postInstall = ''
diff --git a/nixpkgs/pkgs/applications/window-managers/labwc/default.nix b/nixpkgs/pkgs/applications/window-managers/labwc/default.nix
index afa391e09d80..3bbe08164641 100644
--- a/nixpkgs/pkgs/applications/window-managers/labwc/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/labwc/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , pkg-config
 , meson
 , ninja
@@ -22,43 +21,34 @@
 
 stdenv.mkDerivation rec {
   pname = "labwc";
-  version = "0.2.1"; # We're effectively using that version
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "johanmalm";
     repo = pname;
-    rev = "6744e103014bcb0480133a029ec0f82f9b017e60";
-    sha256 = "0sdr4zkix8x3vmna4i946y3whpj7fqizpaac6yj7w0as9d6hj0iq";
+    rev = version;
+    sha256 = "sha256-v8LGiQG/n1IXeVMPWyiP9MgZzZLW78JftvxnRVTswaM=";
   };
 
-  patches = [
-    # To fix the build with wlroots 0.14:
-    (fetchpatch {
-      # output: access texture width/height directly
-      url = "https://github.com/johanmalm/labwc/commit/892e93dd84c514b4e6f34a0fab01c727edd2d8de.patch";
-      sha256 = "1p1pg1kd98727wlcspa2sffl7ijhvsfad6bj2rxsw322q0bz3yrh";
-    })
-    (fetchpatch {
-      # xdg: chase swaywm/wlroots@9e58301
-      url = "https://github.com/johanmalm/labwc/commit/874cc9e63706dd54d9f9fcb071f2d2e0c19d3d7e.patch";
-      sha256 = "0ypd47q5ffq4wjkrcr3068qjknn2s66zszyxg3dl0f87q2pxh6wx";
-    })
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    scdoc
   ];
-
-  nativeBuildInputs = [ pkg-config meson ninja scdoc ];
   buildInputs = [
     cairo
     glib
+    libdrm
     libinput
+    libxcb
+    libxkbcommon
     libxml2
     pango
     wayland
     wayland-protocols
     wlroots
-    libxcb
-    libxkbcommon
     xwayland
-    libdrm
   ];
 
   mesonFlags = [ "-Dxwayland=enabled" ];
diff --git a/nixpkgs/pkgs/applications/window-managers/mlvwm/default.nix b/nixpkgs/pkgs/applications/window-managers/mlvwm/default.nix
new file mode 100644
index 000000000000..14170be53ac6
--- /dev/null
+++ b/nixpkgs/pkgs/applications/window-managers/mlvwm/default.nix
@@ -0,0 +1,53 @@
+{ lib, stdenv, fetchFromGitHub, gccmakedep, libX11, libXext, libXpm, imake, installShellFiles, ... }:
+
+stdenv.mkDerivation rec {
+  pname = "mlvwm";
+  version = "0.9.3";
+
+  src = fetchFromGitHub {
+    owner = "morgant";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-Sps2+XyMTcNuhQTLrW/8vSZIcSzMejoi1m64SK129YI=";
+  };
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  buildInputs = [ gccmakedep libX11 libXext libXpm imake ];
+
+  buildPhase = ''
+    (cd man && xmkmf)
+    (cd sample_rc && xmkmf)
+    (cd mlvwm && xmkmf)
+    xmkmf
+    make
+  '';
+
+  installPhase = ''
+    mkdir -p $out/{bin,etc}
+    cp mlvwm/mlvwm $out/bin
+    cp sample_rc/Mlvwmrc* $out/etc
+    runHook postInstall
+  '';
+
+  postInstall = ''
+    mv man/mlvwm.man man/mlvwm.1
+    installManPage man/mlvwm.1
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/morgant/mlvwm";
+    description = "Macintosh-like Virtual Window Manager";
+    license = licenses.mit;
+    longDescription = ''
+      MLVWM or Macintosh-Like Virtual Window Manager,
+      is an FVWM descendant created by Takashi Hasegawa
+      in 1997 while studying at Nagoya University and
+      was written entirely in the C programming language.
+      As its name implies, it attempts to emulate the
+      pre-Mac OS X Macintosh look and feel in its layout and window design.
+    '';
+    platforms = platforms.linux;
+    maintainers = [ maintainers.j0hax ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/window-managers/phosh/default.nix b/nixpkgs/pkgs/applications/window-managers/phosh/default.nix
index 9fa0959ed505..0a16bfc8842b 100644
--- a/nixpkgs/pkgs/applications/window-managers/phosh/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/phosh/default.nix
@@ -8,6 +8,8 @@
 , wrapGAppsHook
 , libhandy
 , libxkbcommon
+, libgudev
+, callaudiod
 , pulseaudio
 , glib
 , gtk3
@@ -24,27 +26,20 @@
 , networkmanager
 , polkit
 , libsecret
-, writeText
 }:
 
-let
-  gvc = fetchFromGitLab {
-    domain = "gitlab.gnome.org";
-    owner = "GNOME";
-    repo = "libgnome-volume-control";
-    rev = "ae1a34aafce7026b8c0f65a43c9192d756fe1057";
-    sha256 = "0a4qh5pgyjki904qf7qmvqz2ksxb0p8xhgl2aixfbhixn0pw6saw";
-  };
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "phosh";
-  version = "0.12.0";
+  version = "0.13.1";
 
   src = fetchFromGitLab {
-    domain = "source.puri.sm";
-    owner = "Librem5";
+    domain = "gitlab.gnome.org";
+    group = "World";
+    owner = "Phosh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1s0lgq04qz562iri535wpwvfkmmngdpclyl329cf7rc9ihy1kjvs";
+    fetchSubmodules = true; # including gvc and libcall-ui which are designated as subprojects
+    sha256 = "sha256-dKQK4mGe/dvNlca/XMDeq1Q4dH/WBF/rtiUh8RssF5c=";
   };
 
   nativeBuildInputs = [
@@ -60,6 +55,8 @@ in stdenv.mkDerivation rec {
     libhandy
     libsecret
     libxkbcommon
+    libgudev
+    callaudiod
     pulseaudio
     glib
     gcr
@@ -86,11 +83,6 @@ in stdenv.mkDerivation rec {
 
   mesonFlags = [ "-Dsystemd=true" "-Dcompositor=${phoc}/bin/phoc" ];
 
-  postUnpack = ''
-    rmdir $sourceRoot/subprojects/gvc
-    ln -s ${gvc} $sourceRoot/subprojects/gvc
-  '';
-
   postPatch = ''
     chmod +x build-aux/post_install.py
     patchShebangs build-aux/post_install.py
@@ -128,9 +120,9 @@ in stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A pure Wayland shell prototype for GNOME on mobile devices";
-    homepage = "https://source.puri.sm/Librem5/phosh";
+    homepage = "https://gitlab.gnome.org/World/Phosh/phosh";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ archseer jtojnar masipcat zhaofengli ];
+    maintainers = with maintainers; [ jtojnar masipcat zhaofengli ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/qtile/0001-Substitution-vars-for-absolute-paths.patch b/nixpkgs/pkgs/applications/window-managers/qtile/0001-Substitution-vars-for-absolute-paths.patch
deleted file mode 100644
index ed22ed99b078..000000000000
--- a/nixpkgs/pkgs/applications/window-managers/qtile/0001-Substitution-vars-for-absolute-paths.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/libqtile/backend/x11/xcursors.py b/libqtile/backend/x11/xcursors.py
-index 24454b83..ef37875c 100644
---- a/libqtile/backend/x11/xcursors.py
-+++ b/libqtile/backend/x11/xcursors.py
-@@ -107,7 +107,7 @@ class Cursors(dict):
- 
-     def _setup_xcursor_binding(self):
-         try:
--            xcursor = ffi.dlopen('libxcb-cursor.so.0')
-+            xcursor = ffi.dlopen('@xcb-cursor@/lib/libxcb-cursor.so.0')
-         except OSError:
-             logger.warning("xcb-cursor not found, fallback to font pointer")
-             return False
-diff --git a/libqtile/pangocffi.py b/libqtile/pangocffi.py
-index dbae27ed..54c2c35f 100644
---- a/libqtile/pangocffi.py
-+++ b/libqtile/pangocffi.py
-@@ -52,10 +52,9 @@ try:
- except ImportError:
-     raise ImportError("No module named libqtile._ffi_pango, be sure to run `./scripts/ffibuild`")
- 
--gobject = ffi.dlopen('libgobject-2.0.so.0')
--pango = ffi.dlopen('libpango-1.0.so.0')
--pangocairo = ffi.dlopen('libpangocairo-1.0.so.0')
--
-+gobject = ffi.dlopen('@glib@/lib/libgobject-2.0.so.0')
-+pango = ffi.dlopen('@pango@/lib/libpango-1.0.so.0')
-+pangocairo = ffi.dlopen('@pango@/lib/libpangocairo-1.0.so.0')
- 
- def patch_cairo_context(cairo_t):
-     def create_layout():
diff --git a/nixpkgs/pkgs/applications/window-managers/qtile/0002-Restore-PATH-and-PYTHONPATH.patch b/nixpkgs/pkgs/applications/window-managers/qtile/0002-Restore-PATH-and-PYTHONPATH.patch
deleted file mode 100644
index 1eaa5b84174c..000000000000
--- a/nixpkgs/pkgs/applications/window-managers/qtile/0002-Restore-PATH-and-PYTHONPATH.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-diff --git a/bin/qshell b/bin/qshell
-index 5c652b7a..2d169eb2 100755
---- a/bin/qshell
-+++ b/bin/qshell
-@@ -28,5 +28,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
- sys.path.insert(0, base_dir)
- 
- if __name__ == '__main__':
-+    __import__("importlib").import_module("libqtile.utils").restore_os_environment()
-     from libqtile.scripts import qshell
-     qshell.main()
-diff --git a/bin/qtile b/bin/qtile
-index ebc8fab5..08a965ef 100755
---- a/bin/qtile
-+++ b/bin/qtile
-@@ -29,5 +29,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
- sys.path.insert(0, base_dir)
- 
- if __name__ == '__main__':
-+    __import__("importlib").import_module("libqtile.utils").restore_os_environment()
-     from libqtile.scripts import qtile
-     qtile.main()
-diff --git a/bin/qtile-cmd b/bin/qtile-cmd
-index a2136ee6..3d37a6d9 100755
---- a/bin/qtile-cmd
-+++ b/bin/qtile-cmd
-@@ -8,5 +8,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
- sys.path.insert(0, base_dir)
- 
- if __name__ == '__main__':
-+    __import__("importlib").import_module("libqtile.utils").restore_os_environment()
-     from libqtile.scripts import qtile_cmd
-     qtile_cmd.main()
-diff --git a/bin/qtile-run b/bin/qtile-run
-index ac4cb1fd..74c589cb 100755
---- a/bin/qtile-run
-+++ b/bin/qtile-run
-@@ -8,5 +8,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
- sys.path.insert(0, base_dir)
- 
- if __name__ == '__main__':
-+    __import__("importlib").import_module("libqtile.utils").restore_os_environment()
-     from libqtile.scripts import qtile_run
-     qtile_run.main()
-diff --git a/bin/qtile-top b/bin/qtile-top
-index a6251f27..0d524b1d 100755
---- a/bin/qtile-top
-+++ b/bin/qtile-top
-@@ -8,5 +8,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
- sys.path.insert(0, base_dir)
- 
- if __name__ == '__main__':
-+    __import__("importlib").import_module("libqtile.utils").restore_os_environment()
-     from libqtile.scripts import qtile_top
-     qtile_top.main()
-diff --git a/libqtile/utils.py b/libqtile/utils.py
-index 2628c898..05117be7 100644
---- a/libqtile/utils.py
-+++ b/libqtile/utils.py
-@@ -270,3 +270,10 @@ def guess_terminal():
-         return terminal
- 
-     logger.error('Default terminal has not been found.')
-+
-+def restore_os_environment():
-+    pythonpath = os.environ.pop("QTILE_SAVED_PYTHONPATH", "")
-+    os.environ["PYTHONPATH"] = pythonpath
-+    path = os.environ.pop("QTILE_SAVED_PATH", None)
-+    if path:
-+        os.environ["PATH"] = path
-
diff --git a/nixpkgs/pkgs/applications/window-managers/qtile/0003-Restart-executable.patch b/nixpkgs/pkgs/applications/window-managers/qtile/0003-Restart-executable.patch
deleted file mode 100644
index c04d8a83c1a2..000000000000
--- a/nixpkgs/pkgs/applications/window-managers/qtile/0003-Restart-executable.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/libqtile/core/manager.py b/libqtile/core/manager.py
-index c22eeb6a..2ffe4eab 100644
---- a/libqtile/core/manager.py
-+++ b/libqtile/core/manager.py
-@@ -278,7 +278,7 @@ class Qtile(CommandObject):
-             logger.error("Unable to pickle qtile state")
-         argv = [s for s in argv if not s.startswith('--with-state')]
-         argv.append('--with-state=' + buf.getvalue().decode())
--        self._restart = (sys.executable, argv)
-+        self._restart = (os.environ.get("QTILE_WRAPPER", "@out@/bin/qtile"), argv[1:])
-         self.stop()
- 
-     async def finalize(self):
diff --git a/nixpkgs/pkgs/applications/window-managers/qtile/default.nix b/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
index 08b3a9834b6a..ae62cdbbba14 100644
--- a/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
@@ -1,66 +1,68 @@
-{ lib, fetchFromGitHub, python37Packages, glib, cairo, pango, pkg-config, libxcb, xcbutilcursor }:
+{ lib, fetchFromGitHub, python3, glib, cairo, pango, pkg-config, libxcb, xcbutilcursor }:
 
-let cairocffi-xcffib = python37Packages.cairocffi.override {
+let
+  enabled-xcffib = cairocffi-xcffib: cairocffi-xcffib.override {
     withXcffib = true;
   };
-in
-
-python37Packages.buildPythonApplication rec {
-  name = "qtile-${version}";
-  version = "0.16.0";
 
-  src = fetchFromGitHub {
-    owner = "qtile";
-    repo = "qtile";
-    rev = "v${version}";
-    sha256 = "1klv1k9847nyx71sfrhqyl1k51k2w8phqnp2bns4dvbqii7q125l";
-  };
+  # make it easier to reference python
+  python = python3;
+  pythonPackages = python.pkgs;
 
-  patches = [
-    ./0001-Substitution-vars-for-absolute-paths.patch
-    ./0002-Restore-PATH-and-PYTHONPATH.patch
-    ./0003-Restart-executable.patch
-  ];
+  unwrapped = pythonPackages.buildPythonPackage rec {
+    pname = "qtile";
+    version = "0.18.0";
 
-  postPatch = ''
-    substituteInPlace libqtile/core/manager.py --subst-var-by out $out
-    substituteInPlace libqtile/pangocffi.py --subst-var-by glib ${glib.out}
-    substituteInPlace libqtile/pangocffi.py --subst-var-by pango ${pango.out}
-    substituteInPlace libqtile/backend/x11/xcursors.py --subst-var-by xcb-cursor ${xcbutilcursor.out}
-  '';
+    src = fetchFromGitHub {
+      owner = "qtile";
+      repo = "qtile";
+      rev = "v${version}";
+      sha256 = "sha256-S9G/EI18p9EAyWgI1ajDrLimeE+ETBC9feUDb/QthqI=";
+    };
 
-  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+    postPatch = ''
+      substituteInPlace libqtile/pangocffi.py \
+        --replace libgobject-2.0.so.0 ${glib.out}/lib/libgobject-2.0.so.0 \
+        --replace libpangocairo-1.0.so.0 ${pango.out}/lib/libpangocairo-1.0.so.0 \
+        --replace libpango-1.0.so.0 ${pango.out}/lib/libpango-1.0.so.0
+      substituteInPlace libqtile/backend/x11/xcursors.py \
+        --replace libxcb-cursor.so.0 ${xcbutilcursor.out}/lib/libxcb-cursor.so.0
+    '';
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ glib libxcb cairo pango python37Packages.xcffib ];
+    SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
-  pythonPath = with python37Packages; [
-    xcffib
-    cairocffi-xcffib
-    setuptools
-    setuptools-scm
-    python-dateutil
-    dbus-python
-    mpd2
-    psutil
-    pyxdg
-    pygobject3
-  ];
+    nativeBuildInputs = [
+      pkg-config
+    ] ++ (with pythonPackages; [
+      setuptools-scm
+    ]);
 
-  postInstall = ''
-    wrapProgram $out/bin/qtile \
-      --run 'export QTILE_WRAPPER=$0' \
-      --run 'export QTILE_SAVED_PYTHONPATH=$PYTHONPATH' \
-      --run 'export QTILE_SAVED_PATH=$PATH'
-  '';
+    propagatedBuildInputs = with pythonPackages; [
+      xcffib
+      (enabled-xcffib cairocffi)
+      setuptools
+      python-dateutil
+      dbus-python
+      mpd2
+      psutil
+      pyxdg
+      pygobject3
+    ];
 
-  doCheck = false; # Requires X server #TODO this can be worked out with the existing NixOS testing infrastructure.
+    doCheck = false; # Requires X server #TODO this can be worked out with the existing NixOS testing infrastructure.
 
-  meta = with lib; {
-    homepage = "http://www.qtile.org/";
-    license = licenses.mit;
-    description = "A small, flexible, scriptable tiling window manager written in Python";
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ kamilchm ];
+    meta = with lib; {
+      homepage = "http://www.qtile.org/";
+      license = licenses.mit;
+      description = "A small, flexible, scriptable tiling window manager written in Python";
+      platforms = platforms.linux;
+      maintainers = with maintainers; [ kamilchm ];
+    };
   };
-}
+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; };
+  })
diff --git a/nixpkgs/pkgs/applications/window-managers/river/default.nix b/nixpkgs/pkgs/applications/window-managers/river/default.nix
index 317c08c5d894..5c809097ee17 100644
--- a/nixpkgs/pkgs/applications/window-managers/river/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/river/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "river";
-  version = "unstable-2021-06-27";
+  version = "unstable-2021-08-03";
 
   src = fetchFromGitHub {
     owner = "ifreund";
     repo = pname;
-    rev = "39578db1344ca298f2bb2fe2278a35108d5f2b66";
-    sha256 = "sha256-DQroN+FV7sq0PyczERZgnW73YKAVvj2JJQjfzidlBI8=";
+    rev = "2fc0875a3e17a0328d14d0c6323bd8022d5b15de";
+    sha256 = "sha256-Cs9RRubxy0DY6ILRZY36HtcoqBvzbN7NEfpREq1KBBQ=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/window-managers/stalonetray/default.nix b/nixpkgs/pkgs/applications/window-managers/stalonetray/default.nix
index 47903bb2276e..218b2a4fefd2 100644
--- a/nixpkgs/pkgs/applications/window-managers/stalonetray/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/stalonetray/default.nix
@@ -1,29 +1,51 @@
-{ lib, stdenv, fetchurl, libX11, xorgproto }:
+{ autoreconfHook
+, docbook_xml_dtd_44
+, docbook-xsl-ns
+, fetchFromGitHub
+, lib
+, libX11
+, libXpm
+, libxslt
+, stdenv
+}:
 
 stdenv.mkDerivation rec {
   pname = "stalonetray";
-  version = "0.8.3";
+  version = "0.8.4";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/stalonetray/${pname}-${version}.tar.bz2";
-    sha256 = "0k7xnpdb6dvx25d67v0crlr32cdnzykdsi9j889njiididc8lm1n";
+  src = fetchFromGitHub {
+    owner = "kolbusa";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-grxPqSYPLUstLIOKqzMActaSQ2ftYrjbalfR4HcPDRY=";
   };
 
-  buildInputs = [ libX11 xorgproto ];
+  preConfigure =
+    let
+      db_root = "${docbook-xsl-ns}/share/xml/docbook-xsl-ns";
+      ac_str = "AC_SUBST(DOCBOOK_ROOT)";
+      ac_str_sub = "DOCBOOK_ROOT=${db_root}; ${ac_str}";
+    in
+      ''
+        substituteInPlace configure.ac --replace '${ac_str}' '${ac_str_sub}'
+      '';
+
+  nativeBuildInputs = [
+    autoreconfHook
+    docbook-xsl-ns
+    docbook_xml_dtd_44
+    libX11
+    libXpm
+    libxslt
+  ];
 
   hardeningDisable = [ "format" ];
 
   meta = with lib; {
     description = "Stand alone tray";
-    homepage = "http://stalonetray.sourceforge.net";
-    license = licenses.gpl2;
+    homepage = "https://github.com/kolbusa/stalonetray";
+    license = licenses.gpl2Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ raskin ];
   };
-
-  passthru = {
-    updateInfo = {
-      downloadPage = "https://sourceforge.net/projects/stalonetray/files/";
-    };
-  };
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/bg.nix b/nixpkgs/pkgs/applications/window-managers/sway/bg.nix
index 1d5dea76b379..6d91d8c8f46c 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/bg.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sway/bg.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
     sha256 = "17508q9wsw6c1lsxlcbxj74z2naqhwi5c7lkbq24m4lk8qmy0576";
   };
 
+  depsBuildBuild = [ pkg-config ];
   nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
   buildInputs = [ wayland wayland-protocols cairo gdk-pixbuf ];
 
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/idle.nix b/nixpkgs/pkgs/applications/window-managers/sway/idle.nix
index 8c1ae0b35924..da23359b6469 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/idle.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sway/idle.nix
@@ -5,20 +5,15 @@
 
 stdenv.mkDerivation rec {
   pname = "swayidle";
-  version = "1.6";
+  version = "1.7";
 
   src = fetchFromGitHub {
     owner = "swaywm";
     repo = "swayidle";
     rev = version;
-    sha256 = "1nd3v8r9549lykdwh4krldfl59lzaspmmai5k1icy7dvi6kkr18r";
+    sha256 = "0ziya8d5pvvxg16jhy4i04pvq11bdvj68gz5q654ar4dldil17nn";
   };
 
-  postPatch = ''
-    substituteInPlace meson.build \
-      --replace "version: '1.5'" "version: '${version}'"
-  '';
-
   nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
   buildInputs = [ wayland wayland-protocols systemd ];
 
diff --git a/nixpkgs/pkgs/applications/window-managers/wayfire/wrapper.nix b/nixpkgs/pkgs/applications/window-managers/wayfire/wrapper.nix
index 622928985471..e972929237d4 100644
--- a/nixpkgs/pkgs/applications/window-managers/wayfire/wrapper.nix
+++ b/nixpkgs/pkgs/applications/window-managers/wayfire/wrapper.nix
@@ -1,4 +1,4 @@
-{ runCommandNoCC, lib, makeWrapper, wayfirePlugins }:
+{ runCommand, lib, makeWrapper, wayfirePlugins }:
 
 let
   inherit (lib) escapeShellArg makeBinPath;
@@ -17,7 +17,7 @@ let
   plugins = choosePlugins wayfirePlugins;
 in
 
-runCommandNoCC "${application.name}-wrapped" {
+runCommand "${application.name}-wrapped" {
   nativeBuildInputs = [ makeWrapper ];
 
   passthru = application.passthru // {