uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead

https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948
this can do it nicely.

Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View file

@ -0,0 +1,23 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "cliphist";
version = "0.3.1";
src = fetchFromGitHub {
owner = "sentriz";
repo = pname;
rev = "v${version}";
sha256 = "sha256-kmXR8xzjAphgaC2Yd55VwZIJ4ehxP1LEA24hgyAbM7A=";
};
vendorSha256 = "sha256-LZnefa0FjYG39YJrSN9ef6OnXHXgSrlSL4LvRqLxFx4=";
meta = with lib; {
description = "Wayland clipboard manager";
homepage = "https://github.com/sentriz/cliphist";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = with maintainers; [ dit7ya ];
};
}

View file

@ -0,0 +1,37 @@
{ buildGoModule
, fetchFromGitHub
, lib
, wl-clipboard
, makeWrapper
}:
buildGoModule rec {
pname = "clipman";
version = "1.6.1";
src = fetchFromGitHub {
owner = "yory8";
repo = pname;
rev = "v${version}";
sha256 = "sha256-aZvtgeaS3xxl5/A/Pwlbu0sI7bw2MONbEIK42IDcMy0=";
};
vendorSha256 = "sha256-Z/sVCJz/igPDdeczC6pemLub6X6z4ZGlBwBmRsEnXKI=";
doCheck = false;
nativeBuildInputs = [ makeWrapper ];
postInstall = ''
wrapProgram $out/bin/clipman \
--prefix PATH : ${lib.makeBinPath [ wl-clipboard ]}
'';
meta = with lib; {
homepage = "https://github.com/yory8/clipman";
description = "A simple clipboard manager for Wayland";
license = licenses.gpl3Only;
maintainers = with maintainers; [ ma27 ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,33 @@
{ dbus
, fetchFromGitHub
, lib
, pkg-config
, rustPlatform
}:
let
version = "0.1.1";
in
rustPlatform.buildRustPackage {
pname = "gnome-randr";
inherit version;
src = fetchFromGitHub {
owner = "maxwellainatchi";
repo = "gnome-randr-rust";
rev = "v" + version;
sha256 = "sha256-mciHgBEOCFjRA4MSoEdP7bIag0KE+zRbk4wOkB2PAn0=";
};
cargoSha256 = "sha256-rk8/sg5rSNS741QOWoAGIloqph+ZdBjl/xUaFl0A3Bs=";
buildInputs = [ dbus ];
nativeBuildInputs = [ pkg-config ];
meta = {
description = "An xrandr-like CLI for configuring displays on GNOME/Wayland, on distros that don't support `wlr-randr`";
homepage = "https://github.com/maxwellainatchi/gnome-randr-rust";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.roberth ];
};
}

View file

@ -0,0 +1,45 @@
{ lib
, stdenv
, fetchFromGitHub
, meson
, ninja
, pkg-config
, scdoc
, wayland
, wayland-scanner
}:
stdenv.mkDerivation rec {
pname = "kanshi";
version = "1.2.0";
src = fetchFromGitHub {
owner = "emersion";
repo = "kanshi";
rev = "v${version}";
sha256 = "sha256-RVMeS2qEjTYK6r7IwMeFSqfRpKR8di2eQXhewfhTnYI=";
};
strictDeps = true;
depsBuildBuild = [
pkg-config
];
nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
buildInputs = [ wayland ];
meta = with lib; {
homepage = "https://github.com/emersion/kanshi";
description = "Dynamic display configuration tool";
longDescription = ''
kanshi allows you to define output profiles that are automatically enabled
and disabled on hotplug. For instance, this can be used to turn a laptop's
internal screen off when docked.
kanshi can be used on Wayland compositors supporting the
wlr-output-management protocol.
'';
license = licenses.mit;
maintainers = with maintainers; [ balsoft ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,41 @@
{ lib
, stdenv
, fetchFromGitHub
, pkg-config
, meson
, ninja
, cairo
, gdk-pixbuf
, wayland
, wayland-protocols
, wayland-scanner
}:
stdenv.mkDerivation rec {
pname = "oguri";
version = "unstable-2020-12-19";
src = fetchFromGitHub {
owner = "vilhalmer";
repo = pname;
rev = "6937fee10a9b0ef3ad8f94f606c0e0d9e7dec564";
sha256 = "sXNvpI/YPDPd2cXQAfRO4ut21gSCXxbo1DpaZmHJDYQ=";
};
strictDeps = true;
nativeBuildInputs = [ pkg-config meson ninja wayland-scanner ];
buildInputs = [
cairo
gdk-pixbuf
wayland
wayland-protocols
];
meta = with lib; {
homepage = "https://github.com/vilhalmer/oguri/";
description = "A very nice animated wallpaper daemon for Wayland compositors";
license = licenses.mit;
maintainers = with maintainers; [ AndersonTorres ];
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,32 @@
{ lib
, fetchFromGitHub
, rustPlatform
, pkg-config
, gtk3
, gtk-layer-shell
}:
rustPlatform.buildRustPackage rec {
pname = "sirula";
version = "unstable-2021-10-12";
src = fetchFromGitHub {
owner = "DorianRudolph";
repo = "sirula";
rev = "b300cabde03ec4d8c28ed84e318166b675fb4a77";
sha256 = "0pxdgjpqaf1bq1y1flafg0ksk8548rif6pfbw0lp31p655pq95c8";
};
cargoSha256 = "175rl09jmnj8pd5isyp2chnn66vdz1c16fgqhnjsxvbcasmn8vdj";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ gtk3 gtk-layer-shell ];
meta = with lib; {
description = "Simple app launcher for wayland written in rust";
homepage = "https://github.com/DorianRudolph/sirula";
license = with licenses; [ gpl3Plus ];
maintainers = with maintainers; [ twitchyliquid64 ];
};
}

View file

@ -0,0 +1,50 @@
{ lib
, stdenv
, fetchFromGitHub
, meson
, ninja
, pkg-config
, cairo
, libxkbcommon
, wayland
, wayland-protocols
, wayland-scanner
, buildDocs ? true, scdoc
}:
stdenv.mkDerivation rec {
pname = "slurp";
version = "1.3.2";
src = fetchFromGitHub {
owner = "emersion";
repo = "slurp";
rev = "v${version}";
sha256 = "sha256-5ZB34rqLyZmfjT/clxNRDmF0qgITFZ5xt/gIEXQzvQE=";
};
strictDeps = true;
nativeBuildInputs = [
meson
ninja
pkg-config
wayland-scanner
] ++ lib.optional buildDocs scdoc;
buildInputs = [
cairo
libxkbcommon
wayland
wayland-protocols
];
mesonFlags = lib.optional buildDocs "-Dman-pages=enabled";
meta = with lib; {
description = "Select a region in a Wayland compositor";
homepage = "https://github.com/emersion/slurp";
license = licenses.mit;
maintainers = with maintainers; [ buffet ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,26 @@
{ lib, stdenv, fetchFromGitHub
, meson, pkg-config, wayland-scanner, ninja
, wayland, wayland-protocols, freetype,
}:
stdenv.mkDerivation rec {
pname = "sov";
version = "0.71";
src = fetchFromGitHub {
owner = "milgra";
repo = pname;
rev = version;
sha256 = "sha256-6FdZ3UToeIAARxrOqSWBX+ALrlr4s2J0bj9c3l9ZTyQ=";
};
nativeBuildInputs = [ meson pkg-config wayland-scanner ninja ];
buildInputs = [ wayland wayland-protocols freetype ];
meta = with lib; {
description = "An overlay that shows schemas for all workspaces to make navigation in sway easier.";
homepage = "https://github.com/milgra/sov";
license = with licenses; [ mit ];
maintainers = with maintainers; [ travisdavis-ops ];
};
}

View file

@ -0,0 +1,37 @@
{ lib
, nimPackages
, fetchFromGitLab
, enableShells ? [ "bash" "zsh" "fish" "sh" "posh" ]
}:
nimPackages.buildNimPackage rec{
pname = "swaycwd";
version = "0.0.2";
src = fetchFromGitLab {
owner = "cab404";
repo = pname;
rev = "v${version}";
hash = "sha256-OZWOPtOqcX+fVQCxWntrn98EzFu70WH55rfYCPDMSKk=";
};
preConfigure = ''
{
echo 'let enabledShells: seq[string] = @${builtins.toJSON enableShells}'
echo 'export enabledShells'
} > shells.nim
cat << EOF > swaycwd.nimble
srcDir = "."
bin = "swaycwd"
EOF
'';
nimFlags = [ "--opt:speed" ];
meta = with lib; {
homepage = "https://gitlab.com/cab404/swaycwd";
description = "Returns cwd for shell in currently focused sway window, or home directory if cannot find shell";
maintainers = with maintainers; [ cab404 ];
platforms = platforms.linux;
license = licenses.gpl3Only;
};
}

View file

@ -0,0 +1,25 @@
{ lib, stdenv, fetchFromGitHub, meson, ninja, json_c, pkg-config }:
stdenv.mkDerivation rec {
pname = "swaykbdd";
version = "1.1";
src = fetchFromGitHub {
owner = "artemsen";
repo = "swaykbdd";
rev = "v${version}";
sha256 = "sha256-umYPVkkYeu6TyVkjDsVBsRZLYh8WyseCPdih85kTz6A=";
};
strictDeps = true;
nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [ json_c ];
meta = with lib; {
description = "Per-window keyboard layout for Sway";
homepage = "https://github.com/artemsen/swaykbdd";
license = licenses.mit;
maintainers = with maintainers; [ ivankovnatsky ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,30 @@
{ lib, fetchFromSourcehut, rustPlatform }:
rustPlatform.buildRustPackage rec {
pname = "swayr";
version = "0.16.1";
src = fetchFromSourcehut {
owner = "~tsdh";
repo = "swayr";
rev = "v${version}";
sha256 = "sha256-c/VHD5VceddhKanuId4rG1Tl+9Bg7zUmIqq4gMsy1e0=";
};
cargoSha256 = "sha256-0aGMWuU6DvBr9tvgDd1GZqhlY8bGCuPs8pSc5A03L3w=";
patches = [
./icon-paths.patch
];
preCheck = ''
export HOME=$TMPDIR
'';
meta = with lib; {
description = "A window switcher (and more) for sway";
homepage = "https://git.sr.ht/~tsdh/swayr";
license = with licenses; [ gpl3Plus ];
maintainers = with maintainers; [ artturin ];
};
}

View file

@ -0,0 +1,17 @@
diff --git a/src/config.rs b/src/config.rs
index de7d04b..291114b 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -197,6 +197,12 @@ impl Default for Format {
),
urgency_end: Some("</span>".to_string()),
icon_dirs: Some(vec![
+ "/run/current-system/sw/share/icons/hicolor/scalable/apps".to_string(),
+ "/run/current-system/sw/share/icons/hicolor/48x48/apps".to_string(),
+ "/run/current-system/sw/share/pixmaps".to_string(),
+ "~/.nix-profile/share/icons/hicolor/scalable/apps".to_string(),
+ "~/.nix-profile/share/icons/hicolor/48x48/apps".to_string(),
+ "~/.nix-profile/share/pixmaps".to_string(),
"/usr/share/icons/hicolor/scalable/apps".to_string(),
"/usr/share/icons/hicolor/48x48/apps".to_string(),
"/usr/share/pixmaps".to_string(),

View file

@ -0,0 +1,25 @@
{ lib
, rustPlatform
, fetchFromGitLab
}:
rustPlatform.buildRustPackage rec {
pname = "swaysome";
version = "1.1.5";
src = fetchFromGitLab {
owner = "hyask";
repo = pname;
rev = version;
sha256 = "sha256-E2Oy8ubH4VIpuH4idYNiZJISuYYe+stcUY/atN2JcVw=";
};
cargoSha256 = "sha256-S+GcyEYQ4nnVoPMuglTmFdP5j015UyCXMyyhPHa5m8k=";
meta = with lib; {
description = "Helper to make sway behave more like awesomewm";
homepage = "https://gitlab.com/hyask/swaysome";
license = licenses.mit;
maintainers = with maintainers; [ esclear ];
};
}

View file

@ -0,0 +1,22 @@
{ lib, buildPythonApplication, fetchFromGitHub, slurp }:
buildPythonApplication rec {
pname = "swaytools";
version = "0.1.1";
src = fetchFromGitHub {
owner = "tmccombs";
repo = "swaytools";
rev = version;
sha256 = "sha256-6Ec7MPqBia0PW+pBTAItLusWMg1wlFfEaxoh20/2uHg=";
};
propagatedBuildInputs = [ slurp ];
meta = with lib; {
homepage = "https://github.com/tmccombs/swaytools";
description = "Collection of simple tools for sway (and i3)";
license = licenses.gpl3Only;
maintainers = with maintainers; [ atila ];
};
}

View file

@ -0,0 +1,46 @@
{ lib
, fetchFromGitHub
, ocamlPackages
}:
ocamlPackages.buildDunePackage rec {
pname = "wayland-proxy-virtwl";
version = "unstable-2021-12-05";
src = fetchFromGitHub {
owner = "talex5";
repo = pname;
rev = "d7f58d405514dd031f2f12e402c8c6a58e62a885";
sha256 = "0riwaqdlrx2gzkrb02v4zdl4ivpmz9g5w87lj3bhqs0l3s6c249s";
};
postPatch = ''
# no need to vendor
rm -r ocaml-wayland
'';
useDune2 = true;
minimumOCamlVersion = "4.08";
strictDeps = true;
nativeBuildInputs = [
ocamlPackages.ppx_cstruct
];
buildInputs = with ocamlPackages; [
wayland
cmdliner
logs
cstruct-lwt
ppx_cstruct
];
doCheck = true;
meta = {
homepage = "https://github.com/talex5/wayland-virtwl-proxy";
description = "Proxy Wayland connections across a VM boundary";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.sternenseemann ];
};
}

View file

@ -0,0 +1,32 @@
{ lib, stdenv, fetchurl
, meson, pkg-config, ninja, wayland-scanner
, wayland, wayland-protocols
}:
stdenv.mkDerivation rec {
pname = "wayland-utils";
version = "1.0.0";
src = fetchurl {
url = "https://wayland.freedesktop.org/releases/${pname}-${version}.tar.xz";
sha256 = "1h38l850ww6hxjb1l8iwa33nkbz8q88bw6lh0aryjyp8b16crzk4";
};
strictDeps = true;
depsBuildBuild = [ pkg-config ];
nativeBuildInputs = [ meson pkg-config ninja wayland-scanner ];
buildInputs = [ wayland wayland-protocols ];
meta = with lib; {
description = "Wayland utilities (wayland-info)";
longDescription = ''
A collection of Wayland related utilities:
- wayland-info: A utility for displaying information about the Wayland
protocols supported by a Wayland compositor.
'';
homepage = "https://gitlab.freedesktop.org/wayland/wayland-utils";
license = licenses.mit; # Expat version
platforms = platforms.linux;
maintainers = with maintainers; [ primeos ];
};
}

View file

@ -0,0 +1,49 @@
{ lib
, stdenv
, fetchFromGitHub
, meson
, ninja
, pkg-config
, wayland
, wayland-protocols
, fetchpatch
, wayland-scanner
}:
stdenv.mkDerivation {
pname = "wdomirror";
version = "unstable-2021-01-08";
src = fetchFromGitHub {
owner = "progandy";
repo = "wdomirror";
rev = "e4a4934e6f739909fbf346cbc001c72690b5c906";
sha256 = "1fz0sajhdjqas3l6mpik8w1k15wbv65hgh9r9vdgfqvw5l6cx7jv";
};
patches = [
# https://github.com/progandy/wdomirror/pull/7
(fetchpatch {
url = "https://github.com/progandy/wdomirror/commit/142632208e9ea2b4a4ebd784532efdb8cad7b87c.patch";
hash = "sha256-MG71IEwRAjjacAkRoB7Tn45+FbY7LAqTDkVJkoWuQUU=";
})
];
strictDeps = true;
nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ];
buildInputs = [ wayland wayland-protocols ];
installPhase = ''
runHook preInstall
install -m755 -D wdomirror $out/bin/wdomirror
runHook postInstall
'';
meta = with lib; {
description = "Mirrors an output of a wlroots compositor to a window";
license = licenses.mit;
platforms = platforms.unix;
maintainers = with maintainers; [ jpas ];
};
}

View file

@ -0,0 +1,43 @@
{ lib
, stdenv
, fetchFromSourcehut
, pkg-config
, scdoc
, wayland-scanner
, wayland
, wayland-protocols
, libxkbcommon
}:
stdenv.mkDerivation rec {
pname = "wev";
version = "1.0.0";
src = fetchFromSourcehut {
owner = "~sircmpwn";
repo = pname;
rev = version;
sha256 = "0l71v3fzgiiv6xkk365q1l08qvaymxd4kpaya6r2g8yzkr7i2hms";
};
# for scdoc
depsBuildBuild = [
pkg-config
];
nativeBuildInputs = [ pkg-config scdoc wayland-scanner ];
buildInputs = [ wayland wayland-protocols libxkbcommon ];
installFlags = [ "PREFIX=$(out)" ];
meta = with lib; {
homepage = "https://git.sr.ht/~sircmpwn/wev";
description = "Wayland event viewer";
longDescription = ''
This is a tool for debugging events on a Wayland window, analagous to the
X11 tool xev.
'';
license = licenses.mit;
maintainers = with maintainers; [ primeos ];
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,31 @@
{ lib, stdenv, fetchFromGitHub, wl-clipboard, bash }:
stdenv.mkDerivation rec {
pname = "wl-clipboard-x11";
version = "5";
src = fetchFromGitHub {
owner = "brunelli";
repo = pname;
rev = "v${version}";
hash = "sha256-i+oF1Mu72O5WPTWzqsvo4l2CERWWp4Jq/U0DffPZ8vg=";
};
strictDeps = true;
buildInputs = [ bash ];
makeFlags = [ "PREFIX=${placeholder "out"}" ];
postPatch = ''
substituteInPlace src/wl-clipboard-x11 \
--replace '$(command -v wl-copy)' ${wl-clipboard}/bin/wl-copy \
--replace '$(command -v wl-paste)' ${wl-clipboard}/bin/wl-paste
'';
meta = with lib; {
description = "A wrapper to use wl-clipboard as a drop-in replacement for X11 clipboard tools";
homepage = "https://github.com/brunelli/wl-clipboard-x11";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ artturin ];
mainProgram = "xclip";
};
}

View file

@ -0,0 +1,34 @@
{ lib
, stdenv
, fetchFromGitHub
, meson
, ninja
, pkg-config
, wayland
, wayland-protocols
, wayland-scanner
}:
stdenv.mkDerivation rec {
pname = "wl-clipboard";
version = "2.0.0";
src = fetchFromGitHub {
owner = "bugaevc";
repo = "wl-clipboard";
rev = "v${version}";
sha256 = "0c4w87ipsw09aii34szj9p0xfy0m00wyjpll0gb0aqmwa60p0c5d";
};
strictDeps = true;
nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ];
buildInputs = [ wayland wayland-protocols ];
meta = with lib; {
homepage = "https://github.com/bugaevc/wl-clipboard";
description = "Command-line copy/paste utilities for Wayland";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ dywedir ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,62 @@
{ lib
, stdenv
, fetchFromGitHub
, slurp
, grim
, gnome
, wl-clipboard
, imagemagick
, makeWrapper
, bash
}:
stdenv.mkDerivation rec {
pname = "wl-color-picker";
version = "1.3";
src = fetchFromGitHub {
owner = "jgmdev";
repo = "wl-color-picker";
rev = "v${version}";
sha256 = "sha256-lvhpXy4Sd1boYNGhbPoZTJlBhlW5obltDOrEzB1Gq0A=";
};
strictDeps = true;
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ bash ];
patchPhase = ''
substituteInPlace Makefile \
--replace 'which' 'ls' \
--replace 'grim' "${grim}/bin/grim" \
--replace 'slurp' "${slurp}/bin/slurp" \
--replace 'convert' "${imagemagick}/bin/convert" \
--replace 'zenity' "${gnome.zenity}/bin/zenity" \
--replace 'wl-copy' "${wl-clipboard}/bin/wl-copy"
'';
installFlags = [
"DESTDIR=${placeholder "out"}"
];
postInstall = ''
wrapProgram $out/usr/bin/wl-color-picker \
--prefix PATH : ${lib.makeBinPath [
grim
slurp
imagemagick
gnome.zenity
wl-clipboard
]}
mkdir -p $out/bin
ln -s $out/usr/bin/wl-color-picker $out/bin/wl-color-picker
'';
meta = with lib; {
description = "Wayland color picker that also works on wlroots";
homepage = "https://github.com/jgmdev/wl-color-picker";
license = licenses.mit;
maintainers = with maintainers; [ onny ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,41 @@
{ lib, stdenv, fetchFromGitHub
, meson, pkg-config, ninja
, wayland, wayland-scanner, wlroots, wlr-protocols, gtk3, glib
}:
stdenv.mkDerivation rec {
pname = "wl-gammactl";
version = "unstable-2021-09-13";
src = fetchFromGitHub {
owner = "mischw";
repo = pname;
rev = "e2385950d97a3baf1b6e2f064dd419ccec179586";
sha256 = "8iMJK4O/sNIGPOBZQEfK47K6OjT6sxYFe19O2r/VSr8=";
};
strictDeps = true;
nativeBuildInputs = [ meson pkg-config ninja glib wayland-scanner ];
buildInputs = [ wayland wlroots gtk3 ];
postUnpack = ''
rmdir source/wlr-protocols
ln -s ${wlr-protocols}/share/wlr-protocols source
'';
postPatch = ''
substituteInPlace meson.build --replace "git = find_program('git')" "git = 'false'"
'';
meta = with lib; {
description = "Contrast, brightness, and gamma adjustments for Wayland";
longDescription = ''
Small GTK GUI application to set contrast, brightness, and gamma for wayland compositors which
support the wlr-gamma-control protocol extension.
'';
homepage = "https://github.com/mischw/wl-gammactl";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ lodi ];
};
}

View file

@ -0,0 +1,65 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, pkg-config
, wayland
, wayland-protocols
, wayland-scanner
, wlr-protocols
, libGL
, bash
, installExampleScripts ? true
, makeWrapper
, pipectl
, slurp
, rofi
}:
let
wl-present-binpath = lib.makeBinPath [
pipectl
rofi
slurp
(placeholder "out")
];
in
stdenv.mkDerivation rec {
pname = "wl-mirror";
version = "0.11.2";
src = fetchFromGitHub {
owner = "Ferdi265";
repo = "wl-mirror";
rev = "v${version}";
hash = "sha256-D5uUKaepcSW9v2x6uBeLGXAyuLorlt4Lb6lZD/prfp8=";
};
strictDeps = true;
nativeBuildInputs = [ cmake pkg-config wayland-scanner makeWrapper ];
buildInputs = [ libGL wayland wayland-protocols wlr-protocols bash ];
postPatch = ''
echo 'v${version}' > version.txt
substituteInPlace CMakeLists.txt \
--replace 'WL_PROTOCOL_DIR "/usr' 'WL_PROTOCOL_DIR "${wayland-protocols}' \
--replace 'WLR_PROTOCOL_DIR "/usr' 'WLR_PROTOCOL_DIR "${wlr-protocols}'
'';
cmakeFlags = [
"-DINSTALL_EXAMPLE_SCRIPTS=${if installExampleScripts then "ON" else "OFF"}"
];
postInstall = lib.optionalString installExampleScripts ''
wrapProgram $out/bin/wl-present --prefix PATH ":" ${wl-present-binpath}
'';
meta = with lib; {
homepage = "https://github.com/Ferdi265/wl-mirror";
description = "Mirrors an output onto a Wayland surface.";
license = licenses.gpl3;
maintainers = with maintainers; [ synthetica twitchyliquid64 ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,64 @@
{ lib
, stdenv
, fetchFromGitHub
, pkg-config
, meson
, ninja
, scdoc
, gtk3
, libxkbcommon
, wayland
, wayland-protocols
, gtk-layer-shell
# gtk-layer-shell fails to cross-compile due to a hard dependency
# on gobject-introspection.
# Disable it when cross-compiling since it's an optional dependency.
# This disables transparency support.
, withGtkLayerShell ? (stdenv.buildPlatform == stdenv.hostPlatform)
}:
stdenv.mkDerivation rec {
pname = "wlogout";
version = "1.1.1";
src = fetchFromGitHub {
owner = "ArtsyMacaw";
repo = "wlogout";
rev = version;
sha256 = "cTscfx+erHVFHwwYpN7pADQWt5sq75sQSyXSP/H8kOs=";
};
strictDeps = true;
depsBuildBuild = [ pkg-config ];
nativeBuildInputs = [ pkg-config meson ninja scdoc ];
buildInputs = [
gtk3
libxkbcommon
wayland
wayland-protocols
] ++ lib.optionals withGtkLayerShell [
gtk-layer-shell
];
postPatch = ''
substituteInPlace style.css \
--replace "/usr/share/wlogout" "$out/share/${pname}"
substituteInPlace main.c \
--replace "/etc/wlogout" "$out/etc/${pname}"
'';
mesonFlags = [
"--datadir=${placeholder "out"}/share"
"--sysconfdir=${placeholder "out"}/etc"
];
meta = with lib; {
homepage = "https://github.com/ArtsyMacaw/wlogout";
description = "A wayland based logout menu";
license = licenses.mit;
maintainers = with maintainers; [ AndersonTorres ];
platforms = platforms.unix;
};
}
# TODO: shell completions

View file

@ -0,0 +1,33 @@
{ lib
, stdenv
, fetchFromGitHub
, meson
, ninja
, pkg-config
, wayland
, wayland-scanner
}:
stdenv.mkDerivation rec {
pname = "wlr-randr";
version = "0.2.0";
src = fetchFromGitHub {
owner = "emersion";
repo = pname;
rev = "v${version}";
sha256 = "sha256-JeSxFXSFxcTwJz9EaLb18wtD4ZIT+ATeYM5OyDTJhDQ=";
};
strictDeps = true;
nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ];
buildInputs = [ wayland ];
meta = with lib; {
description = "An xrandr clone for wlroots compositors";
homepage = "https://github.com/emersion/wlr-randr";
license = licenses.mit;
maintainers = with maintainers; [ ma27 ];
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,30 @@
{ lib, stdenv, fetchFromSourcehut, meson, pkg-config, scdoc, ninja, libxkbcommon, wayland, wayland-scanner }:
stdenv.mkDerivation rec {
pname = "wlrctl";
version = "0.2.1";
src = fetchFromSourcehut {
owner = "~brocellous";
repo = "wlrctl";
rev = "v${version}";
sha256 = "039cxc82k7x473n6d65jray90rj35qmfdmr390zy0c7ic7vn4b78";
};
strictDeps = true;
depsBuildBuild = [
pkg-config
];
nativeBuildInputs = [ meson pkg-config scdoc ninja wayland-scanner ];
buildInputs = [ libxkbcommon wayland ];
NIX_CFLAGS_COMPILE = "-Wno-error=type-limits";
meta = with lib; {
description = "Command line utility for miscellaneous wlroots Wayland extensions";
homepage = "https://git.sr.ht/~brocellous/wlrctl";
license = licenses.mit;
maintainers = with maintainers; [ puffnfresh artturin ];
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,36 @@
{ lib, stdenv, fetchFromSourcehut
, meson, pkg-config, ninja, wayland-scanner, scdoc
, wayland, wayland-protocols
}:
stdenv.mkDerivation rec {
pname = "wlsunset";
version = "0.2.0";
src = fetchFromSourcehut {
owner = "~kennylevinsen";
repo = pname;
rev = version;
sha256 = "0hhsddh3rs066rbsjksr8kcwg8lvglbvs67dq0r5wx5c1xcwb51w";
};
strictDeps = true;
depsBuildBuild = [
pkg-config
];
nativeBuildInputs = [ meson pkg-config ninja wayland-scanner scdoc ];
buildInputs = [ wayland wayland-protocols ];
meta = with lib; {
description = "Day/night gamma adjustments for Wayland";
longDescription = ''
Day/night gamma adjustments for Wayland compositors supporting
wlr-gamma-control-unstable-v1.
'';
homepage = "https://sr.ht/~kennylevinsen/wlsunset/";
changelog = "https://git.sr.ht/~kennylevinsen/wlsunset/refs/${version}";
license = licenses.mit;
platforms = platforms.unix;
maintainers = with maintainers; [ primeos ];
};
}

View file

@ -0,0 +1,49 @@
{ lib
, stdenv
, fetchFromGitHub
, makeWrapper
, rustPlatform
, vulkan-loader
, pkg-config
, udev
, v4l-utils
, llvmPackages
}:
rustPlatform.buildRustPackage rec {
pname = "wluma";
version = "4.1.0";
src = fetchFromGitHub {
owner = "maximbaz";
repo = "wluma";
rev = version;
sha256 = "sha256-kUYh4RmD4zRI3ZNZWl2oWcO0Ze5czLBXUgPMl/cLW/I=";
};
nativeBuildInputs = [
makeWrapper
pkg-config
rustPlatform.bindgenHook
];
buildInputs = [
udev
v4l-utils
];
postInstall = ''
wrapProgram $out/bin/wluma \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ vulkan-loader ]}"
'';
cargoSha256 = "sha256-oOIL18gij7DdvgNOuaHtuyFemNBUB85Ouh/sdhKas+s=";
meta = with lib; {
description = "Automatic brightness adjustment based on screen contents and ALS";
homepage = "https://github.com/maximbaz/wluma";
license = licenses.isc;
maintainers = with maintainers; [ yshym jmc-figueira ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,47 @@
{ lib
, stdenv
, fetchFromGitHub
, meson
, ninja
, pkg-config
, scdoc
, wayland-scanner
, wayland
, wayland-protocols
, libseccomp
}:
stdenv.mkDerivation rec {
pname = "wob";
version = "0.13";
src = fetchFromGitHub {
owner = "francma";
repo = pname;
rev = version;
sha256 = "sha256-CXRBNnnhNV5LBIasVtmGrRG4ZXFGC7qNInU7Y0QsHbs=";
};
strictDeps = true;
depsBuildBuild = [
pkg-config
];
nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
buildInputs = [ wayland wayland-protocols ]
++ lib.optional stdenv.isLinux libseccomp;
mesonFlags = lib.optional stdenv.isLinux "-Dseccomp=enabled";
meta = with lib; {
inherit (src.meta) homepage;
description = "A lightweight overlay bar for Wayland";
longDescription = ''
A lightweight overlay volume/backlight/progress/anything bar for Wayland,
inspired by xob.
'';
changelog = "https://github.com/francma/wob/releases/tag/${version}";
license = licenses.isc;
maintainers = with maintainers; [ primeos ];
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,37 @@
{ lib, stdenv, fetchFromGitHub
, meson, pkg-config, wayland-scanner, ninja
, cairo, libinput, pango, wayland, wayland-protocols, libxkbcommon
}:
stdenv.mkDerivation rec {
pname = "wshowkeys-unstable";
version = "2021-08-01";
src = fetchFromGitHub {
owner = "ammgws";
repo = "wshowkeys";
rev = "e8bfc78f08ebdd1316daae59ecc77e62bba68b2b";
sha256 = "sha256-/HvNCQWsXOJZeCxHWmsLlbBDhBzF7XP/SPLdDiWMDC4=";
};
strictDeps = true;
nativeBuildInputs = [ meson pkg-config wayland-scanner ninja ];
buildInputs = [ cairo libinput pango wayland wayland-protocols libxkbcommon ];
meta = with lib; {
description = "Displays keys being pressed on a Wayland session";
longDescription = ''
Displays keypresses on screen on supported Wayland compositors (requires
wlr_layer_shell_v1 support).
Note: This tool requires root permissions to read input events, but these
permissions are dropped after startup. The NixOS module provides such a
setuid binary (use "programs.wshowkeys.enable = true;").
'';
homepage = "https://github.com/ammgws/wshowkeys";
license = with licenses; [ gpl3Only mit ];
# Some portions of the code are taken from Sway which is MIT licensed.
# TODO: gpl3Only or gpl3Plus (ask upstream)?
platforms = platforms.unix;
maintainers = with maintainers; [ primeos berbiche ];
};
}

View file

@ -0,0 +1,35 @@
{ lib
, stdenv
, fetchFromGitHub
, meson
, ninja
, pkg-config
, libxkbcommon
, wayland
}:
stdenv.mkDerivation rec {
pname = "wtype";
version = "0.4";
src = fetchFromGitHub {
owner = "atx";
repo = "wtype";
rev = "v${version}";
hash = "sha256-TfpzAi0mkXugQn70MISyNFOXIJpDwvgh3enGv0Xq8S4=";
};
strictDeps = true;
nativeBuildInputs = [ meson ninja pkg-config wayland ];
buildInputs = [ libxkbcommon wayland ];
meta = with lib; {
description = "xdotool type for wayland";
homepage = "https://github.com/atx/wtype";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ justinlovinger ];
};
}

View file

@ -0,0 +1,29 @@
{ lib, stdenv, fetchFromGitHub, cmake, scdoc, util-linux }:
stdenv.mkDerivation rec {
pname = "ydotool";
version = "1.0.1";
src = fetchFromGitHub {
owner = "ReimuNotMoe";
repo = "ydotool";
rev = "v${version}";
sha256 = "sha256-maXXGCqB8dkGO8956hsKSwM4HQdYn6z1jBFENQ9sKcA=";
};
strictDeps = true;
nativeBuildInputs = [ cmake scdoc ];
postInstall = ''
substituteInPlace ${placeholder "out"}/lib/systemd/user/ydotool.service \
--replace /usr/bin/kill "${util-linux}/bin/kill"
'';
meta = with lib; {
homepage = "https://github.com/ReimuNotMoe/ydotool";
description = "Generic Linux command-line automation tool";
license = licenses.agpl3Plus;
maintainers = with maintainers; [ willibutz kraem ];
platforms = with platforms; linux;
};
}