aboutsummaryrefslogtreecommitdiffstats
path: root/modules/desktop/polybar
diff options
context:
space:
mode:
Diffstat (limited to 'modules/desktop/polybar')
-rw-r--r--modules/desktop/polybar/bar/main.nix2
-rw-r--r--modules/desktop/polybar/default.nix2
-rw-r--r--modules/desktop/polybar/module/default.nix8
-rw-r--r--modules/desktop/polybar/module/vpn-separator.nix17
-rw-r--r--modules/desktop/polybar/module/vpn.nix17
5 files changed, 43 insertions, 3 deletions
diff --git a/modules/desktop/polybar/bar/main.nix b/modules/desktop/polybar/bar/main.nix
index 93edf90..10afb3e 100644
--- a/modules/desktop/polybar/bar/main.nix
+++ b/modules/desktop/polybar/bar/main.nix
@@ -37,5 +37,5 @@ in
modules-left = "i3 separator";
modules-center = "xwindow";
- modules-right = "separator volume separator battery separator wifi wifi-separator ethernet ethernet-separator time separator memory separator cpu separator date";
+ modules-right = "separator volume separator battery separator vpn vpn-separator wifi wifi-separator ethernet ethernet-separator time separator memory separator cpu separator date";
}
diff --git a/modules/desktop/polybar/default.nix b/modules/desktop/polybar/default.nix
index c52377c..22cdc04 100644
--- a/modules/desktop/polybar/default.nix
+++ b/modules/desktop/polybar/default.nix
@@ -18,7 +18,7 @@
services.polybar.script = "${config.services.polybar.package}/bin/polybar main &";
services.polybar.config = lib.mkMerge [
(import ./bar { inherit config; })
- (import ./module { inherit config; })
+ (import ./module { inherit config lib pkgs; })
{
settings = {
screenchange-reload = true;
diff --git a/modules/desktop/polybar/module/default.nix b/modules/desktop/polybar/module/default.nix
index 1ccbd02..e759d47 100644
--- a/modules/desktop/polybar/module/default.nix
+++ b/modules/desktop/polybar/module/default.nix
@@ -1,4 +1,8 @@
-{ config }:
+{
+ lib,
+ config,
+ pkgs,
+}:
# Module - Polybar module definitions (battery, cpu, date, i3, memory, volume, wifi, etc.)
{
@@ -12,6 +16,8 @@
"module/separator" = import ./separator.nix { inherit config; };
"module/time" = import ./time.nix { inherit config; };
"module/volume" = import ./volume.nix { inherit config; };
+ "module/vpn-separator" = import ./vpn-separator.nix { inherit config lib pkgs; };
+ "module/vpn" = import ./vpn.nix { inherit config lib pkgs; };
"module/wifi-separator" = import ./wifi-separator.nix { inherit config; };
"module/wifi" = import ./wifi.nix { inherit config; };
"module/xwindow" = import ./xwindow.nix { };
diff --git a/modules/desktop/polybar/module/vpn-separator.nix b/modules/desktop/polybar/module/vpn-separator.nix
new file mode 100644
index 0000000..5d92162
--- /dev/null
+++ b/modules/desktop/polybar/module/vpn-separator.nix
@@ -0,0 +1,17 @@
+{
+ pkgs,
+ lib,
+ config,
+}:
+
+# VPN - Visual separator for VPN module
+with config.scheme.withHashtag;
+{
+ type = "custom/script";
+ exec-if = "${lib.getExe pkgs.zsh} -c '${lib.getExe' pkgs.iproute2 "ip"} a | ${lib.getExe pkgs.gnugrep} -q tun0'";
+ exec = "echo VPN";
+ interval = 5;
+
+ format = " %{F${base03}}%{T3}│%{T-}%{F-} ";
+ label = "%output%";
+}
diff --git a/modules/desktop/polybar/module/vpn.nix b/modules/desktop/polybar/module/vpn.nix
new file mode 100644
index 0000000..dc0467e
--- /dev/null
+++ b/modules/desktop/polybar/module/vpn.nix
@@ -0,0 +1,17 @@
+{
+ pkgs,
+ lib,
+ config,
+}:
+
+# VPN - Just indicates if VPN is connected with openvpn
+with config.scheme.withHashtag;
+{
+ type = "custom/script";
+ exec-if = "${lib.getExe pkgs.zsh} -c '${lib.getExe' pkgs.iproute2 "ip"} a | ${lib.getExe pkgs.gnugrep} -q tun0'";
+ exec = "echo VPN";
+ interval = 5;
+
+ format = "%{T2}%{F${base03}} %{F-}%{T-} <label>";
+ label = "%output%";
+}