nixpkgs-suyu/pkgs/applications/window-managers/velox/default.nix
gnidorah b9851a975e Make less known wayland compositors usable (#32285)
* bemenu: init at 2017-02-14

* velox: 2015-11-03 -> 2017-07-04

* orbment, velox: don't expose subprojects

the development of orbment and velox got stuck
their subprojects (bemenu, dmenu-wayland, st-wayland) don't work correctly outside of parent projects
so hide them to not confuse people
swc and wld libraries are unpopular and unlike wlc are not used by anything except velox

* pythonPackages.pydbus: init at 0.6.0

* way-cooler: 0.5.2 -> 0.6.2

* nixos/way-cooler: add module

* dconf module: use for wayland

non-invasive approach for #31293
see discussion at #32210

* sway: embed LD_LIBRARY_PATH for #32755

* way-cooler: switch from buildRustPackage to buildRustCrate #31150
2017-12-21 16:16:19 +00:00

59 lines
1.5 KiB
Nix

{ lib, stdenv, fetchFromGitHub, pkgconfig, makeWrapper, newScope
, libxkbcommon
, wayland, pixman, fontconfig
, stConf ? null, stPatches ? []
}:
let
callPackage = newScope self;
self = {
swc = callPackage ./swc.nix {};
wld = callPackage ./wld.nix {};
dmenu-velox = callPackage ./dmenu.nix {};
st-velox = callPackage ./st.nix {
conf = stConf;
patches = stPatches;
};
};
in with self; stdenv.mkDerivation rec {
name = "velox-${version}";
version = "git-2017-07-04";
src = fetchFromGitHub {
owner = "michaelforney";
repo = "velox";
rev = "0b1d3d62861653d92d0a1056855a84fcef661bc0";
sha256 = "0p5ra5p5w21wl696rmv0vdnl7jnri5iwnxfs6nl6miwydhq2dmci";
};
nativeBuildInputs = [ pkgconfig makeWrapper ];
buildInputs = [ swc libxkbcommon wld wayland pixman fontconfig ];
propagatedUserEnvPkgs = [ swc ];
makeFlags = "PREFIX=$(out)";
preBuild = ''
substituteInPlace config.c \
--replace /etc/velox.conf $out/etc/velox.conf
'';
installPhase = ''
PREFIX=$out make install
mkdir -p $out/etc
cp velox.conf.sample $out/etc/velox.conf
'';
postFixup = ''
wrapProgram $out/bin/velox \
--prefix PATH : "${stdenv.lib.makeBinPath [ dmenu-velox st-velox ]}"
'';
enableParallelBuilding = true;
meta = {
description = "velox window manager";
homepage = "https://github.com/michaelforney/velox";
license = lib.licenses.mit;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ ];
};
}