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-02-16 18:32:21 +0000
committerAlyssa Ross <hi@alyssa.is>2021-02-16 18:32:21 +0000
commit9becdcc5df71b47a5da84ad670e9a7eae9e0c65a (patch)
tree2ddf0335eb393f89501e3753b50c3f7ab0552d12 /nixpkgs/pkgs/applications/window-managers
parent49f2a77ac9abc88c253f68952eda26557fc3b555 (diff)
parentff96a0fa5635770390b184ae74debea75c3fd534 (diff)
downloadnixlib-9becdcc5df71b47a5da84ad670e9a7eae9e0c65a.tar
nixlib-9becdcc5df71b47a5da84ad670e9a7eae9e0c65a.tar.gz
nixlib-9becdcc5df71b47a5da84ad670e9a7eae9e0c65a.tar.bz2
nixlib-9becdcc5df71b47a5da84ad670e9a7eae9e0c65a.tar.lz
nixlib-9becdcc5df71b47a5da84ad670e9a7eae9e0c65a.tar.xz
nixlib-9becdcc5df71b47a5da84ad670e9a7eae9e0c65a.tar.zst
nixlib-9becdcc5df71b47a5da84ad670e9a7eae9e0c65a.zip
nixpkgs: merge nixos-unstable
Diffstat (limited to 'nixpkgs/pkgs/applications/window-managers')
-rw-r--r--nixpkgs/pkgs/applications/window-managers/btops/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/dwl/default.nix79
-rw-r--r--nixpkgs/pkgs/applications/window-managers/dwm/default.nix50
-rw-r--r--nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/dwm/git.nix37
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/gaps.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/pystatus.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/wk-switch.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/wmfocus.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/icewm/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/labwc/default.nix56
-rw-r--r--nixpkgs/pkgs/applications/window-managers/leftwm/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/window-managers/picom/default.nix86
-rw-r--r--nixpkgs/pkgs/applications/window-managers/qtile/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/waybox/default.nix45
-rw-r--r--nixpkgs/pkgs/applications/window-managers/wayfire/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/wayfire/wcm.nix12
-rw-r--r--nixpkgs/pkgs/applications/window-managers/wayfire/wf-config.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/wayfire/wf-shell.nix4
21 files changed, 310 insertions, 105 deletions
diff --git a/nixpkgs/pkgs/applications/window-managers/btops/default.nix b/nixpkgs/pkgs/applications/window-managers/btops/default.nix
index f0bb26f43e25..5f107337ee44 100644
--- a/nixpkgs/pkgs/applications/window-managers/btops/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/btops/default.nix
@@ -1,5 +1,5 @@
 # This file was generated by https://github.com/kamilchm/go2nix v1.2.1
-{ lib, stdenv, buildGoPackage, fetchgit }:
+{ lib, buildGoPackage, fetchgit }:
 
 buildGoPackage rec {
   pname = "btops";
diff --git a/nixpkgs/pkgs/applications/window-managers/dwl/default.nix b/nixpkgs/pkgs/applications/window-managers/dwl/default.nix
new file mode 100644
index 000000000000..9a56f865c348
--- /dev/null
+++ b/nixpkgs/pkgs/applications/window-managers/dwl/default.nix
@@ -0,0 +1,79 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, pkg-config
+, libxcb
+, libxkbcommon
+, wayland
+, wayland-protocols
+, wlroots
+, enable-xwayland ? true, xwayland, libX11
+, patches ? [ ]
+, conf ? null
+, writeText
+}:
+
+stdenv.mkDerivation rec {
+  pname = "dwl";
+  version = "0.1";
+
+  src = fetchFromGitHub {
+    owner = "djpohly";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "QoKaeF5DbSX0xciwc/0VKpubn/001cJjoZ+UzVDX4qE=";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [
+    libxcb
+    libxkbcommon
+    wayland
+    wayland-protocols
+    wlroots
+  ] ++ lib.optionals enable-xwayland [ xwayland libX11 ];
+
+  # Allow users to set their own list of patches
+  inherit patches;
+
+  prePatch = lib.optionalString enable-xwayland ''
+    sed -i -e '$ s|^#||' config.mk
+  '';
+
+  # Allow users to set an alternative config.def.h
+  postPatch = let
+    configFile = if lib.isDerivation conf || builtins.isPath conf
+                 then conf
+                 else writeText "config.def.h" conf;
+  in lib.optionalString (conf != null) "cp ${configFile} config.def.h";
+
+  dontConfigure = true;
+
+  installPhase = ''
+    runHook preInstall
+    install -d $out/bin
+    install -m755 dwl $out/bin
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/djpohly/dwl/";
+    description = "Dynamic window manager for Wayland";
+    longDescription = ''
+      dwl is a compact, hackable compositor for Wayland based on wlroots. It is
+      intended to fill the same space in the Wayland world that dwm does in X11,
+      primarily in terms of philosophy, and secondarily in terms of
+      functionality. Like dwm, dwl is:
+
+      - Easy to understand, hack on, and extend with patches
+      - One C source file (or a very small number) configurable via config.h
+      - Limited to 2000 SLOC to promote hackability
+      - Tied to as few external dependencies as possible
+    '';
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = with platforms; linux;
+  };
+}
+# 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 eb349e6f3b17..2c3ed2e47e88 100644
--- a/nixpkgs/pkgs/applications/window-managers/dwm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/dwm/default.nix
@@ -1,34 +1,46 @@
-{lib, stdenv, fetchurl, libX11, libXinerama, libXft, writeText, patches ? [], conf ? null}:
+{ lib, stdenv, fetchurl, libX11, libXinerama, libXft, writeText, patches ? [ ], conf ? null}:
 
-with lib;
-
-let
-  name = "dwm-6.2";
-in
-stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  pname = "dwm";
+  version = "6.2";
 
   src = fetchurl {
-    url = "https://dl.suckless.org/dwm/${name}.tar.gz";
+    url = "https://dl.suckless.org/dwm/${pname}-${version}.tar.gz";
     sha256 = "03hirnj8saxnsfqiszwl2ds7p0avg20izv9vdqyambks00p2x44p";
   };
 
   buildInputs = [ libX11 libXinerama libXft ];
 
-  prePatch = ''sed -i "s@/usr/local@$out@" config.mk'';
+  prePatch = ''
+    sed -i "s@/usr/local@$out@" config.mk
+  '';
 
   # Allow users set their own list of patches
   inherit patches;
 
   # Allow users to set the config.def.h file containing the configuration
-  postPatch = let configFile = if isDerivation conf || builtins.isPath conf then conf else writeText "config.def.h" conf;
-  in optionalString (conf!=null) "cp ${configFile} config.def.h";
-
-  meta = {
-    homepage = "https://suckless.org/";
-    description = "Dynamic window manager for X";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [viric];
-    platforms = with lib.platforms; all;
+  postPatch =
+    let
+      configFile =
+        if lib.isDerivation conf || builtins.isPath conf
+        then conf else writeText "config.def.h" conf;
+    in
+    lib.optionalString (conf != null) "cp ${configFile} config.def.h";
+
+  meta = with lib; {
+    homepage = "https://dwm.suckless.org/";
+    description = "An extremely fast, small, and dynamic window manager for X";
+    longDescription = ''
+      dwm is a dynamic window manager for X. It manages windows in tiled,
+      monocle and floating layouts. All of the layouts can be applied
+      dynamically, optimising the environment for the application in use and the
+      task performed.
+      Windows are grouped by tags. Each window can be tagged with one or
+      multiple tags. Selecting certain tags displays all windows with these
+      tags.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ viric ];
+    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 1724a2c9824c..d419b0ebe3a8 100644
--- a/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix
+++ b/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, rustPlatform, fetchFromGitHub, dbus, gdk-pixbuf, libnotify, makeWrapper, pkg-config, xorg
+{ lib, rustPlatform, fetchFromGitHub, dbus, gdk-pixbuf, libnotify, makeWrapper, pkg-config, xorg
 , enableAlsaUtils ? true, alsaUtils, coreutils
 , enableNetwork ? true, dnsutils, iproute, wirelesstools }:
 
diff --git a/nixpkgs/pkgs/applications/window-managers/dwm/git.nix b/nixpkgs/pkgs/applications/window-managers/dwm/git.nix
deleted file mode 100644
index 71e91b6093b3..000000000000
--- a/nixpkgs/pkgs/applications/window-managers/dwm/git.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib, stdenv, fetchgit, libX11, libXinerama, libXft, patches ? [], conf ? null }:
-
-let
-  name = "dwm-git-20180602";
-in
-
-stdenv.mkDerivation {
-  inherit name;
-
-  src = fetchgit {
-    url = "git://git.suckless.org/dwm";
-    rev = "b69c870a3076d78ab595ed1cd4b41cf6b03b2610";
-    sha256 = "10i079h79l4gdch1qy2vrrb2xxxkgkjmgphr5r9a75jbbagwvz0k";
-  };
-
-  buildInputs = [ libX11 libXinerama libXft ];
-
-  prePatch = ''sed -i "s@/usr/local@$out@" config.mk'';
-
-  # Allow users set their own list of patches
-  inherit patches;
-
-  # Allow users to override the entire config file AFTER appying the patches
-  postPatch = lib.optionalString (conf!=null) ''
-    echo -n '${conf}' > config.def.h
-  '';
-
-  buildPhase = "make";
-
-  meta = with lib; {
-    homepage = "https://suckless.org/";
-    description = "Dynamic window manager for X, development version";
-    license = licenses.mit;
-    maintainers = with maintainers; [xeji];
-    platforms = platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/gaps.nix b/nixpkgs/pkgs/applications/window-managers/i3/gaps.nix
index 52322d8e1948..d158aea83f3f 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/gaps.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/gaps.nix
@@ -1,13 +1,13 @@
-{ fetchurl, lib, stdenv, i3, autoreconfHook }:
+{ fetchurl, lib, i3, autoreconfHook }:
 
 i3.overrideAttrs (oldAttrs : rec {
 
   name = "i3-gaps-${version}";
-  version = "4.19";
+  version = "4.19.1";
 
   src = fetchurl {
     url = "https://github.com/Airblader/i3/releases/download/${version}/i3-${version}.tar.xz";
-    sha256 = "0j19kj05fpjfnj50vyykk6jsr07hq9l26y8na55bb7yfrra8yp4h";
+    sha256 = "sha256-+yZ4Pc7zPZfwgBKbjQsrlXxIaxJBmIdE47lljx8FZG0=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/pystatus.nix b/nixpkgs/pkgs/applications/window-managers/i3/pystatus.nix
index 404e7b41f556..bddaab615783 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/pystatus.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/pystatus.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , fetchFromGitHub
 , libpulseaudio
 , libnotify
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix b/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
index b9dbe6136b40..be7e88a25019 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , rustPlatform
 , fetchFromGitHub
 , pkg-config
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/wk-switch.nix b/nixpkgs/pkgs/applications/window-managers/i3/wk-switch.nix
index e7fd87aaf3b8..d0055ef63653 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/wk-switch.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/wk-switch.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python3Packages }:
+{ lib, fetchFromGitHub, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
   pname = "i3-wk-switch";
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/wmfocus.nix b/nixpkgs/pkgs/applications/window-managers/i3/wmfocus.nix
index db6ec29d9e98..9169cfc3817c 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/wmfocus.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/wmfocus.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform
+{ lib, fetchFromGitHub, rustPlatform
 , xorg, python3, pkg-config, cairo, libxkbcommon }:
 
 rustPlatform.buildRustPackage rec {
diff --git a/nixpkgs/pkgs/applications/window-managers/icewm/default.nix b/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
index 425f562dfd52..571c13e94619 100644
--- a/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
@@ -38,13 +38,13 @@
 
 stdenv.mkDerivation rec {
   pname = "icewm";
-  version = "2.0.0";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
     owner  = "bbidulock";
     repo = pname;
     rev = version;
-    sha256 = "sha256-WdRAWAQEf9c66MVrLAs5VgBDK5r4JKM2GrjAV4cuGfA=";
+    sha256 = "sha256-n9mLD1WrHsO9W1rxopFQENxQEHp/sxuixV3PxLp2vOY=";
   };
 
   nativeBuildInputs = [ cmake pkg-config perl asciidoc ];
diff --git a/nixpkgs/pkgs/applications/window-managers/labwc/default.nix b/nixpkgs/pkgs/applications/window-managers/labwc/default.nix
new file mode 100644
index 000000000000..9d39bd537fde
--- /dev/null
+++ b/nixpkgs/pkgs/applications/window-managers/labwc/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, meson
+, ninja
+, cairo
+, glib
+, libinput
+, libxml2
+, pandoc
+, pango
+, wayland
+, wayland-protocols
+, wlroots
+, libxcb
+, libxkbcommon
+, xwayland
+}:
+
+stdenv.mkDerivation rec {
+  pname = "labwc";
+  version = "unstable-2021-02-06";
+
+  src = fetchFromGitHub {
+    owner = "johanmalm";
+    repo = pname;
+    rev = "4a8fcf5c6d0b730b1e2e17e544ce7d7d3c72cd13";
+    sha256 = "g1ba8dchUN393eis0VAu1bIjQfthDGLaSijSavz4lfU=";
+  };
+
+  nativeBuildInputs = [ pkg-config meson ninja pandoc ];
+  buildInputs = [
+    cairo
+    glib
+    libinput
+    libxml2
+    pango
+    wayland
+    wayland-protocols
+    wlroots
+    libxcb
+    libxkbcommon
+    xwayland
+  ];
+
+  mesonFlags = [ "-Dxwayland=enabled" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/johanmalm/labwc";
+    description = "Openbox alternative for Wayland";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix b/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix
index 712e9ab22c77..72170401d793 100644
--- a/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, libX11, libXinerama, makeWrapper }:
+{ lib, fetchFromGitHub, rustPlatform, libX11, libXinerama, makeWrapper }:
 
 let
     rpath = lib.makeLibraryPath [ libXinerama libX11 ];
@@ -6,16 +6,16 @@ in
 
 rustPlatform.buildRustPackage rec {
   pname = "leftwm";
-  version = "0.2.5";
+  version = "0.2.6";
 
   src = fetchFromGitHub {
     owner = "leftwm";
     repo = "leftwm";
     rev = version;
-    sha256 = "03kk3vg0r88317zv8j2bj44wq2fwxi25rv1aasvayrh1i5j6zr10";
+    sha256 = "sha256-hirT0gScC2LFPvygywgPiSVDUE/Zd++62wc26HlufYU=";
   };
 
-  cargoSha256 = "0m4sv4chxzk60njixlyja44rpn04apf3bm04fgd3v7abpr169f2s";
+  cargoSha256 = "sha256-j57LHPU3U3ipUGQDrZ8KCuELOVJ3BxhLXsJePOO6rTM=";
 
   buildInputs = [ makeWrapper libX11 libXinerama ];
 
diff --git a/nixpkgs/pkgs/applications/window-managers/picom/default.nix b/nixpkgs/pkgs/applications/window-managers/picom/default.nix
index 4287dd2db020..32eee9df0d83 100644
--- a/nixpkgs/pkgs/applications/window-managers/picom/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/picom/default.nix
@@ -1,41 +1,82 @@
-{ stdenv, lib, fetchFromGitHub, pkg-config, uthash, asciidoc, docbook_xml_dtd_45
-, docbook_xsl, libxslt, libxml2, makeWrapper, meson, ninja
-, xorgproto, libxcb ,xcbutilrenderutil, xcbutilimage, pixman, libev
-, dbus, libconfig, libdrm, libGL, pcre, libX11
-, libXinerama, libXext, xwininfo, libxdg_basedir }:
+{ asciidoc
+, dbus
+, docbook_xml_dtd_45
+, docbook_xsl
+, fetchFromGitHub
+, lib
+, libconfig
+, libdrm
+, libev
+, libGL
+, libX11
+, libxcb
+, libxdg_basedir
+, libXext
+, libXinerama
+, libxml2
+, libxslt
+, makeWrapper
+, meson
+, ninja
+, pcre
+, pixman
+, pkg-config
+, stdenv
+, uthash
+, xcbutilimage
+, xcbutilrenderutil
+, xorgproto
+, xwininfo
+, withDebug ? false
+}:
 
 stdenv.mkDerivation rec {
   pname = "picom";
   version = "8.2";
 
   src = fetchFromGitHub {
-    owner  = "yshui";
-    repo   = "picom";
-    rev    = "v${version}";
+    owner = "yshui";
+    repo = "picom";
+    rev = "v${version}";
     sha256 = "0gjksayz2xpmgglvw17ppsan2imrd1fijs579kbf27xwp503xgfl";
     fetchSubmodules = true;
   };
 
   nativeBuildInputs = [
-    meson ninja
-    pkg-config
-    uthash
     asciidoc
     docbook_xml_dtd_45
     docbook_xsl
     makeWrapper
+    meson
+    ninja
+    pkg-config
+    uthash
   ];
 
   buildInputs = [
-    dbus libX11 libXext
-    xorgproto
-    libXinerama libdrm pcre libxml2 libxslt libconfig libGL
-    libxcb xcbutilrenderutil xcbutilimage
-    pixman libev
+    dbus
+    libconfig
+    libdrm
+    libev
+    libGL
+    libX11
+    libxcb
     libxdg_basedir
+    libXext
+    libXinerama
+    libxml2
+    libxslt
+    pcre
+    pixman
+    xcbutilimage
+    xcbutilrenderutil
+    xorgproto
   ];
 
-  mesonBuildType = "release";
+  # Use "debugoptimized" instead of "debug" so perhaps picom works better in
+  # normal usage too, not just temporary debugging.
+  mesonBuildType = if withDebug then "debugoptimized" else "release";
+  dontStrip = withDebug;
 
   mesonFlags = [
     "-Dwith_docs=true"
@@ -43,9 +84,13 @@ stdenv.mkDerivation rec {
 
   installFlags = [ "PREFIX=$(out)" ];
 
+  # In debug mode, also copy src directory to store. If you then run `gdb picom`
+  # in the bin directory of picom store path, gdb finds the source files.
   postInstall = ''
     wrapProgram $out/bin/picom-trans \
       --prefix PATH : ${lib.makeBinPath [ xwininfo ]}
+  '' + lib.optionalString withDebug ''
+    cp -r ../src $out/
   '';
 
   meta = with lib; {
@@ -56,6 +101,13 @@ stdenv.mkDerivation rec {
       extensions. It enables basic eye-candy effects. This fork adds
       additional features, such as additional effects, and a fork at a
       well-defined and proper place.
+
+      The package can be installed in debug mode as:
+
+        picom.override { withDebug = true; }
+
+      For gdb to find the source files, you need to run gdb in the bin directory
+      of picom package in the nix store.
     '';
     license = licenses.mit;
     homepage = "https://github.com/yshui/picom";
diff --git a/nixpkgs/pkgs/applications/window-managers/qtile/default.nix b/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
index 709a5b147362..21059c25afb1 100644
--- a/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python37Packages, glib, cairo, pango, pkg-config, libxcb, xcbutilcursor }:
+{ lib, fetchFromGitHub, python37Packages, glib, cairo, pango, pkg-config, libxcb, xcbutilcursor }:
 
 let cairocffi-xcffib = python37Packages.cairocffi.override {
     withXcffib = true;
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix b/nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix
index 0a80ce70e032..319023eb2e5a 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib
 , sway-unwrapped
 , makeWrapper, symlinkJoin, writeShellScriptBin
 , withBaseWrapper ? true, extraSessionCommands ? "", dbus
diff --git a/nixpkgs/pkgs/applications/window-managers/waybox/default.nix b/nixpkgs/pkgs/applications/window-managers/waybox/default.nix
new file mode 100644
index 000000000000..666b2406d5f4
--- /dev/null
+++ b/nixpkgs/pkgs/applications/window-managers/waybox/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, meson
+, ninja
+, libxkbcommon
+, wayland
+, wayland-protocols
+, wlroots
+, pixman
+, udev
+, libGL
+}:
+
+stdenv.mkDerivation rec {
+  pname = "waybox";
+  version = "unstable-2020-05-01";
+
+  src = fetchFromGitHub {
+    owner = "wizbright";
+    repo = pname;
+    rev = "93811898f0eea3035145f593938d49d5af759b46";
+    sha256 = "IOdKOqAQD87Rs3td8NVEgMnRF6kQSuQ64UVqeVqMBSM=";
+  };
+
+  nativeBuildInputs = [ pkg-config meson ninja ];
+  buildInputs = [
+    libxkbcommon
+    wayland
+    wayland-protocols
+    wlroots
+    pixman
+    udev
+    libGL
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/wizbright/waybox";
+    description = "An openbox clone on Wayland";
+    license = licenses.mit;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/window-managers/wayfire/default.nix b/nixpkgs/pkgs/applications/window-managers/wayfire/default.nix
index 513784b8b52b..cb9f2fe85a7e 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.6.0";
+  version = "0.7.0";
 
   src = fetchurl {
-    url = "https://github.com/WayfireWM/wayfire/releases/download/${version}/wayfire-${version}.tar.xz";
-    sha256 = "0wc5szslgf8d4r4dlbfgc5v49j2ziaa8fycmknq4p0vl67mh7acq";
+    url = "https://github.com/WayfireWM/wayfire/releases/download/v${version}/wayfire-${version}.tar.xz";
+    sha256 = "19k9nk5whql03ik66i06r4xgxk5v7mpdphjpv13hdw8ba48w73hd";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config wayland ];
diff --git a/nixpkgs/pkgs/applications/window-managers/wayfire/wcm.nix b/nixpkgs/pkgs/applications/window-managers/wayfire/wcm.nix
index 7c4b546c68ef..d6ac6aeb84e7 100644
--- a/nixpkgs/pkgs/applications/window-managers/wayfire/wcm.nix
+++ b/nixpkgs/pkgs/applications/window-managers/wayfire/wcm.nix
@@ -1,16 +1,14 @@
-{ stdenv, lib, fetchFromGitHub, meson, ninja, pkg-config, wayland, wrapGAppsHook
+{ stdenv, lib, fetchurl, meson, ninja, pkg-config, wayland, wrapGAppsHook
 , gnome3, libevdev, libxml2, wayfire, wayland-protocols, wf-config, wf-shell
 }:
 
 stdenv.mkDerivation rec {
   pname = "wcm";
-  version = "0.6.0";
+  version = "0.7.0";
 
-  src = fetchFromGitHub {
-    owner = "WayfireWM";
-    repo = "wcm";
-    rev = "v${version}";
-    sha256 = "1b22gymqfn0c49nf39676q5bj25rxab874iayiq31cmn14r30dyg";
+  src = fetchurl {
+    url = "https://github.com/WayfireWM/wcm/releases/download/v${version}/wcm-${version}.tar.xz";
+    sha256 = "19za1fnlf5hz4n4mxxwqcr5yxp6mga9ah539ifnjnqrgvj19cjlj";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config wayland wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/applications/window-managers/wayfire/wf-config.nix b/nixpkgs/pkgs/applications/window-managers/wayfire/wf-config.nix
index 00a4404c1d4e..b8e4c6aa7701 100644
--- a/nixpkgs/pkgs/applications/window-managers/wayfire/wf-config.nix
+++ b/nixpkgs/pkgs/applications/window-managers/wayfire/wf-config.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wf-config";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchurl {
-    url = "https://github.com/WayfireWM/wf-config/releases/download/${version}/wf-config-${version}.tar.xz";
-    sha256 = "1a5aqybhbp9dp4jygrm3gbkdap5qbd52y6ihfr4rm1cj37sckcn0";
+    url = "https://github.com/WayfireWM/wf-config/releases/download/v${version}/wf-config-${version}.tar.xz";
+    sha256 = "1bas5gsbnf8jxkkxd95992chz8yk5ckgg7r09gfnmm7xi8w0pyy7";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config ];
diff --git a/nixpkgs/pkgs/applications/window-managers/wayfire/wf-shell.nix b/nixpkgs/pkgs/applications/window-managers/wayfire/wf-shell.nix
index 6e5f189275b6..3948e9a32abc 100644
--- a/nixpkgs/pkgs/applications/window-managers/wayfire/wf-shell.nix
+++ b/nixpkgs/pkgs/applications/window-managers/wayfire/wf-shell.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wf-shell";
-  version = "0.6.1";
+  version = "0.7.0";
 
   # > Note to packagers: do not use the autogenerated "Source code"
   # > archives from GitHub, but the wf-shell-0.4.0.tar.xz file.
   src = fetchurl {
     url = "https://github.com/WayfireWM/wf-shell/releases/download/v${version}/wf-shell-${version}.tar.xz";
-    sha256 = "0jl8gj185k2ff754lcj5b5nldhkvrhmlaj8lsik4kx78vlb5m3ns";
+    sha256 = "1isybm9lcpxwyf6zh2vzkwrcnw3q7qxm21535g4f08f0l68cd5bl";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config wayland ];