aboutsummaryrefslogtreecommitdiffstats
path: root/modules/desktop/status-bar/polybar
diff options
context:
space:
mode:
authorArpit Chakladar <54011232+arpitchakladar@users.noreply.github.com>2024-09-24 23:13:51 +0530
committerArpit Chakladar <54011232+arpitchakladar@users.noreply.github.com>2024-09-24 23:13:51 +0530
commitc0c5087218c27e31c3e6f66f3937bff22fa0f647 (patch)
treedede2292db1423cef901932a7898ec951c9d2345 /modules/desktop/status-bar/polybar
parent21265ba643f1c12ad40e5195de8a3a97682adbde (diff)
downloadhome-manager-config-c0c5087218c27e31c3e6f66f3937bff22fa0f647.tar.gz
home-manager-config-c0c5087218c27e31c3e6f66f3937bff22fa0f647.zip
Using nix flake modules to manage the configurations.
Diffstat (limited to 'modules/desktop/status-bar/polybar')
-rw-r--r--modules/desktop/status-bar/polybar/bars/main.nix28
-rw-r--r--modules/desktop/status-bar/polybar/default.nix24
-rw-r--r--modules/desktop/status-bar/polybar/modules/battery.nix36
-rw-r--r--modules/desktop/status-bar/polybar/modules/bspwm.nix22
-rw-r--r--modules/desktop/status-bar/polybar/modules/cpu.nix9
-rw-r--r--modules/desktop/status-bar/polybar/modules/date.nix10
-rw-r--r--modules/desktop/status-bar/polybar/modules/kernel-version.nix10
-rw-r--r--modules/desktop/status-bar/polybar/modules/memory.nix9
-rw-r--r--modules/desktop/status-bar/polybar/modules/time.nix10
-rw-r--r--modules/desktop/status-bar/polybar/modules/xwindow.nix7
10 files changed, 165 insertions, 0 deletions
diff --git a/modules/desktop/status-bar/polybar/bars/main.nix b/modules/desktop/status-bar/polybar/bars/main.nix
new file mode 100644
index 0000000..630664d
--- /dev/null
+++ b/modules/desktop/status-bar/polybar/bars/main.nix
@@ -0,0 +1,28 @@
+config:
+
+with config.scheme.withHashtag;
+{
+ width = "100%";
+ height = 30;
+ radius = 3;
+ fixed-center = false;
+
+ background = "${base00}";
+ foreground = "${base05}";
+
+ line-size = 3;
+ line-color = "${base08}";
+
+ border-size = 4;
+ padding-left = 2;
+ padding-right = 2;
+
+ module-margin-left = 2;
+ module-margin-right = 2;
+
+ font-0 = "FiraCode Nerd Font:pixelsize=16;3";
+
+ modules-left = "bspwm";
+ modules-center = "xwindow";
+ modules-right = "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
new file mode 100644
index 0000000..11f4f1a
--- /dev/null
+++ b/modules/desktop/status-bar/polybar/default.nix
@@ -0,0 +1,24 @@
+{ config, lib, ... }:
+
+{
+ options = {
+ polybar.enable = lib.mkEnableOption "Enables polybar.";
+ };
+
+ config = lib.mkIf config.polybar.enable {
+ services.polybar.enable = true;
+ services.polybar.script = "polybar main &";
+
+ services.polybar.config = {
+ "bar/main" = import ./bars/main.nix config;
+ "module/xwindow" = import ./modules/xwindow.nix config;
+ "module/bspwm" = import ./modules/bspwm.nix config;
+ "module/cpu" = import ./modules/cpu.nix config;
+ "module/memory" = import ./modules/memory.nix config;
+ "module/date" = import ./modules/date.nix config;
+ "module/time" = import ./modules/time.nix config;
+ "module/battery" = import ./modules/battery.nix config;
+ "module/kernel-version" = import ./modules/kernel-version.nix config;
+ };
+ };
+}
diff --git a/modules/desktop/status-bar/polybar/modules/battery.nix b/modules/desktop/status-bar/polybar/modules/battery.nix
new file mode 100644
index 0000000..9860c3c
--- /dev/null
+++ b/modules/desktop/status-bar/polybar/modules/battery.nix
@@ -0,0 +1,36 @@
+config:
+
+with config.scheme.withHashtag;
+{
+ type = "internal/battery";
+ battery = "BAT0";
+ adapter = "ADP1";
+
+ format-charging = "<animation-charging> <label-charging>";
+ format-discharging = "<ramp-capacity> <label-discharging>";
+ format-full-prefix = "%{F${base0B}}󰁹%{F-}";
+
+ ramp-capacity-0 = "%{F${base0C}}󰁺%{F-}";
+ ramp-capacity-1 = "%{F${base0C}}󰁻%{F-}";
+ ramp-capacity-2 = "%{F${base0C}}󰁼%{F-}";
+ ramp-capacity-3 = "%{F${base0C}}󰁽%{F-}";
+ ramp-capacity-4 = "%{F${base0C}}󰁾%{F-}";
+ ramp-capacity-5 = "%{F${base0C}}󰁿%{F-}";
+ ramp-capacity-6 = "%{F${base0C}}󰂀%{F-}";
+ ramp-capacity-7 = "%{F${base0C}}󰂁%{F-}";
+ ramp-capacity-8 = "%{F${base0C}}󰂂%{F-}";
+ ramp-capacity-9 = "%{F${base0C}}󰁹%{F-}";
+
+ animation-charging-0 = "%{F${base0C}}󰁺%{F-}";
+ animation-charging-1 = "%{F${base0C}}󰁻%{F-}";
+ animation-charging-2 = "%{F${base0C}}󰁼%{F-}";
+ animation-charging-3 = "%{F${base0C}}󰁽%{F-}";
+ animation-charging-4 = "%{F${base0C}}󰁾%{F-}";
+ animation-charging-5 = "%{F${base0C}}󰁿%{F-}";
+ animation-charging-6 = "%{F${base0C}}󰂀%{F-}";
+ animation-charging-7 = "%{F${base0C}}󰂁%{F-}";
+ animation-charging-8 = "%{F${base0C}}󰂂%{F-}";
+ animation-charging-9 = "%{F${base0C}}󰁹%{F-}";
+
+ animation-charging-framerate = 750;
+}
diff --git a/modules/desktop/status-bar/polybar/modules/bspwm.nix b/modules/desktop/status-bar/polybar/modules/bspwm.nix
new file mode 100644
index 0000000..7ec5c6d
--- /dev/null
+++ b/modules/desktop/status-bar/polybar/modules/bspwm.nix
@@ -0,0 +1,22 @@
+config:
+
+with config.scheme.withHashtag;
+{
+ type = "internal/bspwm";
+
+ label-focused = "%index%";
+ label-focused-background = "${base01}";
+ label-focused-underline = "${base0D}";
+ label-focused-padding = 2;
+
+ label-occupied = "%index%";
+ label-occupied-padding = 2;
+
+ label-urgent = "%index%!";
+ label-urgent-background = "${base08}";
+ label-urgent-padding = 2;
+
+ label-empty = "%index%";
+ label-empty-foreground = "${base03}";
+ label-empty-padding = 2;
+}
diff --git a/modules/desktop/status-bar/polybar/modules/cpu.nix b/modules/desktop/status-bar/polybar/modules/cpu.nix
new file mode 100644
index 0000000..f118990
--- /dev/null
+++ b/modules/desktop/status-bar/polybar/modules/cpu.nix
@@ -0,0 +1,9 @@
+config:
+
+with config.scheme.withHashtag;
+{
+ type = "internal/cpu";
+ interval = 2;
+ format-prefix = "%{F${base09}} %{F-}";
+ label = "%percentage%%";
+}
diff --git a/modules/desktop/status-bar/polybar/modules/date.nix b/modules/desktop/status-bar/polybar/modules/date.nix
new file mode 100644
index 0000000..11a5934
--- /dev/null
+++ b/modules/desktop/status-bar/polybar/modules/date.nix
@@ -0,0 +1,10 @@
+config:
+
+with config.scheme.withHashtag;
+{
+ type = "internal/date";
+ interval = 60;
+ date = "%d/%m/%Y";
+ label = "%date%";
+ format-prefix = "%{F${base0B}} %{F-}";
+}
diff --git a/modules/desktop/status-bar/polybar/modules/kernel-version.nix b/modules/desktop/status-bar/polybar/modules/kernel-version.nix
new file mode 100644
index 0000000..a900264
--- /dev/null
+++ b/modules/desktop/status-bar/polybar/modules/kernel-version.nix
@@ -0,0 +1,10 @@
+config:
+
+with config.scheme.withHashtag;
+{
+ type = "custom/script";
+ exec = "uname -r";
+ interval = 1024;
+ format-prefix = "%{F${base03}} %{F-}";
+ label = "%output%";
+}
diff --git a/modules/desktop/status-bar/polybar/modules/memory.nix b/modules/desktop/status-bar/polybar/modules/memory.nix
new file mode 100644
index 0000000..1aff8a3
--- /dev/null
+++ b/modules/desktop/status-bar/polybar/modules/memory.nix
@@ -0,0 +1,9 @@
+config:
+
+with config.scheme.withHashtag;
+{
+ type = "internal/memory";
+ interval = 2;
+ format-prefix = "%{F${base0A}} %{F-}";
+ label = "%percentage_used%%";
+}
diff --git a/modules/desktop/status-bar/polybar/modules/time.nix b/modules/desktop/status-bar/polybar/modules/time.nix
new file mode 100644
index 0000000..e4c7cbe
--- /dev/null
+++ b/modules/desktop/status-bar/polybar/modules/time.nix
@@ -0,0 +1,10 @@
+config:
+
+with config.scheme.withHashtag;
+{
+ type = "internal/date";
+ interval = 30;
+ time = "%H:%M";
+ label = "%time%";
+ format-prefix = "%{F${base0C}} %{F-}";
+}
diff --git a/modules/desktop/status-bar/polybar/modules/xwindow.nix b/modules/desktop/status-bar/polybar/modules/xwindow.nix
new file mode 100644
index 0000000..23245ba
--- /dev/null
+++ b/modules/desktop/status-bar/polybar/modules/xwindow.nix
@@ -0,0 +1,7 @@
+config:
+
+with config.scheme.withHashtag;
+{
+ type = "internal/xwindow";
+ label = "%title:0:30:...%";
+}