testing
This commit is contained in:
67
modules/home/programs/waybar/scripts/media.nix
Normal file
67
modules/home/programs/waybar/scripts/media.nix
Normal file
@@ -0,0 +1,67 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
namespace,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.${namespace}.programs.waybar;
|
||||
|
||||
waybar-media = pkgs.writeScriptBin "waybar-media" ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Get current playing song from playerctl
|
||||
if command -v playerctl &> /dev/null; then
|
||||
# Check if any player is running
|
||||
if playerctl status &> /dev/null; then
|
||||
artist=$(playerctl metadata xesam:artist 2>/dev/null)
|
||||
title=$(playerctl metadata xesam:title 2>/dev/null)
|
||||
|
||||
if [[ -n "$artist" && -n "$title" ]]; then
|
||||
echo "♪ $artist - $title"
|
||||
elif [[ -n "$title" ]]; then
|
||||
echo "♪ $title"
|
||||
else
|
||||
echo "♪ Music Playing"
|
||||
fi
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
'';
|
||||
|
||||
waybar-media-art = pkgs.writeScriptBin "waybar-media-art" ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Get current playing song from playerctl
|
||||
if command -v playerctl &> /dev/null; then
|
||||
# Check if any player is running
|
||||
if playerctl status &> /dev/null; then
|
||||
art=$(playerctl metadata mpris:artUrl 2>/dev/null)
|
||||
|
||||
if [[ -n "$art" ]]; then
|
||||
echo "♪ $artist - $title"
|
||||
else
|
||||
echo "♪ Music Playing"
|
||||
fi
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
'';
|
||||
in
|
||||
{
|
||||
imports = [ ../options.nix ];
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
home.packages = [
|
||||
waybar-media
|
||||
waybar-media-art
|
||||
];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user