zenix: add musnix and mpd

This commit is contained in:
tristan 2024-11-19 20:40:58 +00:00
parent 2202ebef0b
commit 53f5a52ceb
8 changed files with 124 additions and 84 deletions

View file

@ -1,77 +0,0 @@
{
lib,
pkgs,
config,
...
}:
with lib; let
cfg = config.roles.mpd;
terminal = config.programs.terminal;
termcmd = "${terminal}/bin/${terminal.pname}";
in {
options.roles.mpd = {
enable = mkEnableOption "setup mpd client";
host = mkOption {default = "192.168.1.2";};
};
config = mkIf cfg.enable {
programs.ncmpcpp = {
enable = true;
settings.mpd_host = cfg.host;
bindings = [
{
key = "j";
command = "scroll_down";
}
{
key = "k";
command = "scroll_up";
}
{
key = "l";
command = "next_column";
}
{
key = "h";
command = "previous_column";
}
{
key = "J";
command = ["select_item" "scroll_down"];
}
{
key = "K";
command = ["select_item" "scroll_up"];
}
];
};
services.mpd-mpris = {
enable = true;
mpd.host = cfg.host;
};
programs.waybar.settings.mainBar.mpd.server = cfg.host;
programs.scripts = [
{
name = "ncmpcpp";
text = ''
${termcmd} -e ${pkgs.ncmpcpp}/bin/ncmpcpp
'';
hotkeys = [{key = "M";}];
install = false;
}
];
systemd.user.services = {
snapclient = {
Unit = {
Description = "Snapclient";
};
Service = {
ExecStart = "${pkgs.snapcast}/bin/snapclient -h ${cfg.host}";
};
Install = {
WantedBy = ["graphical-session.target"];
};
};
};
};
}