diff --git a/ansible/roles/sway/files/waybar_sound_linux.bash b/ansible/roles/sway/files/waybar_sound_linux.bash
new file mode 100644
index 0000000..08f3101
--- /dev/null
+++ b/ansible/roles/sway/files/waybar_sound_linux.bash
@@ -0,0 +1,37 @@
+#!/usr/bin/env bash
+#
+# Read volume status in FreeBSD
+set -euo pipefail
+IFS=$'\n\t'
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+
+SLEEP_INTERVAL=${SLEEP_INTERVAL:-30}
+
+while true; do
+ current_vol_decimal=$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | sed 's/Volume: //g')
+ current_vol_percent=$(bc -s <<<"$current_vol_decimal * 100")
+ current_vol_percent=${current_vol_percent%.*} # Remove decimal
+ tooltip="$(wpctl status)"
+ tooltip=${tooltip//$'\n'/\\n}
+ tooltip=${tooltip//$'\t'/\\t}
+ class=""
+ icon=""
+
+ if [ $current_vol_percent -eq 0 ]; then
+ icon="🔇"
+ elif [ $current_vol_percent -le 50 ]; then
+ icon="🔉"
+ else
+ icon="🔊"
+ fi
+
+ jq --unbuffered --compact-output <