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.3";
18 pname = "powerline";
19 format = "setuptools";
20
21 src = fetchFromGitHub {
22 owner = pname;
23 repo = pname;
24 rev = "refs/tags/${version}";
25 hash = "sha256-UIx9/IZg6Wv596wHzQb0CO6zwmQXUaFEPKBojo2LXmA=";
26 };
27
28 propagatedBuildInputs = [
29 socat
30 psutil
31 python-hglib
32 pygit2
33 pyuv
34 ] ++ lib.optionals (!stdenv.isDarwin) [ i3ipc ];
35
36 # tests are travis-specific
37 doCheck = false;
38
39 postInstall = ''
40 install -dm755 "$out/share/fonts/OTF/"
41 install -dm755 "$out/etc/fonts/conf.d"
42 install -m644 "font/PowerlineSymbols.otf" "$out/share/fonts/OTF/PowerlineSymbols.otf"
43 install -m644 "font/10-powerline-symbols.conf" "$out/etc/fonts/conf.d/10-powerline-symbols.conf"
44
45 install -dm755 "$out/share/fish/vendor_functions.d"
46 install -m644 "powerline/bindings/fish/powerline-setup.fish" "$out/share/fish/vendor_functions.d/powerline-setup.fish"
47
48 cp -ra powerline/bindings/{bash,shell,tcsh,tmux,vim,zsh} $out/share/
49 rm $out/share/*/*.py
50 '';
51
52 meta = {
53 homepage = "https://github.com/powerline/powerline";
54 description = "Ultimate statusline/prompt utility";
55 license = lib.licenses.mit;
56 };
57}