nixpkgs/nixos/modules/programs/wayland/waybar.nix
r-vdp 5737bd989d
waybar: make the systemd target that pulls in waybar configurable
This is useful for instance when you only want one WM to pull in waybar,
and not all of them.
2025-04-18 10:38:53 +02:00

37 lines
875 B
Nix

{
lib,
pkgs,
config,
...
}:
let
cfg = config.programs.waybar;
in
{
options.programs.waybar = {
enable = lib.mkEnableOption "waybar, a highly customizable Wayland bar for Sway and Wlroots based compositors";
package =
lib.mkPackageOption pkgs "waybar" { }
// lib.mkOption {
apply = pkg: pkg.override { systemdSupport = true; };
};
systemd.target = lib.mkOption {
type = lib.types.str;
description = ''
The systemd target that will automatically start the Waybar service.
'';
default = "graphical-session.target";
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
systemd = {
packages = [ cfg.package ];
user.services.waybar.wantedBy = [ cfg.systemd.target ];
};
};
meta.maintainers = [ lib.maintainers.FlorianFranzen ];
}