mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-04-03 20:32:07 -04:00
refactor: Remove wireplumber directory from cache creation
This commit is contained in:
@@ -628,7 +628,6 @@ func EnsureGreeterCacheDir(logFunc func(string), sudoPassword string) error {
|
|||||||
runtimeDirs := []string{
|
runtimeDirs := []string{
|
||||||
filepath.Join(cacheDir, ".local"),
|
filepath.Join(cacheDir, ".local"),
|
||||||
filepath.Join(cacheDir, ".local", "state"),
|
filepath.Join(cacheDir, ".local", "state"),
|
||||||
filepath.Join(cacheDir, ".local", "state", "wireplumber"),
|
|
||||||
filepath.Join(cacheDir, ".local", "share"),
|
filepath.Join(cacheDir, ".local", "share"),
|
||||||
filepath.Join(cacheDir, ".cache"),
|
filepath.Join(cacheDir, ".cache"),
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ A greeter for [greetd](https://github.com/kennylevinsen/greetd) that follows the
|
|||||||
|
|
||||||
- **Multi user**: Login with any system user
|
- **Multi user**: Login with any system user
|
||||||
- **dms sync**: Sync settings with dms for consistent styling between shell and greeter
|
- **dms sync**: Sync settings with dms for consistent styling between shell and greeter
|
||||||
- **Multiple compositors**: Supports niri, Hyprland, Sway, or mangowc.
|
- **Multiple compositors**: The `dms-greeter` wrapper supports niri, Hyprland, sway, scroll, miracle-wm, labwc, and mangowc.
|
||||||
- **Custom PAM**: Supports custom PAM configuration in `/etc/pam.d/greetd`
|
- **Custom PAM**: Supports custom PAM configuration in `/etc/pam.d/greetd`
|
||||||
- **Session Memory**: Remembers last selected session and user
|
- **Session Memory**: Remembers last selected session and user
|
||||||
- Can be disabled via `settings.json` keys: `greeterRememberLastSession` and `greeterRememberLastUser`
|
- Can be disabled via `settings.json` keys: `greeterRememberLastSession` and `greeterRememberLastUser`
|
||||||
@@ -152,8 +152,8 @@ sudo chmod +x /usr/local/bin/dms-greeter
|
|||||||
5. Create greeter cache directory with proper permissions:
|
5. Create greeter cache directory with proper permissions:
|
||||||
```bash
|
```bash
|
||||||
sudo mkdir -p /var/cache/dms-greeter
|
sudo mkdir -p /var/cache/dms-greeter
|
||||||
sudo chown greeter:greeter /var/cache/dms-greeter
|
sudo chown <greeter-user>:<greeter-group> /var/cache/dms-greeter
|
||||||
sudo chmod 750 /var/cache/dms-greeter
|
sudo chmod 2770 /var/cache/dms-greeter
|
||||||
```
|
```
|
||||||
|
|
||||||
6. Edit or create `/etc/greetd/config.toml`:
|
6. Edit or create `/etc/greetd/config.toml`:
|
||||||
@@ -163,7 +163,7 @@ vt = 1
|
|||||||
|
|
||||||
[default_session]
|
[default_session]
|
||||||
user = "greeter"
|
user = "greeter"
|
||||||
# Change compositor to sway, hyprland, or mangowc if preferred
|
# Change compositor to another wrapper-supported compositor if preferred
|
||||||
command = "/usr/local/bin/dms-greeter --command niri"
|
command = "/usr/local/bin/dms-greeter --command niri"
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -238,9 +238,12 @@ DMS_RUN_GREETER=1 qs -p /path/to/dms
|
|||||||
|
|
||||||
#### Compositor
|
#### Compositor
|
||||||
|
|
||||||
You can configure compositor specific settings such as outputs/displays the same as you would in niri or Hyprland.
|
For current wrapper-based installs, the `dms-greeter` wrapper supports niri, hyprland, sway, scroll, miracle-wm, labwc, and mangowc.
|
||||||
|
|
||||||
Simply edit `/etc/greetd/dms-niri.kdl` or `/etc/greetd/dms-hypr.conf` to change compositor settings for the greeter
|
Only niri currently has a generated greeter config path managed by `dms greeter sync`.
|
||||||
|
|
||||||
|
- niri: `dms greeter sync` writes the generated greeter config to `/etc/greetd/niri/config.kdl`. Add local manual tweaks in `/etc/greetd/niri_overrides.kdl`.
|
||||||
|
- Other wrapper-supported compositors use the wrapper-generated config by default. If you need a custom compositor config, add `-C /path/to/config` to the `dms-greeter` command in `/etc/greetd/config.toml`.
|
||||||
|
|
||||||
#### Personalization
|
#### Personalization
|
||||||
|
|
||||||
@@ -271,4 +274,4 @@ sudo ln -sf ~/.cache/DankMaterialShell/dms-colors.json /var/cache/dms-greeter/co
|
|||||||
|
|
||||||
**Advanced:** You can override the configuration path with the `DMS_GREET_CFG_DIR` environment variable or the `--cache-dir` flag when using `dms-greeter`. The default is `/var/cache/dms-greeter`.
|
**Advanced:** You can override the configuration path with the `DMS_GREET_CFG_DIR` environment variable or the `--cache-dir` flag when using `dms-greeter`. The default is `/var/cache/dms-greeter`.
|
||||||
|
|
||||||
The cache directory should be owned by `greeter:greeter` with `770` permissions.
|
The cache directory should be owned by `<greeter-user>:<greeter-group>` with `2770` permissions. If the greeter user is not available yet, DMS falls back to `root:<greeter-group>`.
|
||||||
|
|||||||
@@ -182,7 +182,7 @@ export DMS_RUN_GREETER=1
|
|||||||
|
|
||||||
ensure_cache_tree() {
|
ensure_cache_tree() {
|
||||||
local base="$1"
|
local base="$1"
|
||||||
mkdir -p "$base/.local/state" "$base/.local/state/wireplumber" "$base/.local/share" "$base/.cache"
|
mkdir -p "$base/.local/state" "$base/.local/share" "$base/.cache"
|
||||||
}
|
}
|
||||||
|
|
||||||
if ! ensure_cache_tree "$CACHE_DIR" 2>/dev/null; then
|
if ! ensure_cache_tree "$CACHE_DIR" 2>/dev/null; then
|
||||||
@@ -224,18 +224,6 @@ export XDG_STATE_HOME="$CACHE_DIR/.local/state"
|
|||||||
export XDG_DATA_HOME="$CACHE_DIR/.local/share"
|
export XDG_DATA_HOME="$CACHE_DIR/.local/share"
|
||||||
export XDG_CACHE_HOME="$CACHE_DIR/.cache"
|
export XDG_CACHE_HOME="$CACHE_DIR/.cache"
|
||||||
|
|
||||||
# Propagate correct XDG dirs into the systemd user session so socket-activated
|
|
||||||
# services (e.g. wireplumber) don't inherit HOME=/ from /etc/passwd.
|
|
||||||
if command -v systemctl >/dev/null 2>&1; then
|
|
||||||
systemctl --user set-environment \
|
|
||||||
HOME="$CACHE_DIR" \
|
|
||||||
XDG_STATE_HOME="$CACHE_DIR/.local/state" \
|
|
||||||
XDG_DATA_HOME="$CACHE_DIR/.local/share" \
|
|
||||||
XDG_CACHE_HOME="$CACHE_DIR/.cache" 2>/dev/null || true
|
|
||||||
if systemctl --user is-active --quiet wireplumber.service 2>/dev/null; then
|
|
||||||
systemctl --user restart wireplumber.service 2>/dev/null || true
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Keep greeter VT clean by default; callers can override via env or --debug.
|
# Keep greeter VT clean by default; callers can override via env or --debug.
|
||||||
if [[ -z "${RUST_LOG:-}" ]]; then
|
if [[ -z "${RUST_LOG:-}" ]]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user