diff --git a/core/internal/distros/arch.go b/core/internal/distros/arch.go index f40333b70..7b7b05ca9 100644 --- a/core/internal/distros/arch.go +++ b/core/internal/distros/arch.go @@ -152,7 +152,13 @@ func (a *ArchDistribution) detectAccountsService() deps.Dependency { } func (a *ArchDistribution) detectDMSGreeter() deps.Dependency { - return a.detectOptionalPackage("dms-greeter", "DankMaterialShell greetd greeter", a.packageInstalled("greetd-dms-greeter-git")) + installed := a.packageInstalled("greetd-dms-greeter-git") || a.packageInstalled("greetd-dms-greeter-bin") + dep := a.detectOptionalPackage("dms-greeter", "DankMaterialShell greetd greeter", installed) + dep.CanToggle = true + if a.packageInstalled("greetd-dms-greeter-git") { + dep.Variant = deps.VariantGit + } + return dep } func (a *ArchDistribution) packageInstalled(pkg string) bool { @@ -211,7 +217,7 @@ func (a *ArchDistribution) GetPackageMappingWithVariants(wm deps.WindowManager, "dms (DankMaterialShell)": a.getDMSMapping(variants["dms (DankMaterialShell)"]), "git": {Name: "git", Repository: RepoTypeSystem}, "quickshell": a.getQuickshellMapping(variants["quickshell"]), - "dms-greeter": {Name: "greetd-dms-greeter-git", Repository: RepoTypeAUR}, + "dms-greeter": a.getDMSGreeterMapping(variants["dms-greeter"]), "matugen": a.getMatugenMapping(variants["matugen"]), "dgop": {Name: "dgop", Repository: RepoTypeSystem}, "ghostty": {Name: "ghostty", Repository: RepoTypeSystem}, @@ -289,6 +295,13 @@ func (a *ArchDistribution) getDankCalendarMapping(variant deps.PackageVariant) P return PackageMapping{Name: "dankcalendar-bin", Repository: RepoTypeAUR} } +func (a *ArchDistribution) getDMSGreeterMapping(variant deps.PackageVariant) PackageMapping { + if variant == deps.VariantGit { + return PackageMapping{Name: "greetd-dms-greeter-git", Repository: RepoTypeAUR} + } + return PackageMapping{Name: "greetd-dms-greeter-bin", Repository: RepoTypeAUR} +} + func (a *ArchDistribution) getDMSMapping(variant deps.PackageVariant) PackageMapping { if forceDMSGit || variant == deps.VariantGit { return PackageMapping{Name: "dms-shell-git", Repository: RepoTypeAUR}