From 1714497695d59a2267fdd5651de9dd3ba45a206f Mon Sep 17 00:00:00 2001 From: Dmitriy Holkin Date: Sat, 8 Feb 2020 03:53:35 +0400 Subject: [PATCH] spotifyd with spotify-tui --- modules/applications/packages.nix | 1 + modules/default.nix | 1 + modules/packages.nix | 8 ++++++-- modules/secrets.nix | 1 + modules/workspace/i3/default.nix | 2 +- modules/workspace/spotifyd.nix | 24 ++++++++++++++++++++++++ 6 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 modules/workspace/spotifyd.nix diff --git a/modules/applications/packages.nix b/modules/applications/packages.nix index 6bc568d..a6f0ce5 100644 --- a/modules/applications/packages.nix +++ b/modules/applications/packages.nix @@ -91,6 +91,7 @@ in { xarchiver tdesktop spotifywm + spotify-tui discord pulseeffects ] ++ lib.optionals (!isVM) [ diff --git a/modules/default.nix b/modules/default.nix index 0d3865b..123a08a 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -31,6 +31,7 @@ device: ./workspace/misc.nix ./workspace/mpv.nix ./workspace/rofi.nix + ./workspace/spotifyd.nix ./workspace/xresources.nix ./workspace/zsh.nix ]; diff --git a/modules/packages.nix b/modules/packages.nix index ac385e6..a5aed6b 100644 --- a/modules/packages.nix +++ b/modules/packages.nix @@ -14,13 +14,17 @@ in { pkgs, config, lib, ... }: { i3lock-fancy-rapid = pkgs.callPackage ./applications/i3lock-fancy-rapid.nix { }; - git-with-libsecret = super.git.override { withLibsecret = true; }; - xonar-fp = pkgs.callPackage ./applications/xonar-fp.nix { }; + + git-with-libsecret = super.git.override { withLibsecret = true; }; } ) ]; + nixpkgs.config.packageOverrides = pkgs: { + spotifyd = pkgs.spotifyd.override { withPulseAudio = true; }; + }; + nixpkgs.pkgs = import imports.nixpkgs { config.allowUnfree = true; } // config.nixpkgs.config; diff --git a/modules/secrets.nix b/modules/secrets.nix index d14ecf1..ab1dd77 100644 --- a/modules/secrets.nix +++ b/modules/secrets.nix @@ -26,6 +26,7 @@ in rec { }; windows-samba = mkCredOption "samba on windows" { }; linux-samba = mkCredOption "samba on linux" { }; + spotify = mkCredOption "Spotify" { }; }; config = let secretnix = import ../secret.nix; diff --git a/modules/workspace/i3/default.nix b/modules/workspace/i3/default.nix index 78200a9..b1a51e1 100644 --- a/modules/workspace/i3/default.nix +++ b/modules/workspace/i3/default.nix @@ -94,7 +94,7 @@ in { startup = map (a: { notification = false; } // a) [ { command = "${pkgs.xorg.xrdb}/bin/xrdb -merge ~/.Xresources"; } { command = "${pkgs.pywal}/bin/wal -R"; } - { command = "${pkgs.spotifywm}/bin/spotifywm"; } + # { command = "${pkgs.spotifywm}/bin/spotifywm"; } { command = "${pkgs.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1"; diff --git a/modules/workspace/spotifyd.nix b/modules/workspace/spotifyd.nix new file mode 100644 index 0000000..07fbe10 --- /dev/null +++ b/modules/workspace/spotifyd.nix @@ -0,0 +1,24 @@ +{ pkgs, config, lib, ... }: +let + spotifydConf = pkgs.writeText "spotifyd.conf" '' + [global] + username = ${config.secrets.spotify.user} + password = ${config.secrets.spotify.password} + use_keyring = false + bitrate = 320 + volume_normalisation = false + backend = pulseaudio + ''; +in { + #TODO: отвязать от папки пользователя + systemd.user.services.spotifyd = { + wantedBy = [ "default.target" ]; + after = [ "network-online.target" "sound.target" ]; + description = "spotifyd, a Spotify playing daemon"; + serviceConfig = { + ExecStart = "${pkgs.spotifyd}/bin/spotifyd --no-daemon --cache-path /home/alukard/.cache/spotifyd --config-path ${spotifydConf}"; + Restart = "always"; + RestartSec = 12; + }; + }; +} \ No newline at end of file