add: ollama waybar integration, modified cloud config to add ollama systemd service
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
"layer": "top",
|
||||
"modules-left": ["sway/workspaces"],
|
||||
"modules-center": ["clock"],
|
||||
"modules-right": ["custom/playerctl", "custom/weather", "pulseaudio", "custom/network", "tray"],
|
||||
"modules-right": ["custom/playerctl", "custom/weather", "pulseaudio", "custom/network", "custom/ollama", "tray"],
|
||||
"sway/workspaces": {
|
||||
"disable-scroll": true,
|
||||
"all-outputs": true,
|
||||
@@ -42,6 +42,14 @@
|
||||
"interval": 5,
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/ollama": {
|
||||
"format": "{text}",
|
||||
"return-type": "json",
|
||||
"exec": "bash $HOME/.config/waybar/ollama.sh",
|
||||
"on-click": "bash $HOME/.config/waybar/ollama.sh toggle",
|
||||
"interval": 2,
|
||||
"tooltip": true
|
||||
},
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}%",
|
||||
"format-bluetooth": "{icon} {volume}%",
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env bash
|
||||
set -u
|
||||
|
||||
service=ollama.service
|
||||
|
||||
# The shared Waybar config is also used by hosts without Ollama.
|
||||
if ! systemctl --user cat "$service" >/dev/null 2>&1; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ ${1:-} == toggle ]]; then
|
||||
if systemctl --user is-active --quiet "$service"; then
|
||||
systemctl --user stop "$service"
|
||||
else
|
||||
systemctl --user start "$service"
|
||||
fi
|
||||
exit $?
|
||||
fi
|
||||
|
||||
if systemctl --user is-active --quiet "$service"; then
|
||||
printf '%s\n' '{"text":"<span foreground=\"#9ece6a\">●</span> Local AI","tooltip":"Ollama is running. Click to stop it.","class":"running"}'
|
||||
else
|
||||
printf '%s\n' '{"text":"<span foreground=\"#f7768e\">●</span> Local AI","tooltip":"Ollama is stopped. Click to start it.","class":"stopped"}'
|
||||
fi
|
||||
@@ -32,10 +32,11 @@ window#waybar {
|
||||
#memory,
|
||||
#pulseaudio,
|
||||
#custom-network,
|
||||
#custom-ollama,
|
||||
#battery,
|
||||
#clock,
|
||||
#custom-playerctl {
|
||||
padding: 0 10px;
|
||||
padding: 0 5px;
|
||||
margin: 0 5px;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user