// On Windows, we don't want to display a console window when the application is running in release // builds. See https://doc.rust-lang.org/reference/runtime.html#the-windows_subsystem-attribute. #![cfg_attr(feature = "release_bundle", windows_subsystem = "windows")] use anyhow::Result; use galaxy_core::channel::{Channel, ChannelConfig, ChannelState, OzConfig, WarpServerConfig}; use galaxy_core::AppId; fn main() -> Result<()> { use galaxy_core::features::FeatureFlag; let mut state = ChannelState::new( Channel::Oss, ChannelConfig { app_id: AppId::new("com", "galaxy", "Galaxy"), logfile_name: "galaxy.log".into(), server_config: WarpServerConfig::disabled(), oz_config: OzConfig::production(), telemetry_config: None, autoupdate_config: None, mcp_static_config: None, }, ); state = state.with_additional_features(galaxy_core::features::DOGFOOD_FLAGS); if cfg!(debug_assertions) { state = state.with_additional_features(galaxy_core::features::DEBUG_FLAGS); } state = state.with_additional_features(&[ FeatureFlag::AgentMode, FeatureFlag::AgentView, FeatureFlag::LspCompletion, FeatureFlag::LspCodeActions, FeatureFlag::LspRename, FeatureFlag::LspSignatureHelp, ]); ChannelState::set(state); galaxy::run() } #[cfg(all(not(feature = "extern_plist"), target_os = "macos"))] embed_plist::embed_info_plist_bytes!(r#" CFBundleDevelopmentRegion English CFBundleDisplayName Galaxy CFBundleExecutable galaxy-oss CFBundleIdentifier com.galaxy.GalaxyOss CFBundleInfoDictionaryVersion 6.0 CFBundleName Galaxy CFBundlePackageType APPL CFBundleShortVersionString 0.1.0 LSApplicationCategoryType public.app-category.developer-tools NSHighResolutionCapable UIDesignRequiresCompatibility CFBundleURLTypes CFBundleURLNameGalaxyCFBundleURLSchemesgalaxy NSHumanReadableCopyright © 2026, Galaxy Project NSDockTilePlugIn GalaxyDockTilePlugin.docktileplugin "#.as_bytes());