{ config, lib, pkgs, ... }: with lib; let cfg = config.programs.cmus; in { meta.maintainers = [ hm.maintainers.joygnu ]; options.programs.cmus = { enable = mkEnableOption "Enable cmus, the music player."; theme = mkOption { type = types.lines; default = ""; example = "gruvbox"; description = '' Select color theme. A list of available color themes can be found here: . ''; }; extraConfig = mkOption { type = types.lines; default = ""; example = '' set audio_backend = "mpd" set status_display = "default" ''; description = "Extra configuration to add to cmus {file}`rc`."; }; }; config = mkIf cfg.enable { home.packages = [ pkgs.cmus ]; home.file.".config/cmus/rc".text = '' ${optionalString (cfg.theme != "") "colorscheme ${cfg.theme}"} ${cfg.extraConfig} ''; }; }