chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / ya / yambar / package.nix
blob776f5fdab249171e5977326ef550ca0aa14a5060
1 { lib
2 , stdenv
3 , fetchFromGitea
4 , alsa-lib
5 , bison
6 , fcft
7 , flex
8 , json_c
9 , libmpdclient
10 , libyaml
11 , meson
12 , ninja
13 , pipewire
14 , pixman
15 , pkg-config
16 , pulseaudio
17 , scdoc
18 , tllist
19 , udev
20 , wayland
21 , wayland-protocols
22 , wayland-scanner
23 , xcbutil
24 , xcbutilcursor
25 , xcbutilerrors
26 , xcbutilwm
27 , waylandSupport ? true
28 , x11Support ? true
31 assert (x11Support || waylandSupport);
32 stdenv.mkDerivation (finalAttrs: {
33   pname = "yambar";
34   version = "1.11.0";
36   src = fetchFromGitea {
37     domain = "codeberg.org";
38     owner = "dnkl";
39     repo = "yambar";
40     rev = finalAttrs.version;
41     hash = "sha256-QCwwMpBYuMWYqxE2ugPFpG/QtZDW7VsSBYs5EqKYejA=";
42   };
44   outputs = [ "out" "man" ];
46   depsBuildBuild = [ pkg-config ];
48   nativeBuildInputs = [
49     bison
50     flex
51     meson
52     ninja
53     pkg-config
54     scdoc
55     wayland-scanner
56   ];
58   buildInputs = [
59     alsa-lib
60     fcft
61     json_c
62     libmpdclient
63     libyaml
64     pipewire
65     pixman
66     pulseaudio
67     tllist
68     udev
69   ] ++ lib.optionals (waylandSupport) [
70     wayland
71     wayland-protocols
72   ] ++ lib.optionals (x11Support) [
73     xcbutil
74     xcbutilcursor
75     xcbutilerrors
76     xcbutilwm
77   ];
79   strictDeps = true;
81   mesonBuildType = "release";
83   mesonFlags = [
84     (lib.mesonBool "werror" false)
85     (lib.mesonEnable "backend-x11" x11Support)
86     (lib.mesonEnable "backend-wayland" waylandSupport)
87   ];
89   meta = {
90     homepage = "https://codeberg.org/dnkl/yambar";
91     description = "Modular status panel for X11 and Wayland";
92     longDescription = ''
93       yambar is a lightweight and configurable status panel (bar, for short) for
94       X11 and Wayland, that goes to great lengths to be both CPU and battery
95       efficient - polling is only done when absolutely necessary.
97       It has a number of modules that provide information in the form of tags.
98       For example, the clock module has a date tag that contains the current
99       date.
101       The modules do not know how to present the information though. This is
102       instead done by particles. And the user, you, decides which particles (and
103       thus how to present the data) to use.
105       Furthermore, each particle can have a decoration - a background color or a
106       graphical underline, for example.
108       There is no support for images or icons. use an icon font (e.g. Font
109       Awesome, or Material Icons) if you want a graphical representation.
111       There are a number of modules and particles builtin. More can be added as
112       plugins. You can even write your own!
114       To summarize: a bar displays information provided by modules, using
115       particles and decorations. How is configured by you.
116     '';
117     changelog = "https://codeberg.org/dnkl/yambar/releases/tag/${finalAttrs.version}";
118     license = lib.licenses.mit;
119     maintainers = with lib.maintainers; [ AndersonTorres ];
120     platforms = lib.platforms.linux;
121     mainProgram = "yambar";
122   };