dotfiles/hm/desktop/mpd/default.nix

54 lines
1.5 KiB
Nix
Raw Normal View History

2024-01-12 23:52:53 +01:00
{ pkgs, lib, config, ... }:
{
config = lib.mkIf config.frogeye.desktop.xorg {
2024-01-13 01:51:42 +01:00
home = {
packages = with pkgs; [
ashuffle
mpc-cli
vimpc
];
sessionVariables = {
MPD_PORT = "${toString config.services.mpd.network.port}";
};
};
2024-01-12 23:52:53 +01:00
services.mpd = {
enable = true;
network = {
listenAddress = "0.0.0.0"; # Can be controlled remotely, determined with firewall
2024-01-12 23:52:53 +01:00
startWhenNeeded = true;
};
extraConfig = ''
restore_paused "yes"
2024-08-11 10:01:20 +02:00
audio_output {
type "pipewire"
name "PipeWire Sound Server"
}
2024-01-12 23:52:53 +01:00
'';
2024-08-11 10:01:20 +02:00
# UPST auto audio_output ?
musicDirectory = "${config.home.homeDirectory}/Musiques";
2024-01-12 23:52:53 +01:00
};
2024-01-13 01:51:42 +01:00
xdg = {
configFile = {
"vimpc/vimpcrc" = {
text = ''
map FF :browse<C-M>gg/
map à :set add next<C-M>a:set add end<C-M>
map @ :set add next<C-M>a:set add end<C-M>:next<C-M>
map ° D:browse<C-M>A:shuffle<C-M>:play<C-M>:playlist<C-M>
set songformat {%a - %b: %t}|{%f}$E$R $H[$H%l$H]$H
set libraryformat %n \| {%t}|{%f}$E$R $H[$H%l$H]$H
set ignorecase
set sort library
'';
};
};
};
2024-01-12 23:52:53 +01:00
xsession.windowManager.i3.config.keybindings =
{
"XF86AudioPrev" = "exec ${pkgs.mpc-cli}/bin/mpc prev";
"XF86AudioPlay" = "exec ${pkgs.mpc-cli}/bin/mpc toggle";
"XF86AudioNext" = "exec ${pkgs.mpc-cli}/bin/mpc next";
};
};
}