diff options
| author | Nippy <nippy@rp1.hu> | 2026-05-09 13:33:09 +0200 |
|---|---|---|
| committer | Nippy <nippy@rp1.hu> | 2026-05-09 13:33:09 +0200 |
| commit | a2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5 (patch) | |
| tree | 1a8769217f84bfe9d6216fafaadaf8cdd876d457 /raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/Greetd/README.md | |
| parent | 34b9c34f982b2596cfa9e368a2d7f74e9a17477c (diff) | |
| download | RaveOS-PKGBUILD-a2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5.tar.gz RaveOS-PKGBUILD-a2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5.zip | |
raveos update
Diffstat (limited to 'raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/Greetd/README.md')
| -rw-r--r-- | raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/Greetd/README.md | 277 |
1 files changed, 0 insertions, 277 deletions
diff --git a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/Greetd/README.md b/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/Greetd/README.md deleted file mode 100644 index 4ac5a77..0000000 --- a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/Greetd/README.md +++ /dev/null @@ -1,277 +0,0 @@ -# Dank (dms) Greeter - -A greeter for [greetd](https://github.com/kennylevinsen/greetd) that follows the aesthetics of the dms lock screen. - -## Features - -- **Multi user**: Login with any system user -- **dms sync**: Sync settings with dms for consistent styling between shell and greeter -- **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` -- **Session Memory**: Remembers last selected session and user - - Can be disabled via `settings.json` keys: `greeterRememberLastSession` and `greeterRememberLastUser` - -## Installation - -### Arch Linux - -Arch linux users can install [greetd-dms-greeter-git](https://aur.archlinux.org/packages/greetd-dms-greeter-git) from the AUR. - -```bash -paru -S greetd-dms-greeter-git -# Or with yay -yay -S greetd-dms-greeter-git -``` - -### Debian / openSUSE - -Official packages are available from the [DankLinux OBS repository](https://software.opensuse.org/download/package?package=dms-greeter&project=home%3AAvengeMedia%3Adanklinux). Add the repo for your distribution and install: - -```bash -# Debian 13 -sudo apt install dms-greeter # after adding the repo - -# openSUSE Tumbleweed -zypper install dms-greeter # after adding the repo -``` - -See the [Installation guide](https://danklinux.com/docs/dankgreeter/installation) for full repository setup. - -If you previously installed manually, remove legacy files first: - -```bash -sudo rm -f /usr/local/bin/dms-greeter -sudo rm -rf /etc/xdg/quickshell/dms-greeter -``` - -Then complete setup: - -```bash -dms greeter enable -dms greeter sync -``` - -#### Syncing themes (Optional) - -To sync your wallpaper and theme with the greeter login screen, follow the manual setup below: - -<details> -<summary>Manual theme syncing</summary> - -```bash -# Add yourself to greeter group -sudo usermod -aG greeter <username> - -# Set ACLs to allow greeter to traverse your directories -setfacl -m u:greeter:x ~ ~/.config ~/.local ~/.cache ~/.local/state - -# Set group ownership on config directories -sudo chgrp -R greeter ~/.config/DankMaterialShell -sudo chgrp -R greeter ~/.local/state/DankMaterialShell -sudo chgrp -R greeter ~/.cache/DankMaterialShell -sudo chmod -R g+rX ~/.config/DankMaterialShell ~/.cache/DankMaterialShell ~/.cache/quickshell - -# Create symlinks -sudo ln -sf ~/.config/DankMaterialShell/settings.json /var/cache/dms-greeter/settings.json -sudo ln -sf ~/.local/state/DankMaterialShell/session.json /var/cache/dms-greeter/session.json -sudo ln -sf ~/.cache/DankMaterialShell/dms-colors.json /var/cache/dms-greeter/colors.json - -# Logout and login for group membership to take effect -``` - -</details> - -### Fedora / RHEL / Rocky / Alma - -Install from COPR or build the RPM: - -```bash -# From COPR (when available) -sudo dnf copr enable avenge/dms -sudo dnf install dms-greeter - -# Or build locally -cd /path/to/DankMaterialShell -rpkg local -sudo rpm -ivh x86_64/dms-greeter-*.rpm -``` - -The package automatically: -- Creates the greeter user -- Sets up directories and permissions -- Configures greetd with auto-detected compositor -- Applies SELinux contexts - -Then complete setup: - -```bash -dms greeter enable -dms greeter sync -``` - -#### Syncing themes (Optional) - -Run: - -```bash -dms greeter sync -``` - -Then logout/login to see your wallpaper on the greeter. - -### Automatic - -The easiest thing is to run `dms greeter install` or `dms` for interactive installation. -On Debian/openSUSE, this now prefers the `dms-greeter` package when the OBS repo is configured. - -### Manual (fallback only) - -Use this only if no package is available for your distro. - -1. Install `greetd` (in most distro's standard repositories) and `quickshell` - -2. Create the greeter user (if not already created by greetd): -```bash -sudo groupadd -r greeter -sudo useradd -r -g greeter -d /var/lib/greeter -s /bin/bash -c "System Greeter" greeter -sudo mkdir -p /var/lib/greeter -sudo chown greeter:greeter /var/lib/greeter -``` - -3. Clone the dms project to `/etc/xdg/quickshell/dms-greeter`: -```bash -sudo git clone https://github.com/AvengeMedia/DankMaterialShell.git /etc/xdg/quickshell/dms-greeter -``` - -4. Copy `Modules/Greetd/assets/dms-greeter` to `/usr/local/bin/dms-greeter`: -```bash -sudo cp /etc/xdg/quickshell/dms-greeter/Modules/Greetd/assets/dms-greeter /usr/local/bin/dms-greeter -sudo chmod +x /usr/local/bin/dms-greeter -``` - -5. Create greeter cache directory with proper permissions: -```bash -sudo mkdir -p /var/cache/dms-greeter -sudo chown <greeter-user>:<greeter-group> /var/cache/dms-greeter -sudo chmod 2770 /var/cache/dms-greeter -``` - -6. Edit or create `/etc/greetd/config.toml`: -```toml -[terminal] -vt = 1 - -[default_session] -user = "greeter" -# Change compositor to another wrapper-supported compositor if preferred -command = "/usr/local/bin/dms-greeter --command niri" -``` - -7. Disable existing display manager and enable greetd: -```bash -sudo systemctl disable gdm sddm lightdm -sudo systemctl enable greetd -``` - -8. (Optional) Set up theme syncing using the manual ACL method described in the Configuration → Personalization section below - -#### Legacy installation (deprecated) - -If you prefer the old method with separate shell scripts and config files: -1. Copy `assets/dms-niri.kdl` or `assets/dms-hypr.conf` to `/etc/greetd` -2. Copy `assets/greet-niri.sh` or `assets/greet-hyprland.sh` to `/usr/local/bin/start-dms-greetd.sh` -3. Edit the config file and replace `_DMS_PATH_` with your DMS installation path -4. Configure greetd to use `/usr/local/bin/start-dms-greetd.sh` - -### NixOS - -To install the greeter on NixOS add the repo to your flake inputs as described in the readme. Then somewhere in your NixOS config add this to imports: -```nix -imports = [ - inputs.dank-material-shell.nixosModules.greeter -] -``` - -Enable the greeter with this in your NixOS config: -```nix -programs.dank-material-shell.greeter = { - enable = true; - compositor.name = "niri"; # or set to hyprland - configHome = "/home/user"; # optionally copyies that users DMS settings (and wallpaper if set) to the greeters data directory as root before greeter starts -}; -``` - -## Usage - -### Using dms-greeter wrapper (recommended) - -The `dms-greeter` wrapper simplifies running the greeter with any compositor: - -```bash -dms-greeter --command niri -dms-greeter --command hyprland -dms-greeter --command sway -dms-greeter --command mangowc -dms-greeter --command niri -C /path/to/custom-niri.kdl -dms-greeter --command niri --remember-last-user false --remember-last-session false -``` - -Configure greetd to use it in `/etc/greetd/config.toml`: -```toml -[terminal] -vt = 1 - -[default_session] -user = "greeter" -command = "/usr/bin/dms-greeter --command niri" -``` - -### Manual usage - -To run dms in greeter mode you can also manually set environment variables: - -```bash -DMS_RUN_GREETER=1 qs -p /path/to/dms -``` - -### Configuration - -#### Compositor - -For current wrapper-based installs, the `dms-greeter` wrapper supports niri, hyprland, sway, scroll, miracle-wm, labwc, and mangowc. - -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 - -The greeter can be personalized with wallpapers, themes, weather, clock formats, and more - configured exactly the same as dms. - -**Easiest method:** Run `dms greeter sync` to automatically sync your DMS theme with the greeter. - -**Manual method:** You can manually synchronize configurations if you want greeter settings to always mirror your shell: - -```bash -# Add yourself to the greeter group -sudo usermod -aG greeter $USER - -# Set ACLs to allow greeter user to traverse your home directory -setfacl -m u:greeter:x ~ ~/.config ~/.local ~/.cache ~/.local/state - -# Set group permissions on DMS directories -sudo chgrp -R greeter ~/.config/DankMaterialShell ~/.local/state/DankMaterialShell ~/.cache/quickshell -sudo chmod -R g+rX ~/.config/DankMaterialShell ~/.local/state/DankMaterialShell ~/.cache/quickshell - -# Create symlinks for theme files -sudo ln -sf ~/.config/DankMaterialShell/settings.json /var/cache/dms-greeter/settings.json -sudo ln -sf ~/.local/state/DankMaterialShell/session.json /var/cache/dms-greeter/session.json -sudo ln -sf ~/.cache/DankMaterialShell/dms-colors.json /var/cache/dms-greeter/colors.json - -# Logout and login for group membership to take effect -``` - -**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-user>:<greeter-group>` with `2770` permissions. If the greeter user is not available yet, DMS falls back to `root:<greeter-group>`. |