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-06-22 15:01:47 +0000
committerAlyssa Ross <hi@alyssa.is>2021-06-22 16:57:59 +0000
commit633cab0ecb07627706c6b523e219490f019eaab5 (patch)
tree4fb472bdfe2723037dad53dc1b8a87c939015f5e /nixpkgs/pkgs/applications/window-managers
parentffb691c199e7e0cbc4e45e5310779c9e3f7c2a73 (diff)
parent432fc2d9a67f92e05438dff5fdc2b39d33f77997 (diff)
downloadnixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar
nixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar.gz
nixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar.bz2
nixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar.lz
nixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar.xz
nixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar.zst
nixlib-633cab0ecb07627706c6b523e219490f019eaab5.zip
Merge commit '432fc2d9a67f92e05438dff5fdc2b39d33f77997'
# Conflicts:
#	nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
#	nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/default.nix
#	nixpkgs/pkgs/applications/window-managers/sway/default.nix
#	nixpkgs/pkgs/build-support/rust/default.nix
#	nixpkgs/pkgs/development/go-modules/generic/default.nix
Diffstat (limited to 'nixpkgs/pkgs/applications/window-managers')
-rw-r--r--nixpkgs/pkgs/applications/window-managers/cage/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/window-managers/cagebreak/default.nix73
-rw-r--r--nixpkgs/pkgs/applications/window-managers/cardboard/default.nix118
-rw-r--r--nixpkgs/pkgs/applications/window-managers/dwl/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/window-managers/dwm/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix13
-rw-r--r--nixpkgs/pkgs/applications/window-managers/herbstluftwm/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/window-managers/hikari/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/auto-layout.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/balance-workspace.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/gaps.nix13
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/i3-ratiosplit.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix18
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/status.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/wmfocus.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/wsr.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/icewm/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/window-managers/kbdd/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/window-managers/leftwm/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/lemonbar/default.nix21
-rw-r--r--nixpkgs/pkgs/applications/window-managers/lemonbar/xft.nix22
-rw-r--r--nixpkgs/pkgs/applications/window-managers/phosh/default.nix158
-rw-r--r--nixpkgs/pkgs/applications/window-managers/qtile/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/river/default.nix65
-rw-r--r--nixpkgs/pkgs/applications/window-managers/stumpwm/default.nix103
-rw-r--r--nixpkgs/pkgs/applications/window-managers/stumpwm/fix-module-path.patch16
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix14
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/wsr.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/taffybar/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/window-managers/waybox/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/wayfire/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/wayfire/wf-config.nix17
-rw-r--r--nixpkgs/pkgs/applications/window-managers/wayfire/wf-shell.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/windowmaker/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/windowmaker/dockapps/AlsaMixer-app.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/wio/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/window-managers/xmonad/log-applet/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/yabar/build.nix4
42 files changed, 555 insertions, 302 deletions
diff --git a/nixpkgs/pkgs/applications/window-managers/cage/default.nix b/nixpkgs/pkgs/applications/window-managers/cage/default.nix
index 103be0e53d76..1632ae027c0a 100644
--- a/nixpkgs/pkgs/applications/window-managers/cage/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/cage/default.nix
@@ -8,20 +8,15 @@
 
 stdenv.mkDerivation rec {
   pname = "cage";
-  version = "0.1.2.1";
+  version = "0.1.3";
 
   src = fetchFromGitHub {
     owner = "Hjdskes";
     repo = "cage";
     rev = "v${version}";
-    sha256 = "1i4rm3dpmk7gkl6hfs6a7vwz76ba7yqcdp63nlrdbnq81m9cy2am";
+    sha256 = "0ixl45g0m8b75gvbjm3gf5qg0yplspgs0xpm2619wn5sygc47sb1";
   };
 
-  postPatch = ''
-    substituteInPlace meson.build --replace \
-      "0.1.2" "${version}"
-  '';
-
   nativeBuildInputs = [ meson ninja pkg-config wayland scdoc makeWrapper ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/window-managers/cagebreak/default.nix b/nixpkgs/pkgs/applications/window-managers/cagebreak/default.nix
index 505d1cb1520c..d88bc0cdbdfe 100644
--- a/nixpkgs/pkgs/applications/window-managers/cagebreak/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/cagebreak/default.nix
@@ -1,54 +1,85 @@
-{ lib, stdenv, fetchFromGitHub
-, meson, ninja, pkg-config, wayland, scdoc, makeWrapper
-, wlroots, wayland-protocols, pixman, libxkbcommon
-, cairo , pango, fontconfig, pandoc, systemd, mesa
-, withXwayland ? true, xwayland
+{ lib
+, stdenv
+, fetchFromGitHub
+, cairo
+, fontconfig
+, libxkbcommon
+, makeWrapper
+, mesa
+, meson
+, ninja
 , nixosTests
+, pango
+, pixman
+, pkg-config
+, scdoc
+, systemd
+, wayland
+, wayland-protocols
+, withXwayland ? true , xwayland
+, wlroots
 }:
 
 stdenv.mkDerivation rec {
   pname = "cagebreak";
-  version = "1.6.0";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "project-repo";
-    repo = "cagebreak";
+    repo = pname;
     rev = version;
-    hash = "sha256-F7fqDVbJS6pVgmj6C1/l9PAaz5yzcYpaq6oc6a6v/Qk=";
+    hash = "sha256-1IztedN5/I/4TDKHLJ26fSrDsvJ5QAr+cbzS2PQITDE=";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config wayland scdoc makeWrapper ];
+  nativeBuildInputs = [
+    makeWrapper
+    meson
+    ninja
+    pkg-config
+    scdoc
+    wayland
+  ];
 
   buildInputs = [
-    wlroots wayland wayland-protocols pixman libxkbcommon cairo
-    pango fontconfig pandoc systemd
+    cairo
+    fontconfig
+    libxkbcommon
     mesa # for libEGL headers
+    pango
+    pixman
+    systemd
+    wayland
+    wayland-protocols
+    wlroots
   ];
 
-  outputs = [ "out" "contrib" ];
-
   mesonFlags = [
-    "-Dxwayland=${lib.boolToString withXwayland}"
-    "-Dversion_override=${version}"
     "-Dman-pages=true"
+    "-Dversion_override=${version}"
+    "-Dxwayland=${lib.boolToString withXwayland}"
   ];
 
+  # TODO: investigate why is this happening
+  postPatch = ''
+    sed -i -e 's|<drm_fourcc.h>|<libdrm/drm_fourcc.h>|' *.c
+  '';
+
   postInstall = ''
-    mkdir -p $contrib/share/cagebreak
-    cp $src/examples/config $contrib/share/cagebreak/config
+    install -d $out/share/cagebreak/
+    install -m644 $src/examples/config $out/share/cagebreak/
   '';
 
   postFixup = lib.optionalString withXwayland ''
     wrapProgram $out/bin/cagebreak --prefix PATH : "${xwayland}/bin"
   '';
 
-  passthru.tests.basic = nixosTests.cagebreak;
-
   meta = with lib; {
-    description = "A Wayland tiling compositor inspired by ratpoison";
     homepage = "https://github.com/project-repo/cagebreak";
+    description = "A Wayland tiling compositor inspired by ratpoison";
     license = licenses.mit;
-    platforms = platforms.linux;
     maintainers = with maintainers; [ berbiche ];
+    platforms = platforms.linux;
   };
+
+  passthru.tests.basic = nixosTests.cagebreak;
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/cardboard/default.nix b/nixpkgs/pkgs/applications/window-managers/cardboard/default.nix
new file mode 100644
index 000000000000..17ef08af5e82
--- /dev/null
+++ b/nixpkgs/pkgs/applications/window-managers/cardboard/default.nix
@@ -0,0 +1,118 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, fetchurl
+, fetchgit
+, ffmpeg
+, libGL
+, libX11
+, libcap
+, libdrm
+, libinput
+, libpng
+, libxcb
+, libxkbcommon
+, mesa
+, meson
+, ninja
+, pandoc
+, pixman
+, pkg-config
+, unzip
+, wayland
+, wayland-protocols
+, xcbutilerrors
+, xcbutilimage
+, xcbutilwm
+}:
+
+let
+  # cereal.wrap
+  cereal-wrap = fetchurl {
+    name = "cereal-1.3.0.tar.gz";
+    url = "https://github.com/USCiLab/cereal/archive/v1.3.0.tar.gz";
+    hash = "sha256-Mp6j4xMLAmwDpKzFDhaOfa/05uZhvGp9/sDXe1cIUdU=";
+  };
+  cereal-wrapdb = fetchurl {
+    name = "cereal-1.3.0-1-wrap.zip";
+    url = "https://wrapdb.mesonbuild.com/v1/projects/cereal/1.3.0/1/get_zip";
+    hash = "sha256-QYck5UT7fPLqtLDb1iOSX4Hnnns48Jj23Ae/LCfLSKY=";
+  };
+
+  # expected.wrap
+  expected-wrap = fetchgit {
+    name = "expected";
+    url = "https://gitlab.com/cardboardwm/expected";
+    rev = "0ee13cb2b058809aa9708c45ca18d494e72a759e";
+    sha256 = "sha256-gYr4/pjuLlr3k6Jcrg2/SzJLtbgyA+ZN2oMHkHXANDo=";
+  };
+
+  # wlroots.wrap
+  wlroots-wrap = fetchgit {
+    name = "wlroots";
+    url = "https://github.com/swaywm/wlroots";
+    rev = "0.12.0";
+    sha256 = "sha256-1rE3D+kQprjcjobc95/mQkUa5y1noY0MdoYJ/SpFQwY=";
+  };
+in
+stdenv.mkDerivation rec {
+  pname = "cardboard";
+  version = "0.0.0+unstable=2021-05-10";
+
+  src = fetchFromGitLab {
+    owner = "cardboardwm";
+    repo = pname;
+    rev = "b54758d85164fb19468f5ca52588ebea576cd027";
+    hash = "sha256-Kn5NyQSDyX7/nn2bKZPnsuepkoppi5XIkdu7IDy5r4w=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pandoc
+    pkg-config
+    unzip
+  ];
+  buildInputs = [
+    ffmpeg
+    libGL
+    libX11
+    libcap
+    libdrm
+    libinput
+    libpng
+    libxcb
+    libxkbcommon
+    mesa
+    pixman
+    wayland
+    wayland-protocols
+    xcbutilerrors
+    xcbutilimage
+    xcbutilwm
+  ];
+
+  postPatch = ''
+    (cd subprojects
+     tar xvf ${cereal-wrap}
+     unzip ${cereal-wrapdb}
+     cp -r ${expected-wrap} ${expected-wrap.name}
+     cp -r ${wlroots-wrap} ${wlroots-wrap.name}
+    )
+  '';
+
+  # "Inherited" from Nixpkgs expression for wlroots
+  mesonFlags = [
+    "-Dman=true"
+    "-Dwlroots:logind-provider=systemd"
+    "-Dwlroots:libseat=disabled"
+  ];
+
+  meta = with lib; {
+    homepage = "https://gitlab.com/cardboardwm/cardboard";
+    description = "A scrollable, tiling Wayland compositor inspired on PaperWM";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/window-managers/dwl/default.nix b/nixpkgs/pkgs/applications/window-managers/dwl/default.nix
index d8f102ed7675..04944a1e9092 100644
--- a/nixpkgs/pkgs/applications/window-managers/dwl/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/dwl/default.nix
@@ -5,6 +5,7 @@
 , libinput
 , libxcb
 , libxkbcommon
+, pixman
 , wayland
 , wayland-protocols
 , wlroots
@@ -16,32 +17,18 @@
 }:
 
 let
-  # Add two patches to fix compile errors with wlroots 0.13:
-  totalPatches = patches ++ [
-    # Fix the renamed constant WLR_KEY_PRESSED => WL_KEYBOARD_KEY_STATE_PRESSED
-    # https://github.com/djpohly/dwl/pull/66
-    (fetchpatch {
-      url = "https://github.com/djpohly/dwl/commit/a42613db9d9f6debfa4fb2363d75af9457d238ed.patch";
-      sha256 = "0h76hx1fhazi07gqg7sljh13f91v6bvjy7m9qqmimhvqgfwdcc0j";
-    })
-    # Use the new signature for wlr_backend_autocreate, which removes an argument:
-    # https://github.com/djpohly/dwl/pull/76
-    (fetchpatch {
-      url = "https://github.com/djpohly/dwl/commit/0ff13cf216056a36a261f4eed53c6a864989a9fb.patch";
-      sha256 = "18clpdb4il1vxf1b0cx0qrwild68s9dism8ab66zpmvxs5qag2dm";
-    })
-  ];
+  totalPatches = patches ++ [ ];
 in
 
 stdenv.mkDerivation rec {
   pname = "dwl";
-  version = "0.2";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
     owner = "djpohly";
     repo = pname;
     rev = "v${version}";
-    sha256 = "gUaFTkpIQDswEubllMgvxPfCaEYFO7mODzjPyW7XsGQ=";
+    sha256 = "sha256-lfUAymLA4+E9kULZIueA+9gyVZYgaVS0oTX0LJjsSEs=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -49,6 +36,7 @@ stdenv.mkDerivation rec {
     libinput
     libxcb
     libxkbcommon
+    pixman
     wayland
     wayland-protocols
     wlroots
diff --git a/nixpkgs/pkgs/applications/window-managers/dwm/default.nix b/nixpkgs/pkgs/applications/window-managers/dwm/default.nix
index 2c3ed2e47e88..088581b67013 100644
--- a/nixpkgs/pkgs/applications/window-managers/dwm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/dwm/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
       tags.
     '';
     license = licenses.mit;
-    maintainers = with maintainers; [ viric ];
+    maintainers = with maintainers; [ viric neonfuz ];
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix b/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix
index e32cd38ec2d4..7b22eb399251 100644
--- a/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix
+++ b/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix
@@ -1,27 +1,27 @@
 { lib, rustPlatform, fetchFromGitHub, dbus, gdk-pixbuf, libnotify, makeWrapper, pkg-config, xorg
-, enableAlsaUtils ? true, alsaUtils, coreutils
+, enableAlsaUtils ? true, alsa-utils, coreutils
 , enableNetwork ? true, dnsutils, iproute2, wirelesstools }:
 
 let
-  bins = lib.optionals enableAlsaUtils [ alsaUtils coreutils ]
+  bins = lib.optionals enableAlsaUtils [ alsa-utils coreutils ]
     ++ lib.optionals enableNetwork [ dnsutils iproute2 wirelesstools ];
 in
 
 rustPlatform.buildRustPackage rec {
   pname = "dwm-status";
-  version = "1.7.1";
+  version = "1.7.2";
 
   src = fetchFromGitHub {
     owner = "Gerschtli";
-    repo = "dwm-status";
+    repo = pname;
     rev = version;
-    sha256 = "172qkzbi37j6wx81pyqqffi9wxbg3bf8nis7d15ncn1yfd5r4gqh";
+    sha256 = "sha256-Y1J0nCVEmGKgQP+GEtPqK8l3SRuls5yesvJuowLDzUo=";
   };
 
   nativeBuildInputs = [ makeWrapper pkg-config ];
   buildInputs = [ dbus gdk-pixbuf libnotify xorg.libX11 ];
 
-  cargoSha256 = "041sd9zm1c3v6iihnwjcya2xg5yxb2y4biyxpjlfblz2srxa15dm";
+  cargoSha256 = "sha256-8/vzJXZjSQmefHMo5BXKTRiLy2F3wfIn8VgPMJxtIvY=";
 
   postInstall = lib.optionalString (bins != [])  ''
     wrapProgram $out/bin/dwm-status --prefix "PATH" : "${lib.makeBinPath bins}"
@@ -32,6 +32,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/Gerschtli/dwm-status";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ gerschtli ];
+    mainProgram = pname;
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/herbstluftwm/default.nix b/nixpkgs/pkgs/applications/window-managers/herbstluftwm/default.nix
index ce0b40c0bb76..2ed6bc303668 100644
--- a/nixpkgs/pkgs/applications/window-managers/herbstluftwm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/herbstluftwm/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchurl, cmake, pkg-config, python3, libX11, libXext, libXinerama, libXrandr, libXft, freetype, asciidoc
+{ lib, stdenv, fetchurl, cmake, pkg-config, python3, libX11, libXext, libXinerama, libXrandr, libXft, libXrender, freetype, asciidoc
 , xdotool, xorgserver, xsetroot, xterm, runtimeShell
 , nixosTests }:
 
 stdenv.mkDerivation rec {
   pname = "herbstluftwm";
-  version = "0.9.2";
+  version = "0.9.3";
 
   src = fetchurl {
     url = "https://herbstluftwm.org/tarballs/herbstluftwm-${version}.tar.gz";
-    sha256 = "0avfhr68f6fjnafjdcyxcx7dkg38f2nadmhpj971qyqzfq2f6i38";
+    sha256 = "01f1bv9axjhw1l2gwhdwahljssj0h8q7a1bqwbpnwvln0ayv39qb";
   };
 
   outputs = [
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
     libXinerama
     libXrandr
     libXft
+    libXrender
     freetype
   ];
 
diff --git a/nixpkgs/pkgs/applications/window-managers/hikari/default.nix b/nixpkgs/pkgs/applications/window-managers/hikari/default.nix
index 34016b0d7565..23c7d9f680f6 100644
--- a/nixpkgs/pkgs/applications/window-managers/hikari/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/hikari/default.nix
@@ -12,7 +12,7 @@
 
 let
   pname = "hikari";
-  version = "2.2.2";
+  version = "2.3.0";
 in
 
 stdenv.mkDerivation {
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
 
   src = fetchzip {
     url = "https://hikari.acmelabs.space/releases/${pname}-${version}.tar.gz";
-    sha256 = "0sln1n5f67i3vxkybfi6xhzplb45djqyg272vqkv64m72rmm8875";
+    sha256 = "0vxwma2r9mb2h0c3dkpvf8dbrc2x2ykhc5bb0vd72sl9pwj4jxmy";
   };
 
   nativeBuildInputs = [ pkg-config bmake ];
@@ -49,11 +49,13 @@ stdenv.mkDerivation {
          optionalString enabled "WITH_${toUpper feat}=YES"
        ) features;
 
-  # Can't suid in nix store
-  # Run hikari as root (it will drop privileges as early as possible), or create
-  # a systemd unit to give it the necessary permissions/capabilities.
-  patchPhase = ''
+  postPatch = ''
+    # Can't suid in nix store
+    # Run hikari as root (it will drop privileges as early as possible), or create
+    # a systemd unit to give it the necessary permissions/capabilities.
     substituteInPlace Makefile --replace '4555' '555'
+
+    sed -i 's@<drm_fourcc.h>@<libdrm/drm_fourcc.h>@' src/*.c
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/auto-layout.nix b/nixpkgs/pkgs/applications/window-managers/i3/auto-layout.nix
index d24715aa9804..754163547e76 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/auto-layout.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/auto-layout.nix
@@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "0ps08lga6qkgc8cgf5cx2lgwlqcnd2yazphh9xd2fznnzrllfxxz";
   };
 
-  cargoSha256 = "1ch5mh515rlqmr65x96xcvrx6iaigqgjxc7sbwbznzkc5kmvwhc0";
+  cargoSha256 = "1i01kqvsykanzs7pi94gab9k2dqg1ki40mmjrwa22n0ypkbnvsmx";
 
   # Currently no tests are implemented, so we avoid building the package twice
   doCheck = false;
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/balance-workspace.nix b/nixpkgs/pkgs/applications/window-managers/i3/balance-workspace.nix
index 18e9167227fe..335b18d3eb86 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/balance-workspace.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/balance-workspace.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "i3-balance-workspace";
-  version = "1.8.3";
+  version = "1.8.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1gndzrwff8gfdqjjxv4zf2h2k0x7y97w1c3mrjpihz8xd0hbnk4d";
+    sha256 = "bb220eb373e290312b0aafe3d7b1cc1cca34c93189a4fca5bee93ef39aafbe3d";
   };
 
   propagatedBuildInputs = [ i3ipc ];
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix b/nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix
index df774aa417f3..4acc2fb669c6 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix
@@ -1,5 +1,5 @@
 { fetchFromGitHub, lib, stdenv, perl, makeWrapper
-, iproute2, acpi, sysstat, alsaUtils
+, iproute2, acpi, sysstat, alsa-utils
 , scripts ? [ "bandwidth" "battery" "cpu_usage" "disk" "iface"
               "load_average" "memory" "volume" "wifi" ]
 }:
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     wrapProgram $out/libexec/i3blocks/iface \
       --prefix PATH : ${makeBinPath (optional (elem "iface" scripts) iproute2)}
     wrapProgram $out/libexec/i3blocks/volume \
-      --prefix PATH : ${makeBinPath (optional (elem "volume" scripts) alsaUtils)}
+      --prefix PATH : ${makeBinPath (optional (elem "volume" scripts) alsa-utils)}
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/default.nix b/nixpkgs/pkgs/applications/window-managers/i3/default.nix
index 305c1d728f34..a51c80bf0833 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/default.nix
@@ -1,7 +1,7 @@
 { fetchurl, lib, stdenv, pkg-config, makeWrapper, meson, ninja, installShellFiles, libxcb, xcbutilkeysyms
 , xcbutil, xcbutilwm, xcbutilxrm, libstartup_notification, libX11, pcre, libev
 , yajl, xcb-util-cursor, perl, pango, perlPackages, libxkbcommon
-, xorgserver, xvfb_run }:
+, xorgserver, xvfb-run }:
 
 stdenv.mkDerivation rec {
   pname = "i3";
@@ -19,13 +19,11 @@ stdenv.mkDerivation rec {
     libstartup_notification libX11 pcre libev yajl xcb-util-cursor perl pango
     perlPackages.AnyEventI3 perlPackages.X11XCB perlPackages.IPCRun
     perlPackages.ExtUtilsPkgConfig perlPackages.InlineC
-    xorgserver xvfb_run
+    xorgserver xvfb-run
   ];
 
   configureFlags = [ "--disable-builddir" ];
 
-  enableParallelBuilding = true;
-
   postPatch = ''
     patchShebangs .
   '';
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/gaps.nix b/nixpkgs/pkgs/applications/window-managers/i3/gaps.nix
index d158aea83f3f..8ab8c5630d09 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/gaps.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/gaps.nix
@@ -1,13 +1,14 @@
-{ fetchurl, lib, i3, autoreconfHook }:
+{ fetchFromGitHub, lib, i3 }:
 
 i3.overrideAttrs (oldAttrs : rec {
-
-  name = "i3-gaps-${version}";
+  pname = "i3-gaps";
   version = "4.19.1";
 
-  src = fetchurl {
-    url = "https://github.com/Airblader/i3/releases/download/${version}/i3-${version}.tar.xz";
-    sha256 = "sha256-+yZ4Pc7zPZfwgBKbjQsrlXxIaxJBmIdE47lljx8FZG0=";
+  src = fetchFromGitHub {
+    owner = "Airblader";
+    repo = "i3";
+    rev = version;
+    sha256 = "sha256-Ydks0hioGAnVBGKraoy3a7Abq9/vHmSne+VFbrYXCug=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/i3-ratiosplit.nix b/nixpkgs/pkgs/applications/window-managers/i3/i3-ratiosplit.nix
index 35751da8172d..fbd584f2baa9 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/i3-ratiosplit.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/i3-ratiosplit.nix
@@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "0yfmr5zk2c2il9d31yjjbr48sqgcq6hp4a99hl5mjm2ajyhy5bz3";
   };
 
-  cargoSha256 = "0d5qd1wid5l1pl3ckrlfgdb980myi5gxcir39caywb9pkbnfndz6";
+  cargoSha256 = "134sgc9d0j57swknl9sgil6212rws2hhp92s3cg1yzz5ygx21c76";
 
   # Currently no tests are implemented, so we avoid building the package twice
   doCheck = false;
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix b/nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix
index 3581e4749431..4182c8689ed2 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix
@@ -4,14 +4,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.13.c.2";
+  version = "2.13.c.3";
   pname = "i3lock-color";
 
   src = fetchFromGitHub {
     owner = "PandorasFox";
     repo = "i3lock-color";
     rev = version;
-    sha256 = "sha256-cMj1uB2Hf7v5Rukw9c5YeUmwbdTn1+PV13bUaOWzBp0=";
+    sha256 = "0spldmis8fvnclwwi9xvnq2rq3hmpbiv3ck5p9pjf40ismvsi16k";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix b/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
index 88d035bce661..043c9f44bcfa 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.14.7";
+  version = "0.20.1";
 
   src = fetchFromGitHub {
     owner = "greshake";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ndqh4bzwim32n8psgsgdd47xmlb45rhvcwla1wm506byb21nk4c";
+    sha256 = "00gzm3g297s9bfp13vnb623p7dfac3g6cdhz2b3lc6l0kmnnqs1s";
   };
 
-  cargoSha256 = "098dzwqwbhcyswm73m880z0w03i7xrq56x79vfyvacw4k27q2zm9";
+  cargoSha256 = "1dpklyv1b9h4n4k3ar5qbzivds8r4mml76986ic8zj71fy5fxn08";
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
@@ -29,8 +29,20 @@ rustPlatform.buildRustPackage rec {
 
   cargoBuildFlags = [
     "--features=notmuch"
+    "--features=maildir"
+    "--features=pulseaudio"
   ];
 
+  prePatch = ''
+    substituteInPlace src/util.rs \
+      --replace "/usr/share/i3status-rust" "$out/share"
+  '';
+
+  postInstall = ''
+    mkdir -p $out/share
+    cp -R files/* $out/share
+  '';
+
   postFixup = ''
     wrapProgram $out/bin/i3status-rs --prefix PATH : "${ethtool}/bin"
   '';
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/status.nix b/nixpkgs/pkgs/applications/window-managers/i3/status.nix
index 935a6c3c23b4..8e9cb2d2b76f 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/status.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/status.nix
@@ -1,4 +1,4 @@
-{ fetchurl, lib, stdenv, libconfuse, yajl, alsaLib, libpulseaudio, libnl, pkg-config, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl }:
+{ fetchurl, lib, stdenv, libconfuse, yajl, alsa-lib, libpulseaudio, libnl, pkg-config, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl }:
 
 stdenv.mkDerivation rec {
   name = "i3status-2.13";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config asciidoc xmlto docbook_xml_dtd_45 docbook_xsl ];
-  buildInputs = [ libconfuse yajl alsaLib libpulseaudio libnl ];
+  buildInputs = [ libconfuse yajl alsa-lib libpulseaudio libnl ];
 
   makeFlags = [ "all" "PREFIX=$(out)" ];
 
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/wmfocus.nix b/nixpkgs/pkgs/applications/window-managers/i3/wmfocus.nix
index 9169cfc3817c..7033e5730490 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/wmfocus.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/wmfocus.nix
@@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "09xffklpz62h6yiksxdlv3a9s1z0wr3ax9syl399avwdmq3c0y49";
   };
 
-  cargoSha256 = "0rczas6sgcppacz48xx7sarkvc4s2sgcdz6c661d7vcry1y46xms";
+  cargoSha256 = "0fmz3q3yadymbqnkdhjd2z2g4zgf3z81ccixwywndd9zb7p47zdr";
 
   nativeBuildInputs = [ python3 pkg-config ];
   buildInputs = [ cairo libxkbcommon xorg.xcbutilkeysyms ];
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/wsr.nix b/nixpkgs/pkgs/applications/window-managers/i3/wsr.nix
index 6799473470b2..6af5717916bf 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/wsr.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/wsr.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "i3wsr";
-  version = "2.0.0";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "roosta";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-PluczllPRlfzoM2y552YJirrX5RQZQAkBQkner7fWhU=";
+    sha256 = "sha256-JzQWfC0kmnMArpIAE5fgb3YLmXktSCH5aUdrQH9pCbo=";
   };
 
-  cargoSha256 = "sha256-GwRiyAHTcRoByxUViXSwslb+IAP6LK8IWZ0xICQ8qag=";
+  cargoSha256 = "sha256-ZvSdJLaw1nfaqpTBKIiHiXvNFSZhsmLk0PBrV6ykv/w=";
 
   nativeBuildInputs = [ python3 ];
   buildInputs = [ libxcb ];
diff --git a/nixpkgs/pkgs/applications/window-managers/icewm/default.nix b/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
index 8f1a920296ae..77ed0c561cd4 100644
--- a/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
@@ -30,7 +30,7 @@
 , libpthreadstubs
 , libsndfile
 , libtiff
-, libungif
+, giflib
 , libxcb
 , mkfontdir
 , pcre
@@ -39,13 +39,13 @@
 
 stdenv.mkDerivation rec {
   pname = "icewm";
-  version = "2.2.0";
+  version = "2.3.4";
 
   src = fetchFromGitHub {
-    owner  = "bbidulock";
+    owner  = "ice-wm";
     repo = pname;
     rev = version;
-    hash = "sha256-STM8t311lf0xIqs2Onmwg48xgE7V9VZrUfJrUzYRxL4=";
+    hash = "sha256-UyLefj0eY/m3Of51NdhMNMq3z+kaLK28zDe63hbDK5A=";
   };
 
   nativeBuildInputs = [
@@ -81,7 +81,7 @@ stdenv.mkDerivation rec {
     libpthreadstubs
     libsndfile
     libtiff
-    libungif
+    giflib
     libxcb
     mkfontdir
     pcre
diff --git a/nixpkgs/pkgs/applications/window-managers/kbdd/default.nix b/nixpkgs/pkgs/applications/window-managers/kbdd/default.nix
index 8f684fec620f..2aade3607451 100644
--- a/nixpkgs/pkgs/applications/window-managers/kbdd/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/kbdd/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation {
   pname = "kbdd";
-  version = "unstable-2017-01-29";
+  version = "unstable-2021-04-26";
 
   src = fetchFromGitHub {
     owner = "qnikst";
     repo = "kbdd";
-    rev = "0e1056f066ab6e3c74fd0db0c9710a9a2b2538c3";
-    sha256 = "068iqkqxh7928xlmz2pvnykszn9bcq2qgkkiwf37k1vm8fdmgzlj";
+    rev = "3145099e1fbbe65b27678be72465aaa5b5872874";
+    sha256 = "1gzcjnflgdqnjgphiqpzwbcx60hm0h2cprncm7i8xca3ln5q6ba1";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Simple daemon and library to make per window layout using XKB";
     homepage = "https://github.com/qnikst/kbdd";
-    license = lib.licenses.gpl3;
+    license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.wedens ];
   };
diff --git a/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix b/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix
index bab0439bf8bc..f4b72197f540 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.6";
+  version = "0.2.7";
 
   src = fetchFromGitHub {
     owner = "leftwm";
     repo = "leftwm";
     rev = version;
-    sha256 = "sha256-hirT0gScC2LFPvygywgPiSVDUE/Zd++62wc26HlufYU=";
+    sha256 = "sha256-nRPt+Tyfq62o+3KjsXkHQHUMMslHFGNBd3s2pTb7l4w=";
   };
 
-  cargoSha256 = "sha256-j57LHPU3U3ipUGQDrZ8KCuELOVJ3BxhLXsJePOO6rTM=";
+  cargoSha256 = "sha256-lmzA7XM8B5QJI4Wo0cKeMR3+np6jT6mdGzTry4g87ng=";
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ libX11 libXinerama ];
diff --git a/nixpkgs/pkgs/applications/window-managers/lemonbar/default.nix b/nixpkgs/pkgs/applications/window-managers/lemonbar/default.nix
index 88d4b8360a50..8f553eb4b554 100644
--- a/nixpkgs/pkgs/applications/window-managers/lemonbar/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/lemonbar/default.nix
@@ -1,22 +1,25 @@
-{ lib, stdenv, fetchurl, perl, libxcb }:
+{ lib, stdenv, fetchFromGitHub, perl, libxcb }:
 
-stdenv.mkDerivation {
-  name = "lemonbar-1.4";
+stdenv.mkDerivation rec {
+  pname = "lemonbar";
+  version = "1.4";
 
-  src = fetchurl {
-    url    = "https://github.com/LemonBoy/bar/archive/v1.4.tar.gz";
-    sha256 = "0fa91vb968zh6fyg97kdaix7irvqjqhpsb6ks0ggcl59lkbkdzbv";
+  src = fetchFromGitHub {
+    owner = "LemonBoy";
+    repo = "bar";
+    rev = "v${version}";
+    sha256 = "sha256-lmppcnQ8r4jEuhegpTBxYqxfTTS/IrbtQVZ44HqnoWo=";
   };
 
   buildInputs = [ libxcb perl ];
 
-  prePatch = ''sed -i "s@/usr@$out@" Makefile'';
+  installFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
 
   meta = with lib; {
     description = "A lightweight xcb based bar";
     homepage = "https://github.com/LemonBoy/bar";
-    maintainers = [ maintainers.meisternu ];
-    license = "Custom";
+    maintainers = with maintainers; [ meisternu fortuneteller2k ];
+    license = licenses.mit;
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/lemonbar/xft.nix b/nixpkgs/pkgs/applications/window-managers/lemonbar/xft.nix
index b318b39709a7..54e7820ec4c2 100644
--- a/nixpkgs/pkgs/applications/window-managers/lemonbar/xft.nix
+++ b/nixpkgs/pkgs/applications/window-managers/lemonbar/xft.nix
@@ -1,23 +1,25 @@
 { lib, stdenv, fetchFromGitHub, perl, libxcb, libXft }:
 
 stdenv.mkDerivation {
-  name = "lemonbar-xft-unstable-2016-02-17";
+  pname = "lemonbar-xft";
+  version = "unstable-2020-09-10";
 
   src = fetchFromGitHub {
-    owner  = "krypt-n";
-    repo   = "bar";
-    rev    = "a43b801ddc0f015ce8b1211f4c062fad12cd63a9";
-    sha256 = "0iqas07qjvabxyvna2m9aj5bcwnkdii1izl9jxha63vz0zlsc4gd";
+    owner = "drscream";
+    repo = "lemonbar-xft";
+    rev = "481e12363e2a0fe0ddd2176a8e003392be90ed02";
+    sha256 = "sha256-BNYBbUouqqsRQaPkpg+UKg62IV9uI34gKJuiAM94CBU=";
   };
 
   buildInputs = [ libxcb libXft perl ];
 
-  prePatch = ''sed -i "s@/usr@$out@" Makefile'';
+  installFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
 
-  meta = {
+  meta = with lib; {
     description = "A lightweight xcb based bar with XFT-support";
-    homepage = "https://github.com/krypt-n/bar";
-    license = "Custom";
-    platforms = lib.platforms.linux;
+    homepage = "https://github.com/drscream/lemonbar-xft";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ fortuneteller2k ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/phosh/default.nix b/nixpkgs/pkgs/applications/window-managers/phosh/default.nix
new file mode 100644
index 000000000000..64677c8505f5
--- /dev/null
+++ b/nixpkgs/pkgs/applications/window-managers/phosh/default.nix
@@ -0,0 +1,158 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, meson
+, ninja
+, pkg-config
+, python3
+, wrapGAppsHook
+, libhandy
+, libxkbcommon
+, pulseaudio
+, glib
+, gtk3
+, gnome
+, gcr
+, pam
+, systemd
+, upower
+, wayland
+, dbus
+, xvfb-run
+, phoc
+, feedbackd
+, networkmanager
+, polkit
+, libsecret
+, writeText
+}:
+
+let
+  gvc = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "GNOME";
+    repo = "libgnome-volume-control";
+    rev = "ae1a34aafce7026b8c0f65a43c9192d756fe1057";
+    sha256 = "0a4qh5pgyjki904qf7qmvqz2ksxb0p8xhgl2aixfbhixn0pw6saw";
+  };
+
+  executable = writeText "phosh" ''
+    PHOC_INI=@out@/share/phosh/phoc.ini
+    GNOME_SESSION_ARGS="--disable-acceleration-check --session=phosh --debug"
+
+    if [ -f /etc/phosh/phoc.ini ]; then
+      PHOC_INI=/etc/phosh/phoc.ini
+    elif  [ -f /etc/phosh/rootston.ini ]; then
+      # honor old configs
+      PHOC_INI=/etc/phosh/rootston.ini
+    fi
+
+    # Run gnome-session through a login shell so it picks
+    # variables from /etc/profile.d (XDG_*)
+    [ -n "$WLR_BACKENDS" ] || WLR_BACKENDS=drm,libinput
+    export WLR_BACKENDS
+    exec "${phoc}/bin/phoc" -C "$PHOC_INI" \
+      -E "bash -lc 'XDG_DATA_DIRS=$XDG_DATA_DIRS:\$XDG_DATA_DIRS ${gnome.gnome-session}/bin/gnome-session $GNOME_SESSION_ARGS'"
+  '';
+
+in stdenv.mkDerivation rec {
+  pname = "phosh";
+  version = "0.10.2";
+
+  src = fetchFromGitLab {
+    domain = "source.puri.sm";
+    owner = "Librem5";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "07i8wpzl7311dcf9s57s96qh1v672c75wv6cllrxx7fsmpf8fhx4";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    python3
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    phoc
+    libhandy
+    libsecret
+    libxkbcommon
+    pulseaudio
+    glib
+    gcr
+    networkmanager
+    polkit
+    gnome.gnome-control-center
+    gnome.gnome-desktop
+    gnome.gnome-session
+    gtk3
+    pam
+    systemd
+    upower
+    wayland
+    feedbackd
+  ];
+
+  checkInputs = [
+    dbus
+    xvfb-run
+  ];
+
+  # Temporarily disabled - Test is broken (SIGABRT)
+  doCheck = false;
+
+  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
+  '';
+
+  checkPhase = ''
+    runHook preCheck
+    export NO_AT_BRIDGE=1
+    xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
+      --config-file=${dbus.daemon}/share/dbus-1/session.conf \
+      meson test --print-errorlogs
+    runHook postCheck
+  '';
+
+  # Replace the launcher script with ours
+  postInstall = ''
+    substituteAll ${executable} $out/bin/phosh
+  '';
+
+  # Depends on GSettings schemas in gnome-shell
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix XDG_DATA_DIRS : "${gnome.gnome-shell}/share/gsettings-schemas/${gnome.gnome-shell.name}"
+    )
+  '';
+
+  postFixup = ''
+    mkdir -p $out/share/wayland-sessions
+    ln -s $out/share/applications/sm.puri.Phosh.desktop $out/share/wayland-sessions/
+    # The OSK0.desktop points to a dummy stub that's not needed
+    rm $out/share/applications/sm.puri.OSK0.desktop
+  '';
+
+  passthru = {
+    providedSessions = [
+     "sm.puri.Phosh"
+    ];
+  };
+
+  meta = with lib; {
+    description = "A pure Wayland shell prototype for GNOME on mobile devices";
+    homepage = "https://source.puri.sm/Librem5/phosh";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ archseer jtojnar masipcat zhaofengli ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/window-managers/qtile/default.nix b/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
index 21059c25afb1..ba7228f5b961 100644
--- a/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
@@ -38,7 +38,7 @@ python37Packages.buildPythonApplication rec {
     xcffib
     cairocffi-xcffib
     setuptools
-    setuptools_scm
+    setuptools-scm
     dateutil
     dbus-python
     mpd2
diff --git a/nixpkgs/pkgs/applications/window-managers/river/default.nix b/nixpkgs/pkgs/applications/window-managers/river/default.nix
index 5c20bd17fc72..6fbcf1b28703 100644
--- a/nixpkgs/pkgs/applications/window-managers/river/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/river/default.nix
@@ -1,44 +1,71 @@
-{ lib, stdenv ,fetchFromGitHub
-, zig, wayland, pkg-config, scdoc
-, xwayland, wayland-protocols, wlroots
-, libxkbcommon, pixman, udev, libevdev, libX11, libGL
+{ lib
+, stdenv
+, fetchFromGitHub
+, zig
+, wayland
+, pkg-config
+, scdoc
+, xwayland
+, wayland-protocols
+, wlroots
+, libxkbcommon
+, pixman
+, udev
+, libevdev
+, libX11
+, libGL
 }:
 
 stdenv.mkDerivation rec {
   pname = "river";
-  version = "unstable-2021-04-08";
+  version = "unstable-2021-06-06";
 
   src = fetchFromGitHub {
     owner = "ifreund";
-    repo = "river";
-    rev = "9e3e92050e04320949c6cd995273c30319ebd515";
-    sha256 = "1v8dpbadsb3c7bc84sai09dbqv5s5s5d77vs12kdkd45x0ppmk3j";
+    repo = pname;
+    rev = "0e9dc089d14e2b5c923d483c62d342af29493cf0";
+    sha256 = "sha256-2rIZYr9Y+IBrox5MVrPpHeI8OVSXHsMZmcCagsX56lU=";
     fetchSubmodules = true;
   };
 
-  buildInputs = [ xwayland wayland-protocols wlroots pixman
-    libxkbcommon pixman udev libevdev libX11 libGL
+  nativeBuildInputs = [ zig wayland xwayland scdoc pkg-config ];
+
+  buildInputs = [
+    wayland-protocols
+    wlroots
+    pixman
+    libxkbcommon
+    pixman
+    udev
+    libevdev
+    libX11
+    libGL
   ];
 
+  dontConfigure = true;
+
   preBuild = ''
     export HOME=$TMPDIR
   '';
-  installPhase = ''
-    zig build -Drelease-safe -Dxwayland -Dman-pages --prefix $out install
-   '';
 
-  nativeBuildInputs = [ zig wayland scdoc pkg-config ];
+  installPhase = ''
+    runHook preInstall
+    zig build -Drelease-safe -Dcpu=baseline -Dxwayland -Dman-pages --prefix $out install
+    runHook postInstall
+  '';
 
+  /*
+    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
+  */
   installFlags = [ "DESTDIR=$(out)" ];
 
   meta = with lib; {
-    description = "A dynamic tiling wayland compositor";
-    longDescription = ''
-      river is a dynamic tiling wayland compositor that takes inspiration from dwm and bspwm.
-    '';
     homepage = "https://github.com/ifreund/river";
+    description = "A dynamic tiling wayland compositor";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ branwright1 ];
+    maintainers = with maintainers; [ fortuneteller2k ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/stumpwm/default.nix b/nixpkgs/pkgs/applications/window-managers/stumpwm/default.nix
deleted file mode 100644
index 0f8d933a06db..000000000000
--- a/nixpkgs/pkgs/applications/window-managers/stumpwm/default.nix
+++ /dev/null
@@ -1,103 +0,0 @@
-{ lib, stdenv, fetchgit, autoconf, sbcl, lispPackages, xdpyinfo, texinfo4
-, makeWrapper , rlwrap, gnused, gnugrep, coreutils, xprop
-, extraModulePaths ? []
-, version }:
-
-let
-  contrib = (fetchgit {
-    url = "https://github.com/stumpwm/stumpwm-contrib.git";
-    rev = "9bebe3622b2b6c31a6bada9055ef3862fa79b86f";
-    sha256 = "1ml6mjk2fsfv4sf65fdbji3q5x0qiq99g1k8w7a99gsl2i8h60gc";
-  });
-  versionSpec = {
-    latest = {
-      name = "1.0.0";
-      rev = "refs/tags/1.0.0";
-      sha256 = "16r0lwhxl8g71masmfbjr7s7m7fah4ii4smi1g8zpbpiqjz48ryb";
-      patches = [];
-    };
-    "0.9.9" = {
-      name = "0.9.9";
-      rev = "refs/tags/0.9.9";
-      sha256 = "0hmvbdk2yr5wrkiwn9dfzf65s4xc2qifj0sn6w2mghzp96cph79k";
-      patches = [ ./fix-module-path.patch ];
-    };
-    git = {
-        name = "git-20170203";
-        rev = "d20f24e58ab62afceae2afb6262ffef3cc318b97";
-        sha256 = "1gi29ds1x6dq7lz8lamnhcvcrr3cvvrg5yappfkggyhyvib1ii70";
-        patches = [];
-    };
-  }.${version};
-in
-stdenv.mkDerivation {
-  name = "stumpwm-${versionSpec.name}";
-
-  src = fetchgit {
-    url = "https://github.com/stumpwm/stumpwm";
-    rev = versionSpec.rev;
-    sha256 = versionSpec.sha256;
-  };
-
-  # NOTE: The patch needs an update for the next release.
-  # `(stumpwm:set-module-dir "@MODULE_DIR@")' needs to be in it.
-  patches = versionSpec.patches;
-
-  buildInputs = [
-    texinfo4 makeWrapper autoconf
-    sbcl
-    lispPackages.clx
-    lispPackages.cl-ppcre
-    lispPackages.alexandria
-    xdpyinfo
-  ];
-
-
-  # Stripping destroys the generated SBCL image
-  dontStrip = true;
-
-  configurePhase = ''
-    ./autogen.sh
-    ./configure --prefix=$out --with-module-dir=$out/share/stumpwm/modules
-  '';
-
-  preBuild = ''
-    cp -r --no-preserve=mode ${contrib} modules
-    substituteInPlace  head.lisp \
-      --replace 'run-shell-command "xdpyinfo' 'run-shell-command "${xdpyinfo}/bin/xdpyinfo'
-  '';
-
-  installPhase = ''
-    mkdir -pv $out/bin
-    make install
-
-    mkdir -p $out/share/stumpwm/modules
-    cp -r modules/* $out/share/stumpwm/modules/
-    for d in ${lib.concatStringsSep " " extraModulePaths}; do
-      cp -r --no-preserve=mode "$d" $out/share/stumpwm/modules/
-    done
-
-    # Copy stumpish;
-    cp $out/share/stumpwm/modules/util/stumpish/stumpish $out/bin/
-    chmod +x $out/bin/stumpish
-    wrapProgram $out/bin/stumpish \
-      --prefix PATH ":" "${lib.makeBinPath [ rlwrap gnused gnugrep coreutils xprop ]}"
-
-    # Paths in the compressed image $out/bin/stumpwm are not
-    # recognized by Nix. Add explicit reference here.
-    mkdir $out/nix-support
-    echo ${xdpyinfo} > $out/nix-support/xdpyinfo
-  '';
-
-  passthru = {
-    inherit sbcl lispPackages contrib;
-  };
-
-  meta = with lib; {
-    description = "A tiling window manager for X11";
-    homepage    = "https://github.com/stumpwm/";
-    license     = licenses.gpl2Plus;
-    platforms   = platforms.linux;
-    broken = true; # 2018-04-11
-  };
-}
diff --git a/nixpkgs/pkgs/applications/window-managers/stumpwm/fix-module-path.patch b/nixpkgs/pkgs/applications/window-managers/stumpwm/fix-module-path.patch
deleted file mode 100644
index 79bfaad3dec3..000000000000
--- a/nixpkgs/pkgs/applications/window-managers/stumpwm/fix-module-path.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/make-image.lisp.in b/make-image.lisp.in
-index 121e9d6..2210242 100644
---- a/make-image.lisp.in
-+++ b/make-image.lisp.in
-@@ -2,7 +2,10 @@
- 
- (load "load-stumpwm.lisp")
- 
--#-ecl (stumpwm:set-module-dir "@CONTRIB_DIR@")
-+(setf asdf::*immutable-systems*
-+      (uiop:list-to-hash-set (asdf:already-loaded-systems)))
-+
-+#-ecl (stumpwm:set-module-dir "@MODULE_DIR@")
- 
- #+sbcl
- (sb-ext:save-lisp-and-die "stumpwm" :toplevel (lambda ()
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/default.nix b/nixpkgs/pkgs/applications/window-managers/sway/default.nix
index 76a135c2dcc1..f9cf48a78e07 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sway/default.nix
@@ -2,9 +2,11 @@
 , meson, ninja, pkg-config, wayland, scdoc
 , libxkbcommon, pcre, json_c, libevdev, pango, cairo, libinput, librsvg
 , wlroots, wayland-protocols, libdrm
-
 , gdkPixbufSupport ? true, gdk-pixbuf
 , xwaylandSupport ? !(lib.elem "-Dxwayland=disabled" (wlroots.mesonFlags or []))
+, nixosTests
+# Used by the NixOS module:
+, isNixOS ? false
 }:
 
 stdenv.mkDerivation rec {
@@ -28,6 +30,10 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  postPatch = lib.optionalString isNixOS ''
+    echo -e '\ninclude /etc/sway/config.d/*' >> config.in
+  '';
+
   nativeBuildInputs = [
     meson ninja pkg-config wayland scdoc
   ];
@@ -43,6 +49,8 @@ stdenv.mkDerivation rec {
   ] ++ lib.optional gdkPixbufSupport "-Dgdk-pixbuf=enabled"
     ++ lib.optional xwaylandSupport "-Dxwayland=enabled";
 
+  passthru.tests.basic = nixosTests.sway;
+
   meta = with lib; {
     description = "An i3-compatible tiling Wayland compositor";
     longDescription = ''
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix b/nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix
index 319023eb2e5a..07459295d759 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix
@@ -4,6 +4,8 @@
 , withBaseWrapper ? true, extraSessionCommands ? "", dbus
 , withGtkWrapper ? false, wrapGAppsHook, gdk-pixbuf, glib, gtk3
 , extraOptions ? [] # E.g.: [ "--verbose" ]
+# Used by the NixOS module:
+, isNixOS ? false
 }:
 
 assert extraSessionCommands != "" -> withBaseWrapper;
@@ -11,24 +13,26 @@ assert extraSessionCommands != "" -> withBaseWrapper;
 with lib;
 
 let
+  sway = sway-unwrapped.override { inherit isNixOS; };
   baseWrapper = writeShellScriptBin "sway" ''
      set -o errexit
      if [ ! "$_SWAY_WRAPPER_ALREADY_EXECUTED" ]; then
+       export XDG_CURRENT_DESKTOP=sway
        ${extraSessionCommands}
        export _SWAY_WRAPPER_ALREADY_EXECUTED=1
      fi
      if [ "$DBUS_SESSION_BUS_ADDRESS" ]; then
        export DBUS_SESSION_BUS_ADDRESS
-       exec ${sway-unwrapped}/bin/sway "$@"
+       exec ${sway}/bin/sway "$@"
      else
-       exec ${dbus}/bin/dbus-run-session ${sway-unwrapped}/bin/sway "$@"
+       exec ${dbus}/bin/dbus-run-session ${sway}/bin/sway "$@"
      fi
    '';
 in symlinkJoin {
-  name = "sway-${sway-unwrapped.version}";
+  name = "sway-${sway.version}";
 
   paths = (optional withBaseWrapper baseWrapper)
-    ++ [ sway-unwrapped ];
+    ++ [ sway ];
 
   nativeBuildInputs = [ makeWrapper ]
     ++ (optional withGtkWrapper wrapGAppsHook);
@@ -48,5 +52,5 @@ in symlinkJoin {
 
   passthru.providedSessions = [ "sway" ];
 
-  inherit (sway-unwrapped) meta;
+  inherit (sway) meta;
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/wsr.nix b/nixpkgs/pkgs/applications/window-managers/sway/wsr.nix
index 15bf977f8fd9..64d9fd7d7db3 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/wsr.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sway/wsr.nix
@@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "0bmpbhyvgnbi5baj6v0wdxpdh9cnlzvcc44vh3vihmzsp6i5q05a";
   };
 
-  cargoSha256 = "15wa03279lflr16a6kw7zcn3nvalnjydk9g6nj7xqxmc7zkpf0rm";
+  cargoSha256 = "1pmkyw60ggn5filb47nyf97g1arrw7nfa4yjndnx35zw12mkj61d";
 
   nativeBuildInputs = [ python3 ];
   buildInputs = [ libxcb ];
diff --git a/nixpkgs/pkgs/applications/window-managers/taffybar/default.nix b/nixpkgs/pkgs/applications/window-managers/taffybar/default.nix
index cc457f815899..7d9e5f9c1cb0 100644
--- a/nixpkgs/pkgs/applications/window-managers/taffybar/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/taffybar/default.nix
@@ -1,7 +1,9 @@
-{ lib, stdenv, ghcWithPackages, makeWrapper, packages ? (x: []) }:
+{ lib, stdenv, ghcWithPackages, taffybar, makeWrapper, packages ? (x: []) }:
 
 let
-taffybarEnv = ghcWithPackages (self: [ self.taffybar ] ++ packages self);
+  taffybarEnv = ghcWithPackages (self: [
+    self.taffybar
+  ] ++ packages self);
 in stdenv.mkDerivation {
   name = "taffybar-with-packages-${taffybarEnv.version}";
 
@@ -13,8 +15,14 @@ in stdenv.mkDerivation {
       --set NIX_GHC "${taffybarEnv}/bin/ghc"
   '';
 
-  meta = {
-    platforms = lib.platforms.unix;
-    license = lib.licenses.bsd3;
-  };
+  # Trivial derivation
+  preferLocalBuild = true;
+  allowSubstitutes = false;
+
+  # For hacking purposes
+  passthru.env = taffybarEnv;
+  buildInputs = [ taffybarEnv ];
+  shellHook = "eval $(egrep ^export ${taffybarEnv}/bin/ghc)";
+
+  inherit (taffybar) meta;
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/waybox/default.nix b/nixpkgs/pkgs/applications/window-managers/waybox/default.nix
index 007e4dcc568b..ad3028b4ac03 100644
--- a/nixpkgs/pkgs/applications/window-managers/waybox/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/waybox/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "waybox";
-  version = "unstable-2020-05-01";
+  version = "unstable-2021-04-07";
 
   src = fetchFromGitHub {
     owner = "wizbright";
     repo = pname;
-    rev = "93811898f0eea3035145f593938d49d5af759b46";
-    sha256 = "IOdKOqAQD87Rs3td8NVEgMnRF6kQSuQ64UVqeVqMBSM=";
+    rev = "309ccd2faf08079e698104b19eff32b3a255b947";
+    hash = "sha256-G32cGmOwmnuVlj1hCq9NRti6plJbkAktfzM4aYzQ+k8=";
   };
 
   nativeBuildInputs = [ pkg-config meson ninja ];
diff --git a/nixpkgs/pkgs/applications/window-managers/wayfire/default.nix b/nixpkgs/pkgs/applications/window-managers/wayfire/default.nix
index 303ffc35fc71..42b376a97f80 100644
--- a/nixpkgs/pkgs/applications/window-managers/wayfire/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/wayfire/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wayfire";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchurl {
     url = "https://github.com/WayfireWM/wayfire/releases/download/v${version}/wayfire-${version}.tar.xz";
-    sha256 = "19k9nk5whql03ik66i06r4xgxk5v7mpdphjpv13hdw8ba48w73hd";
+    sha256 = "0wgvwbmdhn7gkdr2jl9jndgvl6w4x7ys8gmpj55gqh9b57wqhyaq";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config wayland ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://wayfire.org/";
-    description = "3D wayland compositor";
+    description = "3D Wayland compositor";
     license = licenses.mit;
     maintainers = with maintainers; [ qyliss wucke13 ];
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/applications/window-managers/wayfire/wf-config.nix b/nixpkgs/pkgs/applications/window-managers/wayfire/wf-config.nix
index b8e4c6aa7701..d1e653cc9e04 100644
--- a/nixpkgs/pkgs/applications/window-managers/wayfire/wf-config.nix
+++ b/nixpkgs/pkgs/applications/window-managers/wayfire/wf-config.nix
@@ -1,18 +1,25 @@
-{ stdenv, lib, fetchurl, meson, ninja, pkg-config, glm, libevdev, libxml2 }:
+{ stdenv, lib, fetchurl, cmake, meson, ninja, pkg-config
+, doctest, glm, libevdev, libxml2
+}:
 
 stdenv.mkDerivation rec {
   pname = "wf-config";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchurl {
     url = "https://github.com/WayfireWM/wf-config/releases/download/v${version}/wf-config-${version}.tar.xz";
-    sha256 = "1bas5gsbnf8jxkkxd95992chz8yk5ckgg7r09gfnmm7xi8w0pyy7";
+    sha256 = "1w75yxhz0nvw4mlv38sxp8k8wb5h99b51x3fdvizc3yaxanqa8kx";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config ];
-  buildInputs = [ libevdev libxml2 ];
+  nativeBuildInputs = [ cmake meson ninja pkg-config ];
+  buildInputs = [ doctest libevdev libxml2 ];
   propagatedBuildInputs = [ glm ];
 
+  # CMake is just used for finding doctest.
+  dontUseCmakeConfigure = true;
+
+  doCheck = true;
+
   meta = with lib; {
     homepage = "https://github.com/WayfireWM/wf-config";
     description = "Library for managing configuration files, written for Wayfire";
diff --git a/nixpkgs/pkgs/applications/window-managers/wayfire/wf-shell.nix b/nixpkgs/pkgs/applications/window-managers/wayfire/wf-shell.nix
index cc99e79fca8d..bd9bcb30d107 100644
--- a/nixpkgs/pkgs/applications/window-managers/wayfire/wf-shell.nix
+++ b/nixpkgs/pkgs/applications/window-managers/wayfire/wf-shell.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, meson, ninja, pkg-config, wayland, git
-, alsaLib, gtkmm3, gtk-layer-shell, pulseaudio, wayfire, wf-config
+, alsa-lib, gtkmm3, gtk-layer-shell, pulseaudio, wayfire, wf-config
 }:
 
 stdenv.mkDerivation rec {
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ meson ninja pkg-config wayland ];
   buildInputs = [
-    alsaLib gtkmm3 gtk-layer-shell pulseaudio wayfire wf-config
+    alsa-lib gtkmm3 gtk-layer-shell pulseaudio wayfire wf-config
   ];
 
   mesonFlags = [ "--sysconfdir" "/etc" ];
diff --git a/nixpkgs/pkgs/applications/window-managers/windowmaker/default.nix b/nixpkgs/pkgs/applications/window-managers/windowmaker/default.nix
index e56ff2512c10..8c354c616fd2 100644
--- a/nixpkgs/pkgs/applications/window-managers/windowmaker/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/windowmaker/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, pkg-config
 , libX11, libXext, libXft, libXmu, libXinerama, libXrandr, libXpm
-, imagemagick, libpng, libjpeg, libexif, libtiff, libungif, libwebp }:
+, imagemagick, libpng, libjpeg, libexif, libtiff, giflib, libwebp }:
 
 stdenv.mkDerivation rec {
   pname = "windowmaker";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [ libX11 libXext libXft libXmu libXinerama libXrandr libXpm
-                  imagemagick libpng libjpeg libexif libtiff libungif libwebp ];
+                  imagemagick libpng libjpeg libexif libtiff giflib libwebp ];
 
   configureFlags = [
     "--with-x"
diff --git a/nixpkgs/pkgs/applications/window-managers/windowmaker/dockapps/AlsaMixer-app.nix b/nixpkgs/pkgs/applications/window-managers/windowmaker/dockapps/AlsaMixer-app.nix
index 43080f2eae7d..e22b02825b75 100644
--- a/nixpkgs/pkgs/applications/window-managers/windowmaker/dockapps/AlsaMixer-app.nix
+++ b/nixpkgs/pkgs/applications/window-managers/windowmaker/dockapps/AlsaMixer-app.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, dockapps-sources, pkg-config, libX11, libXpm, libXext, alsaLib }:
+{ lib, stdenv, dockapps-sources, pkg-config, libX11, libXpm, libXext, alsa-lib }:
 
 stdenv.mkDerivation rec {
   pname = "AlsaMixer.app";
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   src = dockapps-sources;
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ libX11 libXpm libXext alsaLib ];
+  buildInputs = [ libX11 libXpm libXext alsa-lib ];
 
   setSourceRoot = ''
     export sourceRoot=$(echo */${pname})
diff --git a/nixpkgs/pkgs/applications/window-managers/wio/default.nix b/nixpkgs/pkgs/applications/window-managers/wio/default.nix
index c330bbe0e0f4..485fd0b8a623 100644
--- a/nixpkgs/pkgs/applications/window-managers/wio/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/wio/default.nix
@@ -1,4 +1,6 @@
-{ lib, stdenv, fetchgit
+{ lib
+, stdenv
+, fetchFromBitbucket
 , meson
 , ninja
 , pkg-config
@@ -17,23 +19,29 @@
 
 stdenv.mkDerivation rec {
   pname = "wio";
-  version = "unstable-2020-11-02";
+  version = "0.0.0+unstable=2021-06-01";
 
-  src = fetchgit {
-    url = "https://git.sr.ht/~sircmpwn/wio";
-    rev = "31b742e473b15a2087be740d1de28bc2afd47a4d";
-    sha256 = "1vpvlahv6dmr7vfb11p5cc5ds2y2vfvcb877nkqx18yin6pg357l";
+  src = fetchFromBitbucket {
+    owner = "anderson_torres";
+    repo = pname;
+    rev = "ad57eb45ba0459cd0b16ba486cb6e01626079c29";
+    sha256 = "sha256-mCggAscQ+Ej3SNwhA6QxecV1nH6Rw8RDf8yAsbadqjE=";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config makeWrapper ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    makeWrapper
+  ];
   buildInputs = [
     cairo
     libxkbcommon
+    mesa # for libEGL
     udev
     wayland
     wayland-protocols
     wlroots
-    mesa # for libEGL
     xwayland
   ];
 
@@ -43,15 +51,15 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
+    homepage = "https://wio-project.org/";
     description = "That Plan 9 feel, for Wayland";
     longDescription = ''
       Wio is a Wayland compositor for Linux and FreeBSD which has a similar look
       and feel to plan9's rio.
     '';
-    homepage = "https://wio-project.org/";
     license = licenses.mit;
-    platforms = with platforms; linux;
     maintainers = with maintainers; [ AndersonTorres ];
+    platforms = with platforms; linux;
   };
 
   passthru.providedSessions = [ "wio" ];
diff --git a/nixpkgs/pkgs/applications/window-managers/xmonad/log-applet/default.nix b/nixpkgs/pkgs/applications/window-managers/xmonad/log-applet/default.nix
index 830242667db6..2e41cc2c97c6 100644
--- a/nixpkgs/pkgs/applications/window-managers/xmonad/log-applet/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/xmonad/log-applet/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, glib, dbus-glib
 , desktopSupport ? "gnomeflashback", xorg
 , gtk2
-, gtk3, gnome3, mate
+, gtk3, gnome, mate
 , libxfce4util, xfce4-panel
 }:
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ glib dbus-glib xorg.xcbutilwm ]
-    ++ lib.optionals (desktopSupport == "gnomeflashback") [ gtk3 gnome3.gnome-panel ]
+    ++ lib.optionals (desktopSupport == "gnomeflashback") [ gtk3 gnome.gnome-panel ]
     ++ lib.optionals (desktopSupport == "mate") [ gtk3 mate.mate-panel ]
     ++ lib.optionals (desktopSupport == "xfce4") [ gtk2 libxfce4util xfce4-panel ]
   ;
diff --git a/nixpkgs/pkgs/applications/window-managers/yabar/build.nix b/nixpkgs/pkgs/applications/window-managers/yabar/build.nix
index ec15f7e36275..f9b5d227b0e8 100644
--- a/nixpkgs/pkgs/applications/window-managers/yabar/build.nix
+++ b/nixpkgs/pkgs/applications/window-managers/yabar/build.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cairo, gdk-pixbuf, libconfig, pango, pkg-config
-, xcbutilwm, alsaLib, wirelesstools, asciidoc, libxslt, makeWrapper, docbook_xsl
+, xcbutilwm, alsa-lib, wirelesstools, asciidoc, libxslt, makeWrapper, docbook_xsl
 , configFile ? null, lib
 , rev, sha256, version, patches ? []
 }:
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [
     cairo gdk-pixbuf libconfig pango xcbutilwm docbook_xsl
-    alsaLib wirelesstools asciidoc libxslt makeWrapper
+    alsa-lib wirelesstools asciidoc libxslt makeWrapper
   ];
 
   postPatch = ''