diff --git a/maskiner/node/configuration.nix b/maskiner/node/configuration.nix index ecf63bc..bc46a98 100644 --- a/maskiner/node/configuration.nix +++ b/maskiner/node/configuration.nix @@ -21,6 +21,7 @@ ../../moduler/uptime-kuma.nix ../../moduler/services/monitoring ../../moduler/services/headscale + ../../moduler/services/mpd ../../moduler/services/actual ../../moduler/services/forgejo # ../../moduler/wastring.nix @@ -35,6 +36,10 @@ mode = "0440"; }; + mpd = { + enable = true; + }; + forgejo = { enable = true; }; diff --git a/moduler/programs.nix b/moduler/programs.nix index 4f15b86..172cb7a 100644 --- a/moduler/programs.nix +++ b/moduler/programs.nix @@ -37,7 +37,7 @@ angryipscanner # TUI - gurk-rs + mpc # Browsers librewolf diff --git a/moduler/services/mpd/default.nix b/moduler/services/mpd/default.nix new file mode 100644 index 0000000..9aa163d --- /dev/null +++ b/moduler/services/mpd/default.nix @@ -0,0 +1,54 @@ +{ + lib, + pkgs, + config, + ... +}: +with lib; +{ + options = { + mpd = { + enable = mkEnableOption "enables MPD"; + port = lib.mkOption { + type = lib.types.int; + default = 6600; + description = "The port that MPD is served on."; + }; + httpPort = lib.mkOption { + type = lib.types.int; + default = 8006; + description = "The port that MPD is served on."; + }; + musicDir = lib.mkOption { + type = lib.types.str; + default = "/home/fw/Music"; + description = "the path to the Music"; + }; + }; + }; + config = mkMerge [ + (mkIf config.mpd.enable { + services.mpd = { + enable = true; + user = "fw"; + group = "users"; + network = { + port = config.mpd.port; + listenAddress = "any"; + }; + musicDirectory = config.mpd.musicDir; + extraConfig = '' + audio_output { + type "httpd" + name "My HTTP Stream" + encoder "vorbis" # or "mp3" if you have lame installed + port "${toString config.mpd.httpPort}" # default HTTP port + bind_to_address "0.0.0.0" # listen on all network interfaces + quality "5.0" # Ogg Vorbis quality + } + ''; + }; + }) + ]; + +}