{ lib, config, options, pkgs, ... }: { options.mods.ncspot = { enable = lib.mkOption { default = false; example = true; type = lib.types.bool; description = "Enables ncspot with a config"; }; }; config = lib.mkIf config.mods.ncspot.enable (lib.optionalAttrs (options ? home.packages) { home.packages = with pkgs; [ ncspot ]; xdg.configFile."ncspot/config.toml".source = (pkgs.formats.toml { }).generate "ncspot" { notify = true; shuffle = true; cover_max_scale = 2; initial_screen = "library"; library_tabs = [ "playlists" ]; theme = { background = "#1a1b26"; primary = "#9aa5ce"; secondary = "#414868"; title = "#9ece6a"; playing = "#7aa2f7"; playing_selected = "#bb9af7"; playing_bg = "#24283b"; highlight = "#c0caf5"; highlight_bg = "#24283b"; error = "#414868"; error_bg = "#f7768e"; statusbar = "#ff9e64"; statusbar_progress = "#7aa2f7"; statusbar_bg = "#1a1b26"; cmdline = "#c0caf5"; cmdline_bg = "#24283b"; search_match = "#f7768e"; }; keybindings = { "j" = "move left 1"; "k" = "move down 1"; "l" = "move up 1"; ";" = "move right 1"; }; notification_format = { title = "%artists"; body = "%title"; }; }; }); }