From df7e0d026b74e35978c3b9af4d578b3588ac6e28 Mon Sep 17 00:00:00 2001 From: lysec Date: Thu, 16 Oct 2025 13:43:57 +0200 Subject: [PATCH] shell: only launch setupwizard if not nixos DistroLogoService -> DistroService --- Modules/Bar/Widgets/ControlCenter.qml | 2 +- .../Bar/WidgetSettings/ControlCenterSettings.qml | 2 +- Modules/Settings/Tabs/LauncherTab.qml | 8 ++++---- Services/{DistroLogoService.qml => DistroService.qml} | 9 ++++++--- shell.qml | 4 ++++ 5 files changed, 16 insertions(+), 9 deletions(-) rename Services/{DistroLogoService.qml => DistroService.qml} (87%) diff --git a/Modules/Bar/Widgets/ControlCenter.qml b/Modules/Bar/Widgets/ControlCenter.qml index b0ceea69..be793115 100644 --- a/Modules/Bar/Widgets/ControlCenter.qml +++ b/Modules/Bar/Widgets/ControlCenter.qml @@ -56,7 +56,7 @@ NIconButton { if (customIconPath !== "") return customIconPath.startsWith("file://") ? customIconPath : "file://" + customIconPath if (useDistroLogo) - return DistroLogoService.osLogo + return DistroService.osLogo return "" } visible: source !== "" diff --git a/Modules/Settings/Bar/WidgetSettings/ControlCenterSettings.qml b/Modules/Settings/Bar/WidgetSettings/ControlCenterSettings.qml index 2c0383e2..66c30c11 100644 --- a/Modules/Settings/Bar/WidgetSettings/ControlCenterSettings.qml +++ b/Modules/Settings/Bar/WidgetSettings/ControlCenterSettings.qml @@ -31,7 +31,7 @@ ColumnLayout { label: I18n.tr("bar.widget-settings.control-center.use-distro-logo.label") description: I18n.tr("bar.widget-settings.control-center.use-distro-logo.description") checked: valueUseDistroLogo - onToggled: { + onToggled: function (checked) { valueUseDistroLogo = checked if (checked) { valueCustomIconPath = "" diff --git a/Modules/Settings/Tabs/LauncherTab.qml b/Modules/Settings/Tabs/LauncherTab.qml index b19332a3..88dfb6be 100644 --- a/Modules/Settings/Tabs/LauncherTab.qml +++ b/Modules/Settings/Tabs/LauncherTab.qml @@ -99,10 +99,10 @@ ColumnLayout { enabled: ProgramCheckerService.app2unitAvailable opacity: ProgramCheckerService.app2unitAvailable ? 1.0 : 0.6 onToggled: checked => { - if (ProgramCheckerService.app2unitAvailable) { - Settings.data.appLauncher.useApp2Unit = checked - } - } + if (ProgramCheckerService.app2unitAvailable) { + Settings.data.appLauncher.useApp2Unit = checked + } + } } NTextInput { diff --git a/Services/DistroLogoService.qml b/Services/DistroService.qml similarity index 87% rename from Services/DistroLogoService.qml rename to Services/DistroService.qml index 46f531b5..337ba4c0 100644 --- a/Services/DistroLogoService.qml +++ b/Services/DistroService.qml @@ -11,6 +11,7 @@ Singleton { // Public properties property string osPretty: "" property string osLogo: "" + property bool isNixOS: false // Internal helpers function buildCandidates(name) { @@ -75,11 +76,13 @@ Singleton { return l ? l.split("=")[1].replace(/"/g, "") : "" } root.osPretty = val("PRETTY_NAME") || val("NAME") + const osId = (val("ID") || "").toLowerCase() + root.isNixOS = osId === "nixos" || (root.osPretty || "").toLowerCase().includes("nixos") const logoName = val("LOGO") if (logoName) resolveLogo(logoName) } catch (e) { - Logger.warn("DistroLogoService", "failed to read os-release", e) + Logger.warn("DistroService", "failed to read os-release", e) } } } @@ -90,10 +93,10 @@ Singleton { const p = String(stdout.text || "").trim() if (code === 0 && p) { root.osLogo = `file://${p}` - Logger.log("DistroLogoService", "found", root.osLogo) + Logger.log("DistroService", "found", root.osLogo) } else { root.osLogo = "" - Logger.warn("DistroLogoService", "none found") + Logger.warn("DistroService", "none found") } } stdout: StdioCollector {} diff --git a/shell.qml b/shell.qml index 66d15d51..4c4291c4 100644 --- a/shell.qml +++ b/shell.qml @@ -189,6 +189,10 @@ ShellRoot { function onSettingsLoaded() { // Only open the setup wizard for new users if (!Settings.data.setupCompleted) { + if (DistroService && DistroService.isNixOS) { + Settings.data.setupCompleted = true + return + } if (Settings.data.settingsVersion >= Settings.settingsVersion) { setupWizardLoader.active = true } else {