diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/window-managers/sway')
3 files changed, 119 insertions, 15 deletions
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/contrib.nix b/nixpkgs/pkgs/applications/window-managers/sway/contrib.nix new file mode 100644 index 00000000000..fd44f4a5be5 --- /dev/null +++ b/nixpkgs/pkgs/applications/window-managers/sway/contrib.nix @@ -0,0 +1,95 @@ +{ stdenv + +, fetchurl +, coreutils +, makeWrapper +, sway-unwrapped +, installShellFiles +, wl-clipboard +, libnotify +, slurp +, grim +, jq + +, python3Packages +}: + +{ + +grimshot = stdenv.mkDerivation rec { + pname = "grimshot"; + version = sway-unwrapped.version; + + src = sway-unwrapped.src; + + dontBuild = true; + dontConfigure = true; + + outputs = [ "out" "man" ]; + + nativeBuildInputs = [ makeWrapper installShellFiles ]; + + installPhase = '' + installManPage contrib/grimshot.1 + + install -Dm 0755 contrib/grimshot $out/bin/grimshot + wrapProgram $out/bin/grimshot --set PATH \ + "${stdenv.lib.makeBinPath [ + sway-unwrapped + wl-clipboard + coreutils + libnotify + slurp + grim + jq + ] }" + ''; + + doInstallCheck = true; + + installCheckPhase = '' + # check always returns 0 + if [[ $($out/bin/grimshot check | grep "NOT FOUND") ]]; then false + else + echo "grimshot check passed" + fi + ''; + + meta = with stdenv.lib; { + description = "A helper for screenshots within sway"; + homepage = "https://github.com/swaywm/sway/tree/master/contrib"; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ + sway-unwrapped.meta.maintainers + evils + ]; + }; +}; + + +inactive-windows-transparency = python3Packages.buildPythonApplication rec { + # long name is long + lname = "inactive-windows-transparency"; + pname = "sway-${lname}"; + version = sway-unwrapped.version; + + src = sway-unwrapped.src; + + format = "other"; + dontBuild = true; + dontConfigure = true; + + propagatedBuildInputs = [ python3Packages.i3ipc ]; + + installPhase = '' + install -Dm 0755 $src/contrib/${lname}.py $out/bin/${lname}.py + ''; + + meta = sway-unwrapped.meta // { + description = "It makes inactive sway windows transparent"; + homepage = "https://github.com/swaywm/sway/tree/${sway-unwrapped.version}/contrib"; + }; +}; + +} diff --git a/nixpkgs/pkgs/applications/window-managers/sway/default.nix b/nixpkgs/pkgs/applications/window-managers/sway/default.nix index 66681ef0850..da58d844ee8 100644 --- a/nixpkgs/pkgs/applications/window-managers/sway/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/sway/default.nix @@ -1,20 +1,19 @@ { stdenv, fetchFromGitHub, makeWrapper -, meson, ninja -, pkgconfig, scdoc -, wayland, libxkbcommon, pcre, json_c, dbus, libevdev +, meson, ninja, pkg-config, wayland, scdoc +, libxkbcommon, pcre, json_c, dbus, libevdev , pango, cairo, libinput, libcap, pam, gdk-pixbuf, librsvg , wlroots, wayland-protocols }: stdenv.mkDerivation rec { pname = "sway-unwrapped"; - version = "1.4"; + version = "1.5"; src = fetchFromGitHub { owner = "swaywm"; repo = "sway"; rev = version; - sha256 = "11qf89y3q92g696a6f4d23qb44gqixg6qxq740vwv2jw59ms34ja"; + sha256 = "0r3b7h778l9i20z3him9i2qsaynpn9y78hzfgv3cqi8fyry2c4f9"; }; patches = [ @@ -22,8 +21,12 @@ stdenv.mkDerivation rec { ./load-configuration-from-etc.patch ]; + postPatch = '' + substituteInPlace meson.build --replace "v1.5" "1.5" + ''; + nativeBuildInputs = [ - pkgconfig meson ninja scdoc + meson ninja pkg-config wayland scdoc ]; buildInputs = [ @@ -32,16 +35,23 @@ stdenv.mkDerivation rec { wlroots wayland-protocols ]; - enableParallelBuilding = true; - mesonFlags = [ - "-Ddefault-wallpaper=false" "-Dxwayland=enabled" "-Dgdk-pixbuf=enabled" - "-Dtray=enabled" "-Dman-pages=enabled" + "-Ddefault-wallpaper=false" ]; meta = with stdenv.lib; { - description = "i3-compatible tiling Wayland compositor"; + description = "An i3-compatible tiling Wayland compositor"; + longDescription = '' + Sway is a tiling Wayland compositor and a drop-in replacement for the i3 + window manager for X11. It works with your existing i3 configuration and + supports most of i3's features, plus a few extras. + Sway allows you to arrange your application windows logically, rather + than spatially. Windows are arranged into a grid by default which + maximizes the efficiency of your screen and can be quickly manipulated + using only the keyboard. + ''; homepage = "https://swaywm.org"; + changelog = "https://github.com/swaywm/sway/releases/tag/${version}"; license = licenses.mit; platforms = platforms.linux; maintainers = with maintainers; [ primeos synthetica ma27 ]; diff --git a/nixpkgs/pkgs/applications/window-managers/sway/lock-effects.nix b/nixpkgs/pkgs/applications/window-managers/sway/lock-effects.nix index e07080497f4..a6c8d5cd1c3 100644 --- a/nixpkgs/pkgs/applications/window-managers/sway/lock-effects.nix +++ b/nixpkgs/pkgs/applications/window-managers/sway/lock-effects.nix @@ -6,14 +6,13 @@ stdenv.mkDerivation rec { pname = "swaylock-effects"; - version = "v1.6-0"; + version = "v1.6-1"; src = fetchFromGitHub { owner = "mortie"; repo = "swaylock-effects"; rev = version; - sha256 = "15lshqq3qj9m3yfac65hjcciaf9zdfh3ir7hgh0ach7gpi3rbk13"; - + sha256 = "044fc4makjx8v29fkx5xlil6vr1v4r0k6c8741pl67gzvlm4cx3i"; }; postPatch = '' @@ -30,7 +29,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Screen locker for Wayland"; longDescription = '' - swaylock-effects is a screen locking utility for Wayland compositors. + Swaylock, with fancy effects ''; inherit (src.meta) homepage; license = licenses.mit; |