diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/window-managers')
26 files changed, 307 insertions, 152 deletions
diff --git a/nixpkgs/pkgs/applications/window-managers/bspwm/unstable.nix b/nixpkgs/pkgs/applications/window-managers/bspwm/unstable.nix deleted file mode 100644 index 937184483405..000000000000 --- a/nixpkgs/pkgs/applications/window-managers/bspwm/unstable.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ stdenv, fetchFromGitHub, libxcb, libXinerama, xcbutil, xcbutilkeysyms, xcbutilwm }: - -stdenv.mkDerivation { - name = "bspwm-unstable-2016-09-30"; - - - src = fetchFromGitHub { - owner = "baskerville"; - repo = "bspwm"; - rev = "8664c007e44de162c1597fd7e163635b274fb747"; - sha256 = "0clvpz32z38i8kr10hqlifa661szpfn93c63m2aq2h4dwmr44slz"; - }; - - buildInputs = [ libxcb libXinerama xcbutil xcbutilkeysyms xcbutilwm ]; - - buildPhase = '' - make PREFIX=$out - ''; - - installPhase = '' - make PREFIX=$out install - ''; - - meta = { - description = "A tiling window manager based on binary space partitioning (git version)"; - homepage = "https://github.com/baskerville/bspwm"; - maintainers = [ lib.maintainers.meisternu lib.maintainers.epitrochoid ]; - license = lib.licenses.bsd2; - platforms = lib.platforms.linux; - }; -} diff --git a/nixpkgs/pkgs/applications/window-managers/cagebreak/default.nix b/nixpkgs/pkgs/applications/window-managers/cagebreak/default.nix index a4e5d7f70282..93ac815346e4 100644 --- a/nixpkgs/pkgs/applications/window-managers/cagebreak/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/cagebreak/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "cagebreak"; - version = "1.5.0"; + version = "1.6.0"; src = fetchFromGitHub { owner = "project-repo"; repo = "cagebreak"; rev = version; - hash = "sha256-P6zBVQEv+fKdverNIXhoEavu51uGKbSHx3Sh5FWsc2E="; + hash = "sha256-F7fqDVbJS6pVgmj6C1/l9PAaz5yzcYpaq6oc6a6v/Qk="; }; nativeBuildInputs = [ meson ninja pkg-config wayland scdoc makeWrapper ]; @@ -29,6 +29,7 @@ stdenv.mkDerivation rec { mesonFlags = [ "-Dxwayland=${lib.boolToString withXwayland}" "-Dversion_override=${version}" + "-Dman-pages=true" ]; postInstall = '' diff --git a/nixpkgs/pkgs/applications/window-managers/cwm/default.nix b/nixpkgs/pkgs/applications/window-managers/cwm/default.nix index 69c9cc1c37cb..24c595081573 100644 --- a/nixpkgs/pkgs/applications/window-managers/cwm/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/cwm/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, libX11, libXinerama, libXrandr, libXft, yacc, pkg-config }: +{ lib, stdenv, fetchFromGitHub, libX11, libXinerama, libXrandr, libXft, bison, pkg-config }: stdenv.mkDerivation rec { @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libX11 libXinerama libXrandr libXft yacc ]; + buildInputs = [ libX11 libXinerama libXrandr libXft bison ]; prePatch = ''sed -i "s@/usr/local@$out@" Makefile''; diff --git a/nixpkgs/pkgs/applications/window-managers/dwl/default.nix b/nixpkgs/pkgs/applications/window-managers/dwl/default.nix index 9a56f865c348..d8f102ed7675 100644 --- a/nixpkgs/pkgs/applications/window-managers/dwl/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/dwl/default.nix @@ -2,6 +2,7 @@ , lib , fetchFromGitHub , pkg-config +, libinput , libxcb , libxkbcommon , wayland @@ -11,31 +12,55 @@ , patches ? [ ] , conf ? null , writeText +, fetchpatch }: +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"; + }) + ]; +in + stdenv.mkDerivation rec { pname = "dwl"; - version = "0.1"; + version = "0.2"; src = fetchFromGitHub { owner = "djpohly"; repo = pname; rev = "v${version}"; - sha256 = "QoKaeF5DbSX0xciwc/0VKpubn/001cJjoZ+UzVDX4qE="; + sha256 = "gUaFTkpIQDswEubllMgvxPfCaEYFO7mODzjPyW7XsGQ="; }; nativeBuildInputs = [ pkg-config ]; buildInputs = [ + libinput libxcb libxkbcommon wayland wayland-protocols wlroots - ] ++ lib.optionals enable-xwayland [ xwayland libX11 ]; + ] ++ lib.optionals enable-xwayland [ + libX11 + xwayland + ]; # Allow users to set their own list of patches - inherit patches; + patches = totalPatches; + # Last line of config.mk enables XWayland prePatch = lib.optionalString enable-xwayland '' sed -i -e '$ s|^#||' config.mk ''; diff --git a/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix b/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix index d419b0ebe3a8..e32cd38ec2d4 100644 --- a/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix +++ b/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix @@ -1,10 +1,10 @@ { lib, rustPlatform, fetchFromGitHub, dbus, gdk-pixbuf, libnotify, makeWrapper, pkg-config, xorg , enableAlsaUtils ? true, alsaUtils, coreutils -, enableNetwork ? true, dnsutils, iproute, wirelesstools }: +, enableNetwork ? true, dnsutils, iproute2, wirelesstools }: let bins = lib.optionals enableAlsaUtils [ alsaUtils coreutils ] - ++ lib.optionals enableNetwork [ dnsutils iproute wirelesstools ]; + ++ lib.optionals enableNetwork [ dnsutils iproute2 wirelesstools ]; in rustPlatform.buildRustPackage rec { diff --git a/nixpkgs/pkgs/applications/window-managers/herbstluftwm/default.nix b/nixpkgs/pkgs/applications/window-managers/herbstluftwm/default.nix index ad45f01915da..ce0b40c0bb76 100644 --- a/nixpkgs/pkgs/applications/window-managers/herbstluftwm/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/herbstluftwm/default.nix @@ -1,44 +1,42 @@ -{ lib, stdenv, fetchurl, cmake, pkg-config, python3, libX11, libXext, libXinerama, libXrandr, asciidoc +{ lib, stdenv, fetchurl, cmake, pkg-config, python3, libX11, libXext, libXinerama, libXrandr, libXft, freetype, asciidoc , xdotool, xorgserver, xsetroot, xterm, runtimeShell , nixosTests }: -# Doc generation is disabled by default when cross compiling because asciidoc -# dependency is broken when cross compiling for now - -let - cross = stdenv.buildPlatform != stdenv.targetPlatform; - -in stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "herbstluftwm"; - version = "0.9.1"; + version = "0.9.2"; src = fetchurl { url = "https://herbstluftwm.org/tarballs/herbstluftwm-${version}.tar.gz"; - sha256 = "0r4qaklv97qcq8p0pnz4f2zqg69vfai6c2qi1ydi2kz24xqjf5hy"; + sha256 = "0avfhr68f6fjnafjdcyxcx7dkg38f2nadmhpj971qyqzfq2f6i38"; }; outputs = [ "out" - "doc" # share/doc exists with examples even without generated html documentation - ] ++ lib.optionals (!cross) [ + "doc" "man" ]; cmakeFlags = [ "-DCMAKE_INSTALL_SYSCONF_PREFIX=${placeholder "out"}/etc" - ] ++ lib.optional cross "-DWITH_DOCUMENTATION=OFF"; + ]; nativeBuildInputs = [ cmake pkg-config - python3 - ] ++ lib.optional (!cross) asciidoc; + ]; + + depsBuildBuild = [ + asciidoc + ]; buildInputs = [ libX11 libXext libXinerama libXrandr + libXft + freetype ]; patches = [ @@ -75,6 +73,9 @@ in stdenv.mkDerivation rec { ''; pytestFlagsArray = [ "../tests" ]; + disabledTests = [ + "test_title_different_letters_are_drawn" + ]; passthru = { tests.herbstluftwm = nixosTests.herbstluftwm; diff --git a/nixpkgs/pkgs/applications/window-managers/i3/auto-layout.nix b/nixpkgs/pkgs/applications/window-managers/i3/auto-layout.nix new file mode 100644 index 000000000000..d24715aa9804 --- /dev/null +++ b/nixpkgs/pkgs/applications/window-managers/i3/auto-layout.nix @@ -0,0 +1,26 @@ +{ lib, rustPlatform, fetchFromGitHub }: + +rustPlatform.buildRustPackage rec { + pname = "i3-auto-layout"; + version = "0.2"; + + src = fetchFromGitHub { + owner = "chmln"; + repo = pname; + rev = "v${version}"; + sha256 = "0ps08lga6qkgc8cgf5cx2lgwlqcnd2yazphh9xd2fznnzrllfxxz"; + }; + + cargoSha256 = "1ch5mh515rlqmr65x96xcvrx6iaigqgjxc7sbwbznzkc5kmvwhc0"; + + # Currently no tests are implemented, so we avoid building the package twice + doCheck = false; + + meta = with lib; { + description = "Automatic, optimal tiling for i3wm"; + homepage = "https://github.com/chmln/i3-auto-layout"; + license = licenses.mit; + maintainers = with maintainers; [ mephistophiles ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix b/nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix index 9c97c72ad5df..df774aa417f3 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 -, iproute, acpi, sysstat, alsaUtils +, iproute2, acpi, sysstat, alsaUtils , scripts ? [ "bandwidth" "battery" "cpu_usage" "disk" "iface" "load_average" "memory" "volume" "wifi" ] }: @@ -30,13 +30,13 @@ stdenv.mkDerivation rec { postFixup = '' wrapProgram $out/libexec/i3blocks/bandwidth \ - --prefix PATH : ${makeBinPath (optional (elem "bandwidth" scripts) iproute)} + --prefix PATH : ${makeBinPath (optional (elem "bandwidth" scripts) iproute2)} wrapProgram $out/libexec/i3blocks/battery \ --prefix PATH : ${makeBinPath (optional (elem "battery" scripts) acpi)} wrapProgram $out/libexec/i3blocks/cpu_usage \ --prefix PATH : ${makeBinPath (optional (elem "cpu_usage" scripts) sysstat)} wrapProgram $out/libexec/i3blocks/iface \ - --prefix PATH : ${makeBinPath (optional (elem "iface" scripts) iproute)} + --prefix PATH : ${makeBinPath (optional (elem "iface" scripts) iproute2)} wrapProgram $out/libexec/i3blocks/volume \ --prefix PATH : ${makeBinPath (optional (elem "volume" scripts) alsaUtils)} ''; diff --git a/nixpkgs/pkgs/applications/window-managers/i3/default.nix b/nixpkgs/pkgs/applications/window-managers/i3/default.nix index d05b187ca78a..305c1d728f34 100644 --- a/nixpkgs/pkgs/applications/window-managers/i3/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/i3/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "i3"; - version = "4.19"; + version = "4.19.2"; src = fetchurl { url = "https://i3wm.org/downloads/${pname}-${version}.tar.xz"; - sha256 = "0wjq6lkidg0g474xsln1fhbxci7zclq3748sda10f1n7q01qp95c"; + sha256 = "sha256-im7hd2idzyKWTSC2CTAU7k+gQZNF0/1RXVUS2ZgLsnk="; }; nativeBuildInputs = [ pkg-config makeWrapper meson ninja installShellFiles ]; diff --git a/nixpkgs/pkgs/applications/window-managers/i3/i3-ratiosplit.nix b/nixpkgs/pkgs/applications/window-managers/i3/i3-ratiosplit.nix new file mode 100644 index 000000000000..35751da8172d --- /dev/null +++ b/nixpkgs/pkgs/applications/window-managers/i3/i3-ratiosplit.nix @@ -0,0 +1,26 @@ +{ lib, rustPlatform, fetchFromGitHub }: + +rustPlatform.buildRustPackage rec { + pname = "i3-ratiosplit"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "333fred"; + repo = pname; + rev = "v${version}"; + sha256 = "0yfmr5zk2c2il9d31yjjbr48sqgcq6hp4a99hl5mjm2ajyhy5bz3"; + }; + + cargoSha256 = "0d5qd1wid5l1pl3ckrlfgdb980myi5gxcir39caywb9pkbnfndz6"; + + # Currently no tests are implemented, so we avoid building the package twice + doCheck = false; + + meta = with lib; { + description = "Resize newly created windows"; + homepage = "https://github.com/333fred/i3-ratiosplit"; + license = licenses.mit; + maintainers = with maintainers; [ svrana ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix b/nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix index 6f22070dbc86..3581e4749431 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.1"; + version = "2.13.c.2"; pname = "i3lock-color"; src = fetchFromGitHub { owner = "PandorasFox"; repo = "i3lock-color"; rev = version; - sha256 = "sha256-E+ejc26eyCJ0PnMpDgQrouaBIaUH0SWlzB08fQs8lDw="; + sha256 = "sha256-cMj1uB2Hf7v5Rukw9c5YeUmwbdTn1+PV13bUaOWzBp0="; }; 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 be7e88a25019..88d035bce661 100644 --- a/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix +++ b/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix @@ -6,25 +6,26 @@ , dbus , libpulseaudio , notmuch +, openssl , ethtool }: rustPlatform.buildRustPackage rec { pname = "i3status-rust"; - version = "0.14.3"; + version = "0.14.7"; src = fetchFromGitHub { owner = "greshake"; repo = pname; rev = "v${version}"; - sha256 = "1k9dgmd4wz9950kr35da31rhph43gmvg8dif7hg1xw41xch6bi60"; + sha256 = "1ndqh4bzwim32n8psgsgdd47xmlb45rhvcwla1wm506byb21nk4c"; }; - cargoSha256 = "0qqkcgl9iz4kxl1a2vv2p7vy7wxn970y28jynf3n7hfp16i3liy2"; + cargoSha256 = "098dzwqwbhcyswm73m880z0w03i7xrq56x79vfyvacw4k27q2zm9"; nativeBuildInputs = [ pkg-config makeWrapper ]; - buildInputs = [ dbus libpulseaudio notmuch ]; + buildInputs = [ dbus libpulseaudio notmuch openssl ]; cargoBuildFlags = [ "--features=notmuch" diff --git a/nixpkgs/pkgs/applications/window-managers/i3/wsr.nix b/nixpkgs/pkgs/applications/window-managers/i3/wsr.nix new file mode 100644 index 000000000000..97da815b5d7b --- /dev/null +++ b/nixpkgs/pkgs/applications/window-managers/i3/wsr.nix @@ -0,0 +1,33 @@ +{ lib, fetchFromGitHub, rustPlatform, libxcb, python3 }: + +rustPlatform.buildRustPackage rec { + pname = "i3wsr"; + version = "1.3.1"; + + src = fetchFromGitHub { + owner = "roosta"; + repo = pname; + rev = "v${version}"; + sha256 = "1zpyncg29y8cv5nw0vgd69nywbj1ppxf6qfm4zc6zz0gk0vxy4pn"; + }; + + cargoSha256 = "0snys419d32anf73jcvrq8h9kp1fq0maqcxz6ww04yg2jv6j47nc"; + + nativeBuildInputs = [ python3 ]; + buildInputs = [ libxcb ]; + + # has not tests + doCheck = false; + + meta = with lib; { + description = "Automatically change i3 workspace names based on their contents"; + longDescription = '' + Automatically sets the workspace names to match the windows on the workspace. + The chosen name for a workspace is a user-defined composite of the WM_CLASS X11 + window property for each window in a workspace. + ''; + homepage = "https://github.com/roosta/i3wsr"; + license = licenses.mit; + maintainers = [ maintainers.sebbadk ]; + }; +} diff --git a/nixpkgs/pkgs/applications/window-managers/icewm/default.nix b/nixpkgs/pkgs/applications/window-managers/icewm/default.nix index 571c13e94619..8f1a920296ae 100644 --- a/nixpkgs/pkgs/applications/window-managers/icewm/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/icewm/default.nix @@ -1,8 +1,8 @@ -{ lib, stdenv +{ lib +, stdenv , fetchFromGitHub , cmake , pkg-config -, perl , asciidoc , expat , fontconfig @@ -34,21 +34,26 @@ , libxcb , mkfontdir , pcre +, perl }: stdenv.mkDerivation rec { pname = "icewm"; - version = "2.1.2"; + version = "2.2.0"; src = fetchFromGitHub { owner = "bbidulock"; repo = pname; rev = version; - sha256 = "sha256-n9mLD1WrHsO9W1rxopFQENxQEHp/sxuixV3PxLp2vOY="; + hash = "sha256-STM8t311lf0xIqs2Onmwg48xgE7V9VZrUfJrUzYRxL4="; }; - nativeBuildInputs = [ cmake pkg-config perl asciidoc ]; - + nativeBuildInputs = [ + asciidoc + cmake + perl + pkg-config + ]; buildInputs = [ expat fontconfig @@ -90,6 +95,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { + homepage = "https://www.ice-wm.org/"; description = "A simple, lightweight X window manager"; longDescription = '' IceWM is a window manager for the X Window System. The goal of IceWM is @@ -104,8 +110,7 @@ stdenv.mkDerivation rec { includes an optional external background wallpaper manager with transparency support, a simple session manager and a system tray. ''; - homepage = "https://www.ice-wm.org/"; - license = licenses.lgpl2; + license = licenses.lgpl2Only; maintainers = [ maintainers.AndersonTorres ]; platforms = platforms.linux; }; diff --git a/nixpkgs/pkgs/applications/window-managers/labwc/default.nix b/nixpkgs/pkgs/applications/window-managers/labwc/default.nix index 9d39bd537fde..c82eb76f6bf9 100644 --- a/nixpkgs/pkgs/applications/window-managers/labwc/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/labwc/default.nix @@ -8,7 +8,6 @@ , glib , libinput , libxml2 -, pandoc , pango , wayland , wayland-protocols @@ -16,20 +15,22 @@ , libxcb , libxkbcommon , xwayland +, libdrm +, scdoc }: stdenv.mkDerivation rec { pname = "labwc"; - version = "unstable-2021-02-06"; + version = "unstable-2021-03-15"; src = fetchFromGitHub { owner = "johanmalm"; repo = pname; - rev = "4a8fcf5c6d0b730b1e2e17e544ce7d7d3c72cd13"; - sha256 = "g1ba8dchUN393eis0VAu1bIjQfthDGLaSijSavz4lfU="; + rev = "fddeb74527e5b860d9c1a91a237d390041c758b6"; + sha256 = "0rhniv5j4bypqxxj0nbpa3hclmn8znal9rldv0mrgbizn3wsbs54"; }; - nativeBuildInputs = [ pkg-config meson ninja pandoc ]; + nativeBuildInputs = [ pkg-config meson ninja scdoc ]; buildInputs = [ cairo glib @@ -42,6 +43,7 @@ stdenv.mkDerivation rec { libxcb libxkbcommon xwayland + libdrm ]; mesonFlags = [ "-Dxwayland=enabled" ]; diff --git a/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix b/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix index 72170401d793..bab0439bf8bc 100644 --- a/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix @@ -17,7 +17,8 @@ rustPlatform.buildRustPackage rec { cargoSha256 = "sha256-j57LHPU3U3ipUGQDrZ8KCuELOVJ3BxhLXsJePOO6rTM="; - buildInputs = [ makeWrapper libX11 libXinerama ]; + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ libX11 libXinerama ]; postInstall = '' wrapProgram $out/bin/leftwm --prefix LD_LIBRARY_PATH : "${rpath}" @@ -31,5 +32,6 @@ rustPlatform.buildRustPackage rec { license = licenses.mit; platforms = platforms.linux; maintainers = with maintainers; [ mschneider ]; + changelog = "https://github.com/leftwm/leftwm/blob/${version}/CHANGELOG"; }; } diff --git a/nixpkgs/pkgs/applications/window-managers/sawfish/default.nix b/nixpkgs/pkgs/applications/window-managers/sawfish/default.nix index 7615c6c4bd80..cb76f0c465cc 100644 --- a/nixpkgs/pkgs/applications/window-managers/sawfish/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/sawfish/default.nix @@ -1,20 +1,23 @@ -{ lib, stdenv +{ lib +, stdenv , fetchurl -, pkg-config -, which , autoreconfHook -, rep-gtk -, pango , gdk-pixbuf-xlib -, imlib , gettext -, texinfo +, gtk2 +, imlib +, libICE +, libSM , libXinerama , libXrandr , libXtst -, libICE -, libSM +, librep , makeWrapper +, pango +, pkg-config +, rep-gtk +, texinfo +, which }: stdenv.mkDerivation rec { @@ -26,20 +29,42 @@ stdenv.mkDerivation rec { sha256 = "18p8srqqj9vjffg13qhspfz2gr1h4vfs10qzlv89g76r289iam31"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ which - rep-gtk pango gdk-pixbuf-xlib imlib gettext texinfo - libXinerama libXrandr libXtst libICE libSM - makeWrapper ]; + nativeBuildInputs = [ + autoreconfHook + gettext + librep + makeWrapper + pkg-config + texinfo + which + ]; + buildInputs = [ + gdk-pixbuf-xlib + gtk2 + imlib + libICE + libSM + libXinerama + libXrandr + libXtst + librep + pango + rep-gtk + ]; - patchPhase = '' + postPatch = '' sed -e 's|REP_DL_LOAD_PATH=|REP_DL_LOAD_PATH=$(REP_DL_LOAD_PATH):|g' -i Makedefs.in sed -e 's|$(repexecdir)|$(libdir)/rep|g' -i src/Makefile.in ''; + strictDeps = true; + postInstall = '' - for i in $out/lib/sawfish/sawfish-menu $out/bin/sawfish-about \ - $out/bin/sawfish-client $out/bin/sawfish-config $out/bin/sawfish; do + for i in $out/lib/sawfish/sawfish-menu \ + $out/bin/sawfish-about \ + $out/bin/sawfish-client \ + $out/bin/sawfish-config \ + $out/bin/sawfish; do wrapProgram $i \ --prefix REP_DL_LOAD_PATH : "$out/lib/rep" \ --set REP_LOAD_PATH "$out/share/sawfish/lisp" @@ -47,16 +72,17 @@ stdenv.mkDerivation rec { ''; meta = with lib; { + homepage = "http://sawfish.tuxfamily.org/"; description = "An extensible, Lisp-based window manager"; longDescription = '' - Sawfish is an extensible window manager using a Lisp-based scripting language. - Its policy is very minimal compared to most window managers. Its aim is simply - to manage windows in the most flexible and attractive manner possible. - All high-level WM functions are implemented in Lisp for future extensibility - or redefinition. + Sawfish is an extensible window manager using a Lisp-based scripting + language. Its policy is very minimal compared to most window managers. Its + aim is simply to manage windows in the most flexible and attractive manner + possible. All high-level WM functions are implemented in Lisp for future + extensibility or redefinition. ''; - homepage = "https://sawfish.fandom.com/wiki/Main_Page"; - license = licenses.gpl2; - maintainers = [ maintainers.AndersonTorres ]; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = platforms.unix; }; } diff --git a/nixpkgs/pkgs/applications/window-managers/sway/default.nix b/nixpkgs/pkgs/applications/window-managers/sway/default.nix index b9565fc23a41..76a135c2dcc1 100644 --- a/nixpkgs/pkgs/applications/window-managers/sway/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/sway/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchFromGitHub, substituteAll, swaybg , meson, ninja, pkg-config, wayland, scdoc , libxkbcommon, pcre, json_c, libevdev, pango, cairo, libinput, librsvg -, wlroots, wayland-protocols +, wlroots, wayland-protocols, libdrm , gdkPixbufSupport ? true, gdk-pixbuf , xwaylandSupport ? !(lib.elem "-Dxwayland=disabled" (wlroots.mesonFlags or [])) @@ -9,13 +9,13 @@ stdenv.mkDerivation rec { pname = "sway-unwrapped"; - version = "1.5.1"; + version = "1.6"; src = fetchFromGitHub { owner = "swaywm"; repo = "sway"; rev = version; - sha256 = "1xsa3h8zhf29p0mi90baxpr76jkd9pd1gr97ky8cnjbcs4isj9j0"; + sha256 = "0vnplva11yafhbijrk68wy7pw0psn9jm0caaymswq1s951xsn1c8"; }; patches = [ @@ -34,11 +34,13 @@ stdenv.mkDerivation rec { buildInputs = [ wayland libxkbcommon pcre json_c libevdev pango cairo libinput librsvg - wlroots wayland-protocols + wlroots wayland-protocols libdrm ] ++ lib.optional gdkPixbufSupport gdk-pixbuf; - mesonFlags = [ "-Ddefault-wallpaper=false" ] - ++ lib.optional gdkPixbufSupport "-Dgdk-pixbuf=enabled" + mesonFlags = [ + "-Ddefault-wallpaper=false" + "-Dsd-bus-provider=libsystemd" + ] ++ lib.optional gdkPixbufSupport "-Dgdk-pixbuf=enabled" ++ lib.optional xwaylandSupport "-Dxwayland=enabled"; meta = with lib; { diff --git a/nixpkgs/pkgs/applications/window-managers/sway/load-configuration-from-etc.patch b/nixpkgs/pkgs/applications/window-managers/sway/load-configuration-from-etc.patch index 26a3d40d66cb..46a170abc04a 100644 --- a/nixpkgs/pkgs/applications/window-managers/sway/load-configuration-from-etc.patch +++ b/nixpkgs/pkgs/applications/window-managers/sway/load-configuration-from-etc.patch @@ -1,22 +1,26 @@ -From 26f9c65ef037892977a824f0d7d7111066856b53 Mon Sep 17 00:00:00 2001 -From: Michael Weiss <dev.primeos@gmail.com> -Date: Sat, 27 Apr 2019 14:26:16 +0200 +From 92283df3acbffa5c1bb21f23cdd686113d905114 Mon Sep 17 00:00:00 2001 +From: Patrick Hilhorst <git@hilhorst.be> +Date: Wed, 31 Mar 2021 21:14:13 +0200 Subject: [PATCH] Load configs from /etc but fallback to /nix/store This change will load all configuration files from /etc, to make it easy to override them, but fallback to /nix/store/.../etc/sway/config to make Sway work out-of-the-box with the default configuration on non NixOS systems. + +Original patch by Michael Weiss, updated for Sway 1.6 by Patrick Hilhorst + +Co-authored-by: Michael Weiss <dev.primeos@gmail.com> --- meson.build | 3 ++- - sway/config.c | 1 + - 2 files changed, 3 insertions(+), 1 deletion(-) + sway/config.c | 3 ++- + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build -index 02b5d606..c03a9c0f 100644 +index b7a29660..8ae8ceb3 100644 --- a/meson.build +++ b/meson.build -@@ -129,7 +129,8 @@ if scdoc.found() +@@ -164,7 +164,8 @@ if scdoc.found() endforeach endif @@ -25,18 +29,20 @@ index 02b5d606..c03a9c0f 100644 +add_project_arguments('-DNIX_SYSCONFDIR="/@0@"'.format(join_paths(prefix, sysconfdir)), language : 'c') version = '"@0@"'.format(meson.project_version()) - if git.found() + git = find_program('git', native: true, required: false) diff --git a/sway/config.c b/sway/config.c -index 4cd21bbc..dd855753 100644 +index 76b9ec08..fb5b51aa 100644 --- a/sway/config.c +++ b/sway/config.c -@@ -317,6 +317,7 @@ static char *get_config_path(void) { - "$XDG_CONFIG_HOME/i3/config", - SYSCONFDIR "/sway/config", - SYSCONFDIR "/i3/config", -+ NIX_SYSCONFDIR "/sway/config", +@@ -374,7 +374,8 @@ static char *get_config_path(void) { + { .prefix = home, .config_folder = ".i3"}, + { .prefix = config_home, .config_folder = "i3"}, + { .prefix = SYSCONFDIR, .config_folder = "sway"}, +- { .prefix = SYSCONFDIR, .config_folder = "i3"} ++ { .prefix = SYSCONFDIR, .config_folder = "i3"}, ++ { .prefix = NIX_SYSCONFDIR, .config_folder = "sway"}, }; - char *config_home = getenv("XDG_CONFIG_HOME"); + size_t num_config_paths = sizeof(config_paths)/sizeof(config_paths[0]); -- -2.19.2 +2.30.1 diff --git a/nixpkgs/pkgs/applications/window-managers/sway/wsr.nix b/nixpkgs/pkgs/applications/window-managers/sway/wsr.nix new file mode 100644 index 000000000000..15bf977f8fd9 --- /dev/null +++ b/nixpkgs/pkgs/applications/window-managers/sway/wsr.nix @@ -0,0 +1,33 @@ +{ lib, fetchFromGitHub, rustPlatform, libxcb, python3 }: + +rustPlatform.buildRustPackage rec { + pname = "swaywsr"; + version = "1.1.0"; + + src = fetchFromGitHub { + owner = "pedroscaff"; + repo = pname; + rev = "6c4671c702f647395d983aaf607286db1c692db6"; + sha256 = "0bmpbhyvgnbi5baj6v0wdxpdh9cnlzvcc44vh3vihmzsp6i5q05a"; + }; + + cargoSha256 = "15wa03279lflr16a6kw7zcn3nvalnjydk9g6nj7xqxmc7zkpf0rm"; + + nativeBuildInputs = [ python3 ]; + buildInputs = [ libxcb ]; + + # has not tests + doCheck = false; + + meta = with lib; { + description = "Automatically change sway workspace names based on their contents"; + longDescription = '' + Automatically sets the workspace names to match the windows on the workspace. + The chosen name for a workspace is a composite of the app_id or WM_CLASS X11 + window property for each window in a workspace. + ''; + homepage = "https://github.com/pedroscaff/swaywsr"; + license = licenses.mit; + maintainers = [ maintainers.sebbadk ]; + }; +} diff --git a/nixpkgs/pkgs/applications/window-managers/wayfire/applications.nix b/nixpkgs/pkgs/applications/window-managers/wayfire/applications.nix index 6c22227c0c51..a77d3f8bf5d8 100644 --- a/nixpkgs/pkgs/applications/window-managers/wayfire/applications.nix +++ b/nixpkgs/pkgs/applications/window-managers/wayfire/applications.nix @@ -1,23 +1,20 @@ -{ newScope, wayfirePlugins }: +{ lib, newScope, wayfirePlugins }: -let - self = with self; { - inherit wayfirePlugins; +lib.makeExtensible (self: with self; { + inherit wayfirePlugins; - callPackage = newScope self; + callPackage = newScope self; - wayfire = callPackage ./. { }; + wayfire = callPackage ./. { }; - wcm = callPackage ./wcm.nix { - inherit (wayfirePlugins) wf-shell; - }; + wcm = callPackage ./wcm.nix { + inherit (wayfirePlugins) wf-shell; + }; - wrapWayfireApplication = callPackage ./wrapper.nix { }; + wrapWayfireApplication = callPackage ./wrapper.nix { }; - withPlugins = selector: self // { - wayfire = wrapWayfireApplication wayfire selector; - wcm = wrapWayfireApplication wcm selector; - }; + withPlugins = selector: self // { + wayfire = wrapWayfireApplication wayfire selector; + wcm = wrapWayfireApplication wcm selector; }; -in -self +}) diff --git a/nixpkgs/pkgs/applications/window-managers/wayfire/wcm.nix b/nixpkgs/pkgs/applications/window-managers/wayfire/wcm.nix index d6ac6aeb84e7..9d524019ad5f 100644 --- a/nixpkgs/pkgs/applications/window-managers/wayfire/wcm.nix +++ b/nixpkgs/pkgs/applications/window-managers/wayfire/wcm.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchurl, meson, ninja, pkg-config, wayland, wrapGAppsHook -, gnome3, libevdev, libxml2, wayfire, wayland-protocols, wf-config, wf-shell +, gtk3, libevdev, libxml2, wayfire, wayland-protocols, wf-config, wf-shell }: stdenv.mkDerivation rec { @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ meson ninja pkg-config wayland wrapGAppsHook ]; buildInputs = [ - gnome3.gtk libevdev libxml2 wayfire wayland + gtk3 libevdev libxml2 wayfire wayland wayland-protocols wf-config wf-shell ]; diff --git a/nixpkgs/pkgs/applications/window-managers/wayfire/wf-shell.nix b/nixpkgs/pkgs/applications/window-managers/wayfire/wf-shell.nix index 3948e9a32abc..cc99e79fca8d 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, gnome3, gtk-layer-shell, pulseaudio, wayfire, wf-config +, alsaLib, 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 gnome3.gtkmm gtk-layer-shell pulseaudio wayfire wf-config + alsaLib gtkmm3 gtk-layer-shell pulseaudio wayfire wf-config ]; mesonFlags = [ "--sysconfdir" "/etc" ]; diff --git a/nixpkgs/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix b/nixpkgs/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix index e427a85d0386..c201c55dcea5 100644 --- a/nixpkgs/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix +++ b/nixpkgs/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { --replace "/usr/bin/install" "install" ''; - makeFlags = [ "CC=cc" ]; + makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; preInstall = '' runHook preInstall diff --git a/nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix b/nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix index b78b7c015703..0acad8edbe59 100644 --- a/nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix @@ -29,8 +29,8 @@ stdenv.mkDerivation rec { EOF ''; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ unzip libixp_hg txt2tags dash python which + nativeBuildInputs = [ pkg-config unzip ]; + buildInputs = [ libixp_hg txt2tags dash python which libX11 libXrender libXext libXinerama libXrandr libXft ]; # For some reason including mercurial in buildInputs did not help 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 ebabcf196d5b..830242667db6 100644 --- a/nixpkgs/pkgs/applications/window-managers/xmonad/log-applet/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/xmonad/log-applet/default.nix @@ -38,7 +38,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/kalj/xmonad-log-applet"; license = licenses.bsd3; - broken = desktopSupport == "gnomeflashback"; + broken = desktopSupport == "gnomeflashback" || desktopSupport == "xfce4"; description = "An applet that will display XMonad log information (${desktopSupport} version)"; platforms = platforms.linux; maintainers = with maintainers; [ abbradar ]; |