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,25 @@
{ lib, python3Packages }:
python3Packages.buildPythonApplication rec {
pname = "i3altlayout";
version = "0.3";
src = python3Packages.fetchPypi {
inherit pname version;
sha256 = "1h0phf3s6ljffxw0bs73k041wildaz01h37iv5mxhami41wrh4qf";
};
pythonPath = with python3Packages; [ enum-compat i3ipc docopt ];
doCheck = false;
pythonImportsCheck = [ "i3altlayout" ];
meta = with lib; {
maintainers = with maintainers; [ magnetophon ];
description = "Helps you handle more efficiently your screen real estate in i3wm by auto-splitting windows on their longest side";
homepage = "https://github.com/deadc0de6/i3altlayout";
license = licenses.gpl3Only;
platforms = platforms.linux;
};
}

View file

@ -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 = "1i01kqvsykanzs7pi94gab9k2dqg1ki40mmjrwa22n0ypkbnvsmx";
# 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;
};
}

View file

@ -0,0 +1,23 @@
{ lib, buildPythonPackage, fetchPypi, i3ipc }:
buildPythonPackage rec {
pname = "i3-balance-workspace";
version = "1.8.6";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-zJdn/Q6r60FQgfehtQfeDkmN0Rz3ZaqgNhiWvjyQFy0=";
};
propagatedBuildInputs = [ i3ipc ];
doCheck = false; # project has no test
pythonImportsCheck = [ "i3_balance_workspace" ];
meta = {
description = "Balance windows and workspaces in i3wm";
homepage = "https://pypi.org/project/i3-balance-workspace/";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ pacien ];
};
}

View file

@ -0,0 +1,55 @@
{ fetchFromGitHub, lib, stdenv, perl, makeWrapper
, iproute2, acpi, sysstat, alsa-utils
, scripts ? [ "bandwidth" "battery" "cpu_usage" "disk" "iface"
"load_average" "memory" "volume" "wifi" ]
}:
with lib;
let
perlscripts = [ "battery" "cpu_usage" "openvpn" "temperature" ];
contains_any = l1: l2: 0 < length( intersectLists l1 l2 );
in
stdenv.mkDerivation rec {
pname = "i3blocks-gaps";
version = "1.4";
src = fetchFromGitHub {
owner = "Airblader";
repo = "i3blocks-gaps";
rev = "4cfdf93c75f729a2c96d471004d31734e923812f";
sha256 = "0v9307ij8xzwdaxay3r75sd2cp453s3qb6q7dy9fks2p6wwqpazi";
};
makeFlags = [ "all" ];
installFlags = [ "PREFIX=\${out}" "VERSION=${version}" ];
buildInputs = optional (contains_any scripts perlscripts) perl;
nativeBuildInputs = [ makeWrapper ];
postFixup = optionalString (elem "bandwidth" scripts) ''
wrapProgram $out/libexec/i3blocks/bandwidth \
--prefix PATH : ${makeBinPath [ iproute2 ]}
'' + optionalString (elem "battery" scripts) ''
wrapProgram $out/libexec/i3blocks/battery \
--prefix PATH : ${makeBinPath [ acpi ]}
'' + optionalString (elem "cpu_usage" scripts) ''
wrapProgram $out/libexec/i3blocks/cpu_usage \
--prefix PATH : ${makeBinPath [ sysstat ]}
'' + optionalString (elem "iface" scripts) ''
wrapProgram $out/libexec/i3blocks/iface \
--prefix PATH : ${makeBinPath [ iproute2 ]}
'' + optionalString (elem "volume" scripts) ''
wrapProgram $out/libexec/i3blocks/volume \
--prefix PATH : ${makeBinPath [ alsa-utils ]}
'';
meta = with lib; {
description = "A flexible scheduler for your i3bar blocks -- this is a fork to use with i3-gaps";
homepage = "https://github.com/Airblader/i3blocks-gaps";
license = licenses.gpl3;
maintainers = with maintainers; [ carlsverre ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,33 @@
{ fetchFromGitHub, fetchpatch, lib, stdenv, autoreconfHook, pkg-config }:
with lib;
stdenv.mkDerivation {
pname = "i3blocks";
version = "1.5";
src = fetchFromGitHub {
owner = "vivien";
repo = "i3blocks";
rev = "3417602a2d8322bc866861297f535e1ef80b8cb0";
sha256 = "0v8mwnm8qzpv6xnqvrk43s4b9iyld4naqzbaxk4ldq1qkhai0wsv";
};
patches = [
# XDG_CONFIG_DIRS can contain multiple elements separated by colons, which should be searched in order.
(fetchpatch {
# https://github.com/vivien/i3blocks/pull/405
url = "https://github.com/edef1c/i3blocks/commit/d57b32f9a364aeaf36869efdd54240433c737e57.patch";
sha256 = "102xb0ax0hmg82dz2gzfag470dkckzf2yizai0izacvrz0d3ngj1";
})
];
nativeBuildInputs = [ autoreconfHook pkg-config ];
meta = {
description = "A flexible scheduler for your i3bar blocks";
homepage = "https://github.com/vivien/i3blocks";
license = licenses.gpl3;
platforms = with platforms; freebsd ++ linux;
};
}

View file

@ -0,0 +1,82 @@
{ 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
, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, findXMLCatalogs
}:
stdenv.mkDerivation rec {
pname = "i3";
version = "4.20.1";
src = fetchurl {
url = "https://i3wm.org/downloads/${pname}-${version}.tar.xz";
sha256 = "1rpwdgykcvmrmdz244f0wm7446ih1dcw8rlc1hm1c7cc42pyrq93";
};
nativeBuildInputs = [
pkg-config makeWrapper meson ninja installShellFiles perl
asciidoc xmlto docbook_xml_dtd_45 docbook_xsl findXMLCatalogs
];
mesonFlags = [
"-Ddocs=true"
"-Dmans=true"
];
buildInputs = [
libxcb xcbutilkeysyms xcbutil xcbutilwm xcbutilxrm libxkbcommon
libstartup_notification libX11 pcre libev yajl xcb-util-cursor perl pango
perlPackages.AnyEventI3 perlPackages.X11XCB perlPackages.IPCRun
perlPackages.ExtUtilsPkgConfig perlPackages.InlineC
xorgserver xvfb-run
];
configureFlags = [ "--disable-builddir" ];
postPatch = ''
patchShebangs .
'';
# Tests have been failing (at least for some people in some cases)
# and have been disabled until someone wants to fix them. Some
# initial digging uncovers that the tests call out to `git`, which
# they shouldn't, and then even once that's fixed have some
# perl-related errors later on. For more, see
# https://github.com/NixOS/nixpkgs/issues/7957
doCheck = false; # stdenv.hostPlatform.system == "x86_64-linux";
checkPhase = lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux")
''
(cd testcases && xvfb-run ./complete-run.pl -p 1 --keep-xserver-output)
! grep -q '^not ok' testcases/latest/complete-run.log
'';
postInstall = ''
wrapProgram "$out/bin/i3-save-tree" --prefix PERL5LIB ":" "$PERL5LIB"
for program in $out/bin/i3-sensible-*; do
sed -i 's/which/command -v/' $program
done
installManPage man/*.1
'';
separateDebugInfo = true;
meta = with lib; {
description = "A tiling window manager";
homepage = "https://i3wm.org";
maintainers = with maintainers; [ modulistic fpletz globin ];
license = licenses.bsd3;
platforms = platforms.all;
longDescription = ''
A tiling window manager primarily targeted at advanced users and
developers. Based on a tree as data structure, supports tiling,
stacking, and tabbing layouts, handled dynamically, as well as
floating windows. Configured via plain text file. Multi-monitor.
UTF-8 clean.
'';
};
}

View file

@ -0,0 +1,32 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, xorgproto, libxcb, xcbutilkeysyms
, xorg , i3ipc-glib , glib
}:
stdenv.mkDerivation {
pname = "i3easyfocus";
version = "20190411";
src = fetchFromGitHub {
owner = "cornerman";
repo = "i3-easyfocus";
rev = "fffb468f7274f9d7c9b92867c8cb9314ec6cf81a";
sha256 = "1db23vzzmp0hnfss1fkd80za6d2pajx7hdwikw50pk95jq0w8wfm";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ libxcb xcbutilkeysyms xorgproto xorg.libX11.dev i3ipc-glib glib.dev ];
# Makefile has no rule for 'install'
installPhase = ''
mkdir -p $out/bin
cp i3-easyfocus $out/bin
'';
meta = with lib; {
description = "Focus and select windows in i3";
homepage = "https://github.com/cornerman/i3-easyfocus";
maintainers = with maintainers; [teto];
license = licenses.gpl3;
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,29 @@
{ fetchFromGitHub, lib, i3 }:
i3.overrideAttrs (oldAttrs : rec {
pname = "i3-gaps";
version = "4.20.1";
src = fetchFromGitHub {
owner = "Airblader";
repo = "i3";
rev = version;
sha256 = "sha256-aS1dLs8KxoJaTf3RlQX+zRrtNmHEFZgkXDjt+8SuGDw=";
};
meta = with lib; {
description = "A fork of the i3 tiling window manager with some additional features";
homepage = "https://github.com/Airblader/i3";
maintainers = with maintainers; [ fmthoma ];
license = licenses.bsd3;
platforms = platforms.linux ++ platforms.netbsd ++ platforms.openbsd;
longDescription = ''
Fork of i3wm, a tiling window manager primarily targeted at advanced users
and developers. Based on a tree as data structure, supports tiling,
stacking, and tabbing layouts, handled dynamically, as well as floating
windows. This fork adds a few features such as gaps between windows.
Configured via plain text file. Multi-monitor. UTF-8 clean.
'';
};
})

View file

@ -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 = "134sgc9d0j57swknl9sgil6212rws2hhp92s3cg1yzz5ygx21c76";
# 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;
};
}

View file

@ -0,0 +1,22 @@
{ lib, buildPythonApplication, click, i3ipc, psutil, natsort, fetchPypi, xprop, xdotool, importlib-metadata }:
buildPythonApplication rec {
pname = "i3-resurrect";
version = "1.4.3";
src = fetchPypi {
inherit pname version;
sha256 = "0h181frdwpqfj9agw43qgicdvzv1i7xwky0vs0ksd8h18qxqp4hr";
};
propagatedBuildInputs = [ click psutil xprop natsort i3ipc xdotool importlib-metadata ];
doCheck = false; # no tests
meta = with lib; {
homepage = "https://github.com/JonnyHaystack/i3-resurrect";
description = "A simple but flexible solution to saving and restoring i3 workspaces";
license = licenses.gpl3;
platforms= platforms.linux;
maintainers = with maintainers; [ magnetophon ];
};
}

View file

@ -0,0 +1,34 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, xorgproto, libxcb
, autoreconfHook, json-glib, gtk-doc, which
, gobject-introspection
}:
stdenv.mkDerivation rec {
pname = "i3ipc-glib";
version = "1.0.1";
src = fetchFromGitHub {
owner = "acrisci";
repo = "i3ipc-glib";
rev = "v${version}";
sha256 = "01fzvrbnzcwx0vxw29igfpza9zwzp2s7msmzb92v01z0rz0y5m0p";
};
nativeBuildInputs = [ autoreconfHook which pkg-config ];
buildInputs = [ libxcb json-glib gtk-doc xorgproto gobject-introspection ];
preAutoreconf = ''
gtkdocize
'';
meta = with lib; {
description = "A C interface library to i3wm";
homepage = "https://github.com/acrisci/i3ipc-glib";
maintainers = with maintainers; [teto];
license = licenses.gpl3;
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,39 @@
{ lib, stdenv, fetchFromGitHub, vim, makeWrapper, jq, rofi, xrandr, xdotool, i3, gawk, libnotify }:
let
path = lib.makeBinPath [ vim jq rofi xrandr xdotool i3 gawk libnotify ];
in
stdenv.mkDerivation rec {
pname = "i3-layout-manager";
version = "unstable-2020-05-04";
src = fetchFromGitHub {
owner = "klaxalk";
repo = pname;
rev = "df54826bba351d8bcd7ebeaf26c07c713af7912c";
sha256 = "0ccvr43yp26fnh5d82cw7jcfq2sbxzzmdx2cp15bmxr8ixr8knc3";
};
nativeBuildInputs = [ makeWrapper ];
dontBuild = true;
installPhase = ''
runHook preInstall
install -D layout_manager.sh $out/bin/layout_manager
wrapProgram $out/bin/layout_manager \
--prefix PATH : "${path}"
runHook postInstall
'';
meta = with lib; {
homepage = "https://github.com/klaxalk/i3-layout-manager";
description = "Saving, loading and managing layouts for i3wm";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ ];
};
}

View file

@ -0,0 +1,32 @@
{ i3lock-color, lib, stdenv, fetchFromGitHub, fetchpatch }:
i3lock-color.overrideAttrs (oldAttrs : rec {
pname = "i3lock-blur";
version = "2.10";
src = fetchFromGitHub {
owner = "karulont";
repo = "i3lock-blur";
rev = version;
sha256 = "sha256-rBQHYVD9rurzTEXrgEnOziOP22D2EePC1+EV9Wi2pa0=";
};
patches = [
# Pull patch pending upstream inclusion for -fno-common toolchain
# support: https://github.com/karulont/i3lock-blur/pull/22
(fetchpatch {
name = "fno-common.patch";
url = "https://github.com/karulont/i3lock-blur/commit/ec8fe0e7f7d78bf445602ed517efd5c324bb32f7.patch";
sha256 = "sha256-0hXUr+ZEB1tpI3xw80/hGzKyeGuna4CQmEvK6t0VBqU=";
})
];
meta = with lib; {
description = "An improved screenlocker based upon XCB and PAM with background blurring filter";
homepage = "https://github.com/karulont/i3lock-blur/";
license = licenses.bsd3;
maintainers = with maintainers; [ dan4ik605743 ];
platforms = platforms.all;
broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/i3lock-blur.x86_64-darwin
};
})

View file

@ -0,0 +1,61 @@
{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libxcb,
xcbutilkeysyms , xcbutilimage, pam, libX11, libev, cairo, libxkbcommon,
libxkbfile, libjpeg_turbo, xcbutilxrm
}:
stdenv.mkDerivation rec {
version = "2.13.c.4";
pname = "i3lock-color";
src = fetchFromGitHub {
owner = "PandorasFox";
repo = "i3lock-color";
rev = version;
sha256 = "sha256-bbjkvgSKD57sdOtPYGLAKpQoIsJnF6s6ySq4dTWC3tI=";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [ libxcb xcbutilkeysyms xcbutilimage pam libX11
libev cairo libxkbcommon libxkbfile libjpeg_turbo xcbutilxrm ];
makeFlags = [ "all" ];
preInstall = ''
mkdir -p $out/share/man/man1
'';
installFlags = [ "PREFIX=\${out}" "SYSCONFDIR=\${out}/etc" "MANDIR=\${out}/share/man" ];
postInstall = ''
mv $out/bin/i3lock $out/bin/i3lock-color
mv $out/share/man/man1/i3lock.1 $out/share/man/man1/i3lock-color.1
sed -i 's/\(^\|\s\|"\)i3lock\(\s\|$\)/\1i3lock-color\2/g' $out/share/man/man1/i3lock-color.1
'';
meta = with lib; {
description = "A simple screen locker like slock, enhanced version with extra configuration options";
longDescription = ''
Simple screen locker. After locking, a colored background (default: white) or
a configurable image is shown, and a ring-shaped unlock-indicator gives feedback
for every keystroke. After entering your password, the screen is unlocked again.
i3lock-color is forked from i3lock (https://i3wm.org/i3lock/) with the following
enhancements / additional configuration options:
- indicator:
- shape: ring or bar
- size: configurable
- all colors: configurable
- all texts: configurable
- visibility: can be always visible, can be restricted to some screens
- background: optionally show a blurred screen instead of a single color
- more information: show text at configurable positions:
- clock: time/date with configurable format
- keyboard-layout
'';
homepage = "https://github.com/PandorasFox/i3lock-color";
maintainers = with maintainers; [ malyn ];
license = licenses.bsd3;
platforms = platforms.all;
broken = stdenv.isDarwin;
};
}

View file

@ -0,0 +1,32 @@
{ lib, stdenv, fetchFromGitHub, xorg, i3lock }:
stdenv.mkDerivation rec {
pname = "i3lock-fancy-rapid";
version = "2019-10-09";
src = fetchFromGitHub {
owner = "yvbbrjdr";
repo = "i3lock-fancy-rapid";
rev = "c67f09bc8a48798c7c820d7d4749240b10865ce0";
sha256 = "0jhvlj6v6wx70239pgkjxd42z1s2bzfg886ra6n1rzsdclf4rkc6";
};
buildInputs = [ xorg.libX11 ];
propagatedBuildInputs = [ i3lock ];
postPatch = ''
substituteInPlace i3lock-fancy-rapid.c \
--replace '"i3lock"' '"${i3lock}/bin/i3lock"'
'';
installPhase = ''
install -D i3lock-fancy-rapid $out/bin/i3lock-fancy-rapid
'';
meta = with lib; {
description = "A faster implementation of i3lock-fancy";
homepage = "https://github.com/yvbbrjdr/i3lock-fancy-rapid";
maintainers = with maintainers; [ nickhu ];
license = licenses.bsd3;
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,54 @@
{ lib
, stdenv
, fetchFromGitHub
, coreutils
, scrot
, imagemagick
, gawk
, i3lock-color
, getopt
, fontconfig
}:
stdenv.mkDerivation rec {
pname = "i3lock-fancy";
version = "unstable-2018-11-25";
src = fetchFromGitHub {
owner = "meskarune";
repo = "i3lock-fancy";
rev = "7accfb2aa2f918d1a3ab975b860df1693d20a81a";
sha256 = "00lqsvz1knb8iqy8lnkn3sf4c2c4nzb0smky63qf48m8za5aw9b1";
};
postPatch = ''
sed -i i3lock-fancy \
-e "s|mktemp|${coreutils}/bin/mktemp|" \
-e "s|'rm -f |'${coreutils}/bin/rm -f |" \
-e "s|scrot -z |${scrot}/bin/scrot -z |" \
-e "s|convert |${imagemagick.out}/bin/convert |" \
-e "s|awk -F|${gawk}/bin/awk -F|" \
-e "s| awk | ${gawk}/bin/awk |" \
-e "s|i3lock -i |${i3lock-color}/bin/i3lock-color -i |" \
-e 's|icon="/usr/share/i3lock-fancy/icons/lockdark.png"|icon="'$out'/share/i3lock-fancy/icons/lockdark.png"|' \
-e 's|icon="/usr/share/i3lock-fancy/icons/lock.png"|icon="'$out'/share/i3lock-fancy/icons/lock.png"|' \
-e "s|getopt |${getopt}/bin/getopt |" \
-e "s|fc-match |${fontconfig.bin}/bin/fc-match |" \
-e "s|shot=(import -window root)|shot=(${scrot}/bin/scrot -z -o)|"
rm Makefile
'';
installPhase = ''
mkdir -p $out/bin $out/share/i3lock-fancy/icons
cp i3lock-fancy $out/bin/i3lock-fancy
cp icons/lock*.png $out/share/i3lock-fancy/icons
'';
meta = with lib; {
description = "i3lock is a bash script that takes a screenshot of the desktop, blurs the background and adds a lock icon and text";
homepage = "https://github.com/meskarune/i3lock-fancy";
maintainers = with maintainers; [ ];
license = licenses.mit;
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,37 @@
{ fetchurl, lib, stdenv, which, pkg-config, libxcb, xcbutilkeysyms, xcbutilimage,
xcbutilxrm, pam, libX11, libev, cairo, libxkbcommon, libxkbfile }:
stdenv.mkDerivation rec {
pname = "i3lock";
version = "2.13";
src = fetchurl {
url = "https://i3wm.org/i3lock/${pname}-${version}.tar.bz2";
sha256 = "02szjsaz7rqrdkd0r2nwgwa85c4hwfrcskxw7ryk695kmjcfhzv3";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ which libxcb xcbutilkeysyms xcbutilimage xcbutilxrm
pam libX11 libev cairo libxkbcommon libxkbfile ];
makeFlags = [ "all" ];
installFlags = [ "PREFIX=\${out}" "SYSCONFDIR=\${out}/etc" ];
postInstall = ''
mkdir -p $out/share/man/man1
cp *.1 $out/share/man/man1
'';
meta = with lib; {
description = "A simple screen locker like slock";
longDescription = ''
Simple screen locker. After locking, a colored background (default: white) or
a configurable image is shown, and a ring-shaped unlock-indicator gives feedback
for every keystroke. After entering your password, the screen is unlocked again.
'';
homepage = "https://i3wm.org/i3lock/";
maintainers = with maintainers; [ malyn domenkozar ];
license = licenses.bsd3;
platforms = platforms.all;
};
}

View file

@ -0,0 +1,59 @@
{ lib
, fetchFromGitHub
, libpulseaudio
, libnotify
, gobject-introspection
, python3Packages
, wrapGAppsHook
, extraLibs ? [] }:
python3Packages.buildPythonApplication rec {
# i3pystatus moved to rolling release:
# https://github.com/enkore/i3pystatus/issues/584
version = "unstable-2020-06-12";
pname = "i3pystatus";
src = fetchFromGitHub {
owner = "enkore";
repo = "i3pystatus";
rev = "dad5eb0c5c8a2ecd20c37ade4732586c6e53f44b";
sha256 = "18ygvkl92yr69kxsym57k1mc90asdxpz4b943i61qr0s4fc5n4mq";
};
buildInputs = [ libpulseaudio libnotify gobject-introspection ];
propagatedBuildInputs = with python3Packages; [
keyring colour netifaces psutil basiciw pygobject3
] ++ extraLibs;
makeWrapperArgs = [
# LC_TIME != C results in locale.Error: unsupported locale setting
"--set" "LC_TIME" "C"
"--suffix" "LD_LIBRARY_PATH" ":" "${lib.makeLibraryPath [ libpulseaudio ]}"
];
postPatch = ''
makeWrapperArgs+=(--set GI_TYPELIB_PATH "$GI_TYPELIB_PATH")
'';
postInstall = ''
makeWrapper ${python3Packages.python.interpreter} $out/bin/${pname}-python-interpreter \
--prefix PYTHONPATH : "$PYTHONPATH" \
''${makeWrapperArgs[@]}
'';
# no tests in tarball
doCheck = false;
meta = with lib; {
homepage = "https://github.com/enkore/i3pystatus";
description = "A complete replacement for i3status";
longDescription = ''
i3pystatus is a growing collection of python scripts for status output compatible
to i3status / i3bar of the i3 window manager.
'';
license = licenses.mit;
platforms = platforms.linux;
maintainers = [ maintainers.igsha ];
};
}

View file

@ -0,0 +1,21 @@
{ fetchFromGitHub, lib, i3 }:
i3.overrideAttrs (oldAttrs: rec {
pname = "i3-rounded";
version = "unstable-2021-10-03";
src = fetchFromGitHub {
owner = "LinoBigatti";
repo = "i3-rounded";
rev = "524c9f7b50f8c540b2ae3480b242c30d8775f98e";
sha256 = "0y7m1s1y8f9vgkp7byi33js8n4rigiykd71s936i5d4rwlzrxiwm";
};
meta = with lib; {
description = "A fork of i3-gaps that adds rounding to window corners";
homepage = "https://github.com/LinoBigatti/i3-rounded";
maintainers = with maintainers; [ marsupialgutz ];
license = licenses.bsd3;
platforms = platforms.unix;
};
})

View file

@ -0,0 +1,63 @@
{ lib
, rustPlatform
, fetchFromGitHub
, pkg-config
, makeWrapper
, dbus
, libpulseaudio
, notmuch
, openssl
, ethtool
, lm_sensors
, iw
, iproute2
}:
rustPlatform.buildRustPackage rec {
pname = "i3status-rust";
version = "0.21.10";
src = fetchFromGitHub {
owner = "greshake";
repo = pname;
rev = "v${version}";
sha256 = "sha256-HtPgl52ysE/CVX706YeKBFc6CgGpHzvHwZoS+DzHADY=";
};
cargoSha256 = "sha256-ini0AIYwvTskNFMSC+Gy23ohL75PTET95e1mjpjCsWE=";
nativeBuildInputs = [ pkg-config makeWrapper ];
buildInputs = [ dbus libpulseaudio notmuch openssl lm_sensors ];
buildFeatures = [
"notmuch"
"maildir"
"pulseaudio"
];
prePatch = ''
substituteInPlace src/util.rs \
--replace "/usr/share/i3status-rust" "$out/share"
'';
postInstall = ''
mkdir -p $out/share
cp -R examples files/* $out/share
'';
postFixup = ''
wrapProgram $out/bin/i3status-rs --prefix PATH : ${lib.makeBinPath [ iproute2 ethtool iw ]}
'';
# Currently no tests are implemented, so we avoid building the package twice
doCheck = false;
meta = with lib; {
description = "Very resource-friendly and feature-rich replacement for i3status";
homepage = "https://github.com/greshake/i3status-rust";
license = licenses.gpl3Only;
maintainers = with maintainers; [ backuitist globin ma27 ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,23 @@
{ fetchurl, lib, stdenv, libconfuse, yajl, alsa-lib, libpulseaudio, libnl, meson, ninja, perl, pkg-config, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl }:
stdenv.mkDerivation rec {
pname = "i3status";
version = "2.14";
src = fetchurl {
url = "https://i3wm.org/i3status/i3status-${version}.tar.xz";
sha256 = "0929chhvyq9hg4scpcz8r9zn3s9jvbg6a86k3wqa77qg85rh4kaw";
};
nativeBuildInputs = [ meson ninja perl pkg-config asciidoc xmlto docbook_xml_dtd_45 docbook_xsl ];
buildInputs = [ libconfuse yajl alsa-lib libpulseaudio libnl ];
meta = {
description = "Generates a status line for i3bar, dzen2, xmobar or lemonbar";
homepage = "https://i3wm.org";
maintainers = [ ];
license = lib.licenses.bsd3;
platforms = lib.platforms.all;
};
}

View file

@ -0,0 +1,44 @@
{ lib
, buildPythonApplication
, fetchFromGitHub
, poetry-core
, i3ipc
, xlib
, six
}:
buildPythonApplication rec {
pname = "i3-swallow";
version = "unstable-2022-02-19";
format = "pyproject";
src = fetchFromGitHub {
owner = "jamesofarrell";
repo = "i3-swallow";
rev = "6fbc04645c483fe733de56b56743e453693d4c78";
sha256 = "1l3x8mixwq4n0lnyp0wz5vijgnypamq6lqjazcd2ywl2jv8d6fif";
};
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
i3ipc
xlib
six
];
# No tests available
doCheck = false;
meta = with lib; {
homepage = "https://github.com/jamesofarrell/i3-swallow";
description = "Swallow a terminal window in i3wm";
license = licenses.mit;
platforms = platforms.linux;
mainProgram = "swallow";
maintainers = [ maintainers.ivar ];
};
}

View file

@ -0,0 +1,31 @@
{ lib, fetchFromGitHub, python3Packages }:
python3Packages.buildPythonApplication rec {
pname = "i3-wk-switch";
version = "2020-03-18";
src = fetchFromGitHub {
owner = "tmfink";
repo = pname;
rev = "a618cb8f52120aa8d533bb7c0c8de3ff13b3dc06";
sha256 = "0ci0w5igjk5xa8x4rx17cpgmdkamwjmavxhp0vp6213cl93ybjhz";
};
propagatedBuildInputs = with python3Packages; [ i3ipc ];
dontBuild = true;
doCheck = false;
installPhase = ''
mkdir -p "$out/bin"
cp i3-wk-switch.py "$out/bin/i3-wk-switch"
'';
meta = with lib; {
description = "XMonad-like workspace switching for i3 and sway";
maintainers = with maintainers; [ synthetica ];
platforms = platforms.linux;
license = licenses.mit;
homepage = "https://travisf.net/i3-wk-switcher";
};
}

View file

@ -0,0 +1,32 @@
{ lib, fetchFromGitHub, rustPlatform
, xorg, python3, pkg-config, cairo, libxkbcommon }:
rustPlatform.buildRustPackage rec {
pname = "wmfocus";
version = "1.3.0";
src = fetchFromGitHub {
owner = "svenstaro";
repo = pname;
rev = "v${version}";
sha256 = "sha256-HrS+C/6KDG2Rn/3u/mMmp4vzQ5YAHUFL4HFecteuzsc=";
};
cargoSha256 = "sha256-EzgYnfUgwK2ldzrlqe9N9jeGgK+RzQPjbOjJCGEkcwE=";
nativeBuildInputs = [ python3 pkg-config ];
buildInputs = [ cairo libxkbcommon xorg.xcbutilkeysyms ];
# For now, this is the only available featureset. This is also why the file is
# in the i3 folder, even though it might be useful for more than just i3
# users.
buildFeatures = [ "i3" ];
meta = with lib; {
description = "Visually focus windows by label";
homepage = "https://github.com/svenstaro/wmfocus";
license = licenses.mit;
maintainers = with maintainers; [ synthetica ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,27 @@
{ lib
, rustPlatform
, fetchFromGitHub
}:
rustPlatform.buildRustPackage rec {
pname = "workstyle";
version = "unstable-2021-05-09";
src = fetchFromGitHub {
owner = "pierrechevalier83";
repo = pname;
rev = "f2023750d802259ab3ee7d7d1762631ec157a0b1";
sha256 = "04xds691sw4pi2nq8xvdhn0312wwia60gkd8b1bjqy11zrqbivbx";
};
cargoSha256 = "0xwv8spr96z4aimjlr15bhwl6i3zqp7jr45d9zr3sbi9d8dbdja2";
doCheck = false; # No tests
meta = with lib; {
description = "Sway workspaces with style";
homepage = "https://github.com/pierrechevalier83/workstyle";
license = licenses.mit;
maintainers = with maintainers; [ FlorianFranzen ];
};
}

View file

@ -0,0 +1,33 @@
{ lib, fetchFromGitHub, rustPlatform, libxcb, python3 }:
rustPlatform.buildRustPackage rec {
pname = "i3wsr";
version = "2.1.1";
src = fetchFromGitHub {
owner = "roosta";
repo = pname;
rev = "v${version}";
sha256 = "sha256-Mq4TpQDiIYePUS3EwBfOe2+QmvF6+WEDK12WahbuhSU=";
};
cargoSha256 = "sha256-hybvzHwHM0rQwgZfQpww/w9wQDW5h9P2KSjpAScVTBo=";
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 ];
};
}