diff options
Diffstat (limited to 'modules/desktop/status-bar/polybar')
4 files changed, 39 insertions, 4 deletions
diff --git a/modules/desktop/status-bar/polybar/bar/main.nix b/modules/desktop/status-bar/polybar/bar/main.nix index 25cce91..a389b8c 100644 --- a/modules/desktop/status-bar/polybar/bar/main.nix +++ b/modules/desktop/status-bar/polybar/bar/main.nix @@ -36,9 +36,11 @@ in { font-2 = "${config.fonts.normal}:style=Light:pixelsize=${largerFontSize};2"; modules-left = - lib.mkIf - config.desktop.window-manager.bspwm.enable - "bspwm separator"; + if config.desktop.window-manager.bspwm.enable then + "bspwm separator" + else if config.desktop.window-manager.i3.enable then + "i3 separator" + else ""; modules-center = "xwindow"; modules-right = "separator memory cpu battery time date kernel-version"; } diff --git a/modules/desktop/status-bar/polybar/default.nix b/modules/desktop/status-bar/polybar/default.nix index 0ea66c7..76901f6 100644 --- a/modules/desktop/status-bar/polybar/default.nix +++ b/modules/desktop/status-bar/polybar/default.nix @@ -1,5 +1,10 @@ { config, lib, pkgs, ... }: +let + polybarPackage = pkgs.polybar.override { + i3Support = config.desktop.window-manager.i3.enable; + }; +in { options.desktop.status-bar.polybar = { enable = lib.mkEnableOption "Enables polybar."; @@ -12,7 +17,7 @@ MONITOR_WIDTH=$(xrandr | grep '*' | awk '{print $1}' | cut -d'x' -f1 | head -n1) OFFSET=${toString config.desktop.window-manager.gap} -POLYBAR_WIDTH=$((MONITOR_WIDTH - 2 * OFFSET)) POLYBAR_OFFSET=$OFFSET polybar main & +POLYBAR_WIDTH=$((MONITOR_WIDTH - 2 * OFFSET)) POLYBAR_OFFSET=$OFFSET ${polybarPackage}/bin/polybar main & ''); }; }; @@ -20,6 +25,7 @@ POLYBAR_WIDTH=$((MONITOR_WIDTH - 2 * OFFSET)) POLYBAR_OFFSET=$OFFSET polybar mai config = lib.mkIf config.desktop.status-bar.polybar.enable { services.polybar.enable = true; services.polybar.script = config.desktop.status-bar.polybar.command; + services.polybar.package = polybarPackage; services.polybar.config = lib.mkMerge [ (import ./bar { inherit config lib; }) (import ./module { inherit config lib; }) diff --git a/modules/desktop/status-bar/polybar/module/default.nix b/modules/desktop/status-bar/polybar/module/default.nix index 3444086..5507569 100644 --- a/modules/desktop/status-bar/polybar/module/default.nix +++ b/modules/desktop/status-bar/polybar/module/default.nix @@ -7,6 +7,10 @@ lib.mkIf config.desktop.window-manager.bspwm.enable (import ./bspwm.nix { inherit config; }); + "module/i3" = + lib.mkIf + config.desktop.window-manager.i3.enable + (import ./i3.nix { inherit config; }); "module/cpu" = import ./cpu.nix { inherit config; }; "module/memory" = import ./memory.nix { inherit config; }; "module/date" = import ./date.nix { inherit config; }; diff --git a/modules/desktop/status-bar/polybar/module/i3.nix b/modules/desktop/status-bar/polybar/module/i3.nix new file mode 100644 index 0000000..46595cd --- /dev/null +++ b/modules/desktop/status-bar/polybar/module/i3.nix @@ -0,0 +1,23 @@ +{ config }: + +with config.scheme.withHashtag; +{ + type = "internal/i3"; + + pin-workspaces = true; + + label-focused = "%index%"; + label-focused-underline = "${base0D}"; + label-focused-padding = 2; + + label-occupied = "%index%"; + label-occupied-padding = 2; + + label-urgent = "%index%"; + label-urgent-underline = "${base08}"; + label-urgent-padding = 2; + + label-empty = "%index%"; + label-empty-foreground = "${base03}"; + label-empty-padding = 2; +} |
