feat: unify Waybar config for desktop and laptop profiles, add device-specific modules and settings

- Desktop and laptop configs now share core modules and formatting
- Device-specific modules (battery, backlight) only in laptop config
- Symlinks module will link correct config based on DOTFILES_DEVICE
- Tray icon size, disk modules, pulseaudio, and intervals unified

🤖 Generated with [opencode](https://opencode.ai)

Co-Authored-By: opencode <noreply@opencode.ai>
This commit is contained in:
Martin Büchler 2025-08-08 01:15:18 +02:00
parent 74fabc4c03
commit 069f09b466
2 changed files with 125 additions and 25 deletions

View File

@ -1,9 +1,23 @@
{ {
"layer": "top", "layer": "top",
"position": "top", "position": "bottom",
"modules-left": ["hyprland/workspaces"], "modules-left": [
"modules-center": ["clock"], "hyprland/workspaces",
"modules-right": ["idle_inhibitor", "cpu", "memory", "disk", "temperature", "pulseaudio", "network", "tray"], "idle_inhibitor"
],
"modules-center": [
"clock"
],
"modules-right": [
"cpu",
"memory",
"disk#root",
"disk#home",
"temperature",
"pulseaudio",
"network",
"tray",
],
"hyprland/workspaces": { "hyprland/workspaces": {
"format": "{icon}", "format": "{icon}",
"on-click": "activate", "on-click": "activate",
@ -11,7 +25,17 @@
"on-scroll-down": "hyprctl dispatch workspace e+1", "on-scroll-down": "hyprctl dispatch workspace e+1",
"all-outputs": true, "all-outputs": true,
"persistent-workspaces": { "persistent-workspaces": {
"*": [1,2,3,4,5,6,7,8,9] "*": [
1,
2,
3,
4,
5,
6,
7,
8,
9
]
} }
}, },
"clock": { "clock": {
@ -20,19 +44,27 @@
"format-alt": "{:%Y-%m-%d}" "format-alt": "{:%Y-%m-%d}"
}, },
"cpu": { "cpu": {
"format": " {usage}%" "format": " {usage}%",
"interval": 2
}, },
"memory": { "memory": {
"format": " {used}G/{total}G" "format": " {used}G/{total}G",
"interval": 2
}, },
"temperature": { "temperature": {
"critical-threshold": 80, "critical-threshold": 80,
"format": " {temperatureC}°C" "format": " {temperatureC}°C"
}, },
"disk": { "disk#root": {
"format": " {free} free", "interval": 60,
"format": " Root {percentage_used:2}%",
"path": "/" "path": "/"
}, },
"disk#home": {
"interval": 60,
"format": " Home {percentage_used:2}%",
"path": "/home"
},
"idle_inhibitor": { "idle_inhibitor": {
"format": " {status}", "format": " {status}",
"format-alt": " {status}" "format-alt": " {status}"
@ -48,6 +80,7 @@
}, },
"pulseaudio": { "pulseaudio": {
"format": "{icon} {volume}%", "format": "{icon} {volume}%",
"format-bluetooth": "{icon} {volume}%",
"format-muted": "󰝟 Muted", "format-muted": "󰝟 Muted",
"format-icons": { "format-icons": {
"headphone": "󰋋", "headphone": "󰋋",
@ -56,8 +89,18 @@
"phone": "󰏲", "phone": "󰏲",
"portable": "󰦧", "portable": "󰦧",
"car": "󰄋", "car": "󰄋",
"default": ["󰕿", "󰖀", "󰕾"] "default": [
"󰕿",
"󰖀",
"󰕾"
]
}, },
"on-click": "pavucontrol" "scroll-step": 5,
"on-click": "pavucontrol",
"on-click-right": "pactl set-default-sink alsa_output.usb-FiiO_DigiHug_USB_Audio-01.iec958-stereo",
"on-click-middle": "pactl set-default-sink alsa_output.pci-0000_0c_00.1.hdmi-stereo"
},
"tray": {
"icon-size": 20
} }
} }

View File

@ -1,9 +1,25 @@
{ {
"layer": "top", "layer": "top",
"position": "top", "position": "bottom",
"modules-left": ["hyprland/workspaces"], "modules-left": [
"modules-center": ["clock"], "hyprland/workspaces",
"modules-right": ["idle_inhibitor", "backlight", "cpu", "memory", "disk", "temperature", "pulseaudio", "network", "battery", "tray"], "idle_inhibitor"
],
"modules-center": [
"clock"
],
"modules-right": [
"backlight",
"cpu",
"memory",
"disk#root",
"disk#home",
"temperature",
"pulseaudio",
"network",
"battery",
"tray"
],
"hyprland/workspaces": { "hyprland/workspaces": {
"format": "{icon}", "format": "{icon}",
"on-click": "activate", "on-click": "activate",
@ -11,7 +27,17 @@
"on-scroll-down": "hyprctl dispatch workspace e+1", "on-scroll-down": "hyprctl dispatch workspace e+1",
"all-outputs": true, "all-outputs": true,
"persistent-workspaces": { "persistent-workspaces": {
"*": [1,2,3,4,5,6,7,8,9] "*": [
1,
2,
3,
4,
5,
6,
7,
8,
9
]
} }
}, },
"clock": { "clock": {
@ -20,10 +46,12 @@
"format-alt": "{:%Y-%m-%d}" "format-alt": "{:%Y-%m-%d}"
}, },
"cpu": { "cpu": {
"format": " {usage}%" "format": " {usage}%",
"interval": 2
}, },
"memory": { "memory": {
"format": " {used}G/{total}G" "format": " {used}G/{total}G",
"interval": 2
}, },
"temperature": { "temperature": {
"critical-threshold": 80, "critical-threshold": 80,
@ -33,10 +61,16 @@
"device": "intel_backlight", "device": "intel_backlight",
"format": " {percent}%" "format": " {percent}%"
}, },
"disk": { "disk#root": {
"format": " {free} free", "interval": 60,
"format": " Root {percentage_used:2}%",
"path": "/" "path": "/"
}, },
"disk#home": {
"interval": 60,
"format": " Home {percentage_used:2}%",
"path": "/home"
},
"idle_inhibitor": { "idle_inhibitor": {
"format": " {status}", "format": " {status}",
"format-alt": " {status}" "format-alt": " {status}"
@ -54,6 +88,7 @@
}, },
"pulseaudio": { "pulseaudio": {
"format": "{icon} {volume}%", "format": "{icon} {volume}%",
"format-bluetooth": "{icon} {volume}%",
"format-muted": "󰝟 Muted", "format-muted": "󰝟 Muted",
"format-icons": { "format-icons": {
"headphone": "󰋋", "headphone": "󰋋",
@ -62,9 +97,16 @@
"phone": "󰏲", "phone": "󰏲",
"portable": "󰦧", "portable": "󰦧",
"car": "󰄋", "car": "󰄋",
"default": ["󰕿", "󰖀", "󰕾"] "default": [
"󰕿",
"󰖀",
"󰕾"
]
}, },
"on-click": "pavucontrol" "scroll-step": 5,
"on-click": "pavucontrol",
"on-click-right": "pactl set-default-sink alsa_output.usb-FiiO_DigiHug_USB_Audio-01.iec958-stereo",
"on-click-middle": "pactl set-default-sink alsa_output.pci-0000_0c_00.1.hdmi-stereo"
}, },
"battery": { "battery": {
"states": { "states": {
@ -77,6 +119,21 @@
"format-alt": "{icon} {capacity}% • {power:.1f}W • {time}", "format-alt": "{icon} {capacity}% • {power:.1f}W • {time}",
"format-time": "{H}h {M}m", "format-time": "{H}h {M}m",
"tooltip-format": "{capacity}% • {power:.1f}W\n{timeTo}", "tooltip-format": "{capacity}% • {power:.1f}W\n{timeTo}",
"format-icons": ["󰂎", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"] "format-icons": [
"󰂎",
"󰁺",
"󰁻",
"󰁼",
"󰁽",
"󰁾",
"󰁿",
"󰂀",
"󰂁",
"󰂂",
"󰁹"
]
},
"tray": {
"icon-size": 20
} }
} }