1{
2 lib,
3 fetchFromGitHub,
4 buildPythonPackage,
5 socat,
6 psutil,
7 python-hglib,
8 pygit2,
9 pyuv,
10 i3ipc,
11 stdenv,
12}:
13
14# TODO: bzr support is missing because nixpkgs switched to `breezy`
15
16buildPythonPackage rec {
17 version = "2.8.4";
18 pname = "powerline";
19 format = "setuptools";
20
21 src = fetchFromGitHub {
22 owner = "powerline";
23 repo = "powerline";
24 tag = version;
25 hash = "sha256-snJrfUvP11lBIy6F0WtqJt9fiYm5jxMwm9u3u5XFO84=";
26 };
27
28 propagatedBuildInputs = [
29 socat
30 psutil
31 python-hglib
32 pygit2
33 pyuv
34 ]
35 ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ i3ipc ];
36
37 # tests are travis-specific
38 doCheck = false;
39
40 postInstall = ''
41 install -dm755 "$out/share/fonts/OTF/"
42 install -dm755 "$out/etc/fonts/conf.d"
43 install -m644 "font/PowerlineSymbols.otf" "$out/share/fonts/OTF/PowerlineSymbols.otf"
44 install -m644 "font/10-powerline-symbols.conf" "$out/etc/fonts/conf.d/10-powerline-symbols.conf"
45
46 install -dm755 "$out/share/fish/vendor_functions.d"
47 install -m644 "powerline/bindings/fish/powerline-setup.fish" "$out/share/fish/vendor_functions.d/powerline-setup.fish"
48
49 cp -ra powerline/bindings/{bash,shell,tcsh,tmux,vim,zsh} $out/share/
50 rm $out/share/*/*.py
51 '';
52
53 meta = {
54 homepage = "https://github.com/powerline/powerline";
55 description = "Ultimate statusline/prompt utility";
56 license = lib.licenses.mit;
57 };
58}