1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-08-01 19:18:28 -04:00

core: migrate to dankgo shared go modules, embed quickshell in DMS

binary to mount at runtime, -c or DMS_SHELL_DIR overrides required to
explicitly override embedded configuration
This commit is contained in:
bbedward
2026-07-18 14:51:09 -04:00
parent 2114ece0df
commit 0cdb065739
114 changed files with 1009 additions and 3024 deletions
+20 -2
View File
@@ -278,7 +278,7 @@ func installGreeter(nonInteractive bool) error {
}
fmt.Println("\nDetecting DMS installation...")
dmsPath, err := greeter.DetectDMSPath()
dmsPath, err := detectDMSPath()
if err != nil {
return err
}
@@ -708,7 +708,7 @@ func syncGreeter(nonInteractive bool, forceAuth bool, local bool, profileOnly bo
fmt.Printf("✓ Using local DMS path: %s\n", dmsPath)
}
} else {
dmsPath, err = greeter.DetectDMSPath()
dmsPath, err = detectDMSPath()
if err != nil {
return err
}
@@ -944,6 +944,24 @@ func resolveDMSLocalCandidate(path string) (string, bool) {
return "", false
}
// detectDMSPath finds the QML tree the greeter copies from. On-disk installs
// win; with a packaged greeter the embedded UI is a valid copy source, but an
// extraction path must never be persisted into greetd config, so unpackaged
// setups still require a real install.
func detectDMSPath() (string, error) {
path, err := greeter.DetectDMSPath()
if err == nil {
return path, nil
}
if !greeter.IsGreeterPackaged() {
return "", err
}
if resolveErr := shellApp.ResolveConfig(nil, nil); resolveErr != nil {
return "", err
}
return shellApp.ConfigPath(), nil
}
func resolveLocalDMSPath() (string, error) {
if override := strings.TrimSpace(os.Getenv("DMS_LOCAL_PATH")); override != "" {
if resolved, ok := resolveDMSLocalCandidate(override); ok {