diff --git a/zellij-utils/src/setup.rs b/zellij-utils/src/setup.rs index 1062b233..13eb63c0 100644 --- a/zellij-utils/src/setup.rs +++ b/zellij-utils/src/setup.rs @@ -320,18 +320,13 @@ impl Setup { None => config.options.clone(), }; - config.themes = get_default_themes().merge(config.themes); + config.themes = config.themes.merge(get_default_themes()); - if let Some(Command::Setup(Setup { clean: false, .. })) = &cli_args.command { - let user_theme_dir = config_options.theme_dir.clone().or_else(|| { - get_theme_dir(cli_args.config_dir.clone().or_else(find_default_config_dir)) - // If theme dir is not explicitly specified in config_options, - // only try to use it if it exists. - .filter(|dir| dir.exists()) - }); - if let Some(user_theme_dir) = user_theme_dir { - config.themes = config.themes.merge(Themes::from_dir(user_theme_dir)?); - } + let user_theme_dir = config_options.theme_dir.clone().or_else(|| { + get_theme_dir(cli_args.config_dir.clone().or_else(find_default_config_dir)) + }); + if let Some(user_theme_dir) = user_theme_dir { + config.themes = config.themes.merge(Themes::from_dir(user_theme_dir)?); } if let Some(Command::Setup(ref setup)) = &cli_args.command {