{ lib, config, pkgs, ...}: with lib; let cfg = config.wm.bar.polybar; pcfg = config.services.polybar; # TODO: create a theme colors = { orange = "#ee9a00"; }; polybarConfig = import ./config.nix { inherit lib config pkgs colors; }; in { options.wm.bar.polybar = { enable = mkOption { type = types.bool; default = false; description = "Enable polybar status bar"; }; }; config = mkIf cfg.enable { systemd.user.services.polybar = { # Add additional /usr/bin to run custom scripts Service.Environment = mkForce "PATH=${pcfg.package}/bin:/run/current-system/sw/bin"; }; services.polybar = { enable = true; script = "polybar &"; settings = polybarConfig; }; }; }