mirror of
https://github.com/kmein/niveum
synced 2026-03-22 04:41:07 +01:00
chore: update, spotify, notify
This commit is contained in:
@@ -27,7 +27,7 @@ let
|
||||
if [ -n "$1" ]; then
|
||||
xdotool key Shift+Insert
|
||||
else
|
||||
notify-send "'$chosen' copied to clipboard." &
|
||||
notify-send --app-name="emoji-menu" "'$chosen' copied to clipboard." &
|
||||
fi
|
||||
'';
|
||||
|
||||
|
||||
@@ -7,15 +7,40 @@ in
|
||||
environment.systemPackages = with pkgs; [
|
||||
spotify
|
||||
spotify-tui
|
||||
playerctl
|
||||
];
|
||||
|
||||
services.spotifyd = {
|
||||
enable = true;
|
||||
config = toTOML {
|
||||
# https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/audio/spotifyd.nix
|
||||
systemd.user.services.spotifyd =
|
||||
let
|
||||
spotifyd = pkgs.unstable.spotifyd.override {
|
||||
withMpris = true;
|
||||
withPulseAudio = true;
|
||||
inherit (pkgs) libpulseaudio dbus;
|
||||
};
|
||||
spotifydConf = pkgs.writeText "spotifyd.conf" (lib.generators.toINI {} {
|
||||
global = {
|
||||
username = fileContents <shared-secrets/spotify/username>;
|
||||
password_cmd = "${pkgs.pass}/bin/pass shared/spotify/password";
|
||||
password = fileContents <shared-secrets/spotify/password>;
|
||||
backend = "pulseaudio";
|
||||
on_song_change_hook = toString (pkgs.writers.writeDash "songinfo" ''
|
||||
PATH=$PATH:${lib.makeBinPath [pkgs.playerctl pkgs.gawk pkgs.libnotify]}
|
||||
metadata=$(playerctl metadata --player spotifyd)
|
||||
title=$(echo "$metadata" | awk '/xesam:title\s/ { print substr($0, index($0, $3)) }')
|
||||
artist=$(echo "$metadata" | awk '/xesam:artist\s/ { print substr($0, index($0, $3)) }' | paste --serial --delimiters "/")
|
||||
album=$(echo "$metadata" | awk '/xesam:album\s/ { print substr($0, index($0, $3)) }')
|
||||
notify-send --app-name=" Spotify" "$title" "$album — $artist"
|
||||
'');
|
||||
};
|
||||
});
|
||||
in {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-online.target" "sound.target" ];
|
||||
description = "spotifyd, a Spotify playing daemon";
|
||||
serviceConfig = {
|
||||
ExecStart = "${spotifyd}/bin/spotifyd --no-daemon --config-path ${spotifydConf}";
|
||||
Restart = "always";
|
||||
RestartSec = 12;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user