summary refs log tree commit diff
path: root/pkgs/applications/misc/yambar/default.nix
blob: 933f352e5e865462783cd867c4eda63fe5179867 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
{ stdenv
, lib
, fetchgit
, pkg-config
, meson
, ninja
, scdoc
, alsa-lib
, fcft
, json_c
, libmpdclient
, libxcb
, libyaml
, pixman
, tllist
, udev
, wayland
, wayland-protocols
, xcbutil
, xcbutilcursor
, xcbutilerrors
, xcbutilwm
}:

stdenv.mkDerivation rec {
  pname = "yambar";
  version = "1.6.2";

  src = fetchgit {
    url = "https://codeberg.org/dnkl/yambar.git";
    rev = version;
    sha256 = "sha256-oUNkaWrYIcsK2u+aeRg6DHmH4M1VZ0leNSM0lV9Yy1Y=";
  };

  nativeBuildInputs = [ pkg-config meson ninja scdoc ];
  buildInputs = [
    alsa-lib
    fcft
    json_c
    libmpdclient
    libxcb
    libyaml
    pixman
    tllist
    udev
    wayland
    wayland-protocols
    xcbutil
    xcbutilcursor
    xcbutilerrors
    xcbutilwm
  ];

  meta = with lib; {
    homepage = "https://codeberg.org/dnkl/yambar";
    description = "Modular status panel for X11 and Wayland";
    longDescription = ''
      yambar is a lightweight and configurable status panel (bar, for short) for
      X11 and Wayland, that goes to great lengths to be both CPU and battery
      efficient - polling is only done when absolutely necessary.

      It has a number of modules that provide information in the form of
      tags. For example, the clock module has a date tag that contains the
      current date.

      The modules do not know how to present the information though. This is
      instead done by particles. And the user, you, decides which particles (and
      thus how to present the data) to use.

      Furthermore, each particle can have a decoration - a background color or a
      graphical underline, for example.

      There is no support for images or icons. use an icon font (e.g. Font
      Awesome, or Material Icons) if you want a graphical representation.

      There are a number of modules and particles builtin. More can be added as
      plugins. You can even write your own!

      To summarize: a bar displays information provided by modules, using
      particles and decorations. How is configured by you.
    '';
    license = licenses.mit;
    maintainers = with maintainers; [ AndersonTorres ];
    platforms = with platforms; unix;
  };
}