replace mpd with mopidy
This commit is contained in:
parent
6b5dbaa92e
commit
ef57d36110
5 changed files with 131 additions and 19 deletions
|
@ -65,11 +65,6 @@ let
|
|||
${pkgs.procps}/bin/pkill -2 wf-recorder
|
||||
'';
|
||||
|
||||
um = pkgs.writeScript "update-music.sh" ''
|
||||
#!${pkgs.bash}/bin/bash
|
||||
${pkgs.mpc_cli}/bin/mpc update --wait && ${pkgs.mpc_cli}/bin/mpc clear && ${pkgs.mpc_cli}/bin/mpc ls | ${pkgs.mpc_cli}/bin/mpc add
|
||||
'';
|
||||
|
||||
ezDrv = pkgs.runCommand "ez-commands" { } (''
|
||||
mkdir -p $out/bin
|
||||
ln -s ${selshot} $out/bin/selshot
|
||||
|
@ -78,8 +73,6 @@ let
|
|||
ln -s ${scrsaveclip} $out/bin/scrsaveclip
|
||||
ln -s ${scrvidsaveclip} $out/bin/scrvidsaveclip
|
||||
ln -s ${scrvidstop} $out/bin/scrvidstop
|
||||
|
||||
ln -s ${um} $out/bin/um
|
||||
'' + (
|
||||
if cfg.uploadScript != null then ''
|
||||
ln -s ${cfg.uploadScript} $out/bin/upload_file
|
||||
|
@ -203,11 +196,6 @@ in
|
|||
|
||||
keybindings =
|
||||
let
|
||||
musicRofi = pkgs.writeScript "music-rofi" ''
|
||||
#!${pkgs.fish}/bin/fish
|
||||
${pkgs.mpc_cli}/bin/mpc -f "%position% - %artist% - %album% - %title%" playlist | ${pkgs.rofi}/bin/rofi -dmenu -i | ${pkgs.coreutils}/bin/cut -d " " -f 1 | ${pkgs.findutils}/bin/xargs ${pkgs.mpc_cli}/bin/mpc play
|
||||
'';
|
||||
|
||||
# ugly stupid way of doing things but im lazy
|
||||
bwRofi = pkgs.writeScript "bw-rofi" ''
|
||||
#!${pkgs.bash}/bin/bash
|
||||
|
@ -302,7 +290,39 @@ in
|
|||
"XF86AudioPause" = "exec ${pkgs.playerctl}/bin/playerctl play-pause";
|
||||
"${modifier}+backslash" = "exec ${pkgs.playerctl}/bin/playerctl play-pause";
|
||||
|
||||
"${modifier}+m" = "exec ${musicRofi}";
|
||||
"${modifier}+m" =
|
||||
let
|
||||
musicRofi = pkgs.writeShellScript "music-rofi" ''
|
||||
SONGN=$(${pkgs.mpc_cli}/bin/mpc -f "%position% - %artist% - %album% - %title%" playlist | ${pkgs.rofi}/bin/rofi -dmenu -i | ${pkgs.coreutils}/bin/cut -d " " -f 1)
|
||||
[ ! -z "$SONGN" ] && ${pkgs.mpc_cli}/bin/mpc play "$SONGN"
|
||||
'';
|
||||
in
|
||||
"exec ${musicRofi}";
|
||||
"${modifier}+k" = "exec ${pkgs.mpc_cli}/bin/mpc clear";
|
||||
"${config.wayland.windowManager.sway.config.modifier}+Shift+k" = lib.mkForce "exec ${pkgs.mpc_cli}/bin/mpc ls \"Local media/Tracks\" | ${pkgs.mpc_cli}/bin/mpc add";
|
||||
"${config.wayland.windowManager.sway.config.modifier}+Shift+m" =
|
||||
let
|
||||
mopidySearch = pkgs.writeShellScript "mopidy-search.sh" ''
|
||||
QUERY=$(${pkgs.rofi}/bin/rofi -dmenu)
|
||||
[ -z "$QUERY" ] && exit
|
||||
RESULTS=$(${pkgs.mpc_cli}/bin/mpc search -f '%file% / %artist% - %title%' any "$QUERY")
|
||||
USERLIST=$(echo "$RESULTS" | ${pkgs.gawk}/bin/awk -F' / ' '{print $2}')
|
||||
|
||||
CHOSEN=$(echo "$USERLIST" | ${pkgs.rofi}/bin/rofi -dmenu -i)
|
||||
[ -z "$CHOSEN" ] && exit
|
||||
NTH=$(echo "$USERLIST" | ${pkgs.gnugrep}/bin/grep -n "^$CHOSEN$" | cut -d':' -f1)
|
||||
|
||||
LINE=$(echo "$RESULTS" | ${pkgs.coreutils}/bin/tail "-n+$NTH" | ${pkgs.coreutils}/bin/head -1)
|
||||
NAME=$(echo "$LINE" | ${pkgs.gawk}/bin/awk -F' / ' '{print $1}')
|
||||
|
||||
${pkgs.mpc_cli}/bin/mpc add "$NAME"
|
||||
PLAYLIST=$(${pkgs.mpc_cli}/bin/mpc -f "%position% / %file%" playlist)
|
||||
PLAYLIST_ENTRY=$(echo "$PLAYLIST" | ${pkgs.gnugrep}/bin/grep -E "^.* / $NAME$" | head -1)
|
||||
PLAYLIST_ENTRY_POSITION=$(echo "$PLAYLIST_ENTRY" | ${pkgs.gawk}/bin/awk -F' / ' '{print $1}')
|
||||
${pkgs.mpc_cli}/bin/mpc play "$PLAYLIST_ENTRY_POSITION"
|
||||
'';
|
||||
in
|
||||
"exec ${mopidySearch}";
|
||||
|
||||
"${modifier}+p" = "exec ${bwRofi}";
|
||||
"${modifier}+t" = "exec ${bwRofiOtp}";
|
||||
|
@ -585,15 +605,45 @@ in
|
|||
|
||||
services.blueman-applet.enable = lib.mkDefault cfg.bluetooth;
|
||||
|
||||
services.mpris-proxy.enable = true;
|
||||
services.mpris-proxy.enable = lib.mkDefault true;
|
||||
|
||||
services.mpdris2.enable = true;
|
||||
services.playerctld.enable = true;
|
||||
services.mpd = {
|
||||
services.mopidy = {
|
||||
enable = lib.mkDefault true;
|
||||
musicDirectory = lib.mkDefault "${config.home.homeDirectory}/Music";
|
||||
extensionPackages = with pkgs; [
|
||||
mopidy-mpris
|
||||
mopidy-youtube
|
||||
mopidy-local
|
||||
(mopidy-mpd.overrideAttrs (old: {
|
||||
src = builtins.fetchGit {
|
||||
url = "git+ssh://git@github.com/mopidy/mopidy-mpd.git";
|
||||
rev = "a8c4debc139020fbb17066b66a746644a915296c";
|
||||
};
|
||||
}))
|
||||
];
|
||||
settings = {
|
||||
youtube = {
|
||||
enabled = lib.mkDefault true;
|
||||
};
|
||||
|
||||
file = {
|
||||
media_dirs = lib.mkDefault "${config.home.homeDirectory}/Music";
|
||||
};
|
||||
|
||||
local = {
|
||||
enabled = lib.mkDefault true;
|
||||
media_dir = lib.mkDefault "${config.home.homeDirectory}/Music";
|
||||
};
|
||||
|
||||
mpd = {
|
||||
enabled = lib.mkDefault true;
|
||||
hostname = lib.mkDefault "::";
|
||||
command_blacklist = lib.mkDefault "";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.playerctld.enable = lib.mkDefault true;
|
||||
|
||||
gtk = {
|
||||
enable = lib.mkDefault true;
|
||||
iconTheme = {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue