diff options
| author | triethyl <triethylammonium@pm.me> | 2025-10-27 14:23:32 -0400 |
|---|---|---|
| committer | triethyl <triethylammonium@pm.me> | 2025-10-27 14:23:32 -0400 |
| commit | 939d761c32904c408290d6764930d31e0cc890ab (patch) | |
| tree | b25b0a73d76228f910ebfcb2979b0afa8dc20bd2 /home-manager/features/gui/desktops/niri/parts/waybar.nix | |
| parent | fe7c52513cb49b7e56968bb1d759c7428d1e97f6 (diff) | |
home manager: cleaned up and edited desktop
Diffstat (limited to 'home-manager/features/gui/desktops/niri/parts/waybar.nix')
| -rwxr-xr-x | home-manager/features/gui/desktops/niri/parts/waybar.nix | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/home-manager/features/gui/desktops/niri/parts/waybar.nix b/home-manager/features/gui/desktops/niri/parts/waybar.nix index 7535b0c..06ad79e 100755 --- a/home-manager/features/gui/desktops/niri/parts/waybar.nix +++ b/home-manager/features/gui/desktops/niri/parts/waybar.nix @@ -12,14 +12,14 @@ in { layer = "top"; position = "bottom"; height = 32; - modules-left = [ "battery" "network" "backlight" "pulseaudio" ]; + modules-left = [ "battery" "network" "backlight" "pulseaudio" "custom/syncthing" ]; modules-center = [ "niri/workspaces" ]; modules-right = [ "clock#date" "clock#time" ]; "clock#date" = { format = " {:%A, %B %d}"; }; "clock#time" = { - format = " {:%I:%M}"; + format = " {:%I:%M}"; }; pulseaudio = { format = " {volume}%"; @@ -61,6 +61,20 @@ in { */ }; }; + "custom/syncthing" = { + exec = lib.getExe (pkgs.writers.writeNuBin "syncthing-waybar-module" /*nu*/ '' + let status = ${lib.getExe pkgs.stc-cli} events | from json | where type == "StateChanged" | reverse | get 0.data.to + let percent = ${lib.getExe pkgs.stc-cli} json_dump | from json | get folders | get syncPercentDone | math avg | into int + let icon = if ($status == "idle") { "" + } else if ($status == "scanning") { "" + } else if ($status == "syncing") { "" + } else { "" } + let percent_string = if ($percent == 100) { "Synced" } else { ($percent | into string) + "%" } + return ($icon + " " + $percent_string) + ''); + on-click = "${lib.getExe pkgs.stc-cli} rescan all"; + interval = 3; + }; }; }; style = let @@ -78,7 +92,7 @@ in { window#waybar { background-color: transparent; } - #clock.time, #clock.date, #backlight, #pulseaudio, #battery, #network { + #clock.time, #clock.date, #custom-syncthing, #backlight, #pulseaudio, #battery, #network { background-color: @background-color; color: @text-color; border-radius: ${border-radius}px; @@ -86,9 +100,12 @@ in { border-color: @border-color; padding: 0px ${padding}px; } - #backlight, #pulseaudio, #battery, #network { + #backlight, #pulseaudio, #battery, #network, #custom-syncthing { margin: 0px 0px ${padding} ${padding}; } + #clock.date, #clock.time { + margin: 0px ${padding} ${padding} 0px + } #workspaces { background-color: @background-color; color: @background-color; @@ -127,9 +144,6 @@ in { opacity: 0.8; transition: all 0.3s cubic-bezier(.25,.1,.25,1); } - #clock.date, #clock.time { - margin: 0px ${padding} ${padding} 0px - } ''; }; }; |
