1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2025-12-06 05:25:41 -05:00

XDG_DATA_DIRS for greeter

This commit is contained in:
bbedward
2025-10-02 22:10:46 -04:00
parent 731db13c14
commit b4ab9d9650
2 changed files with 27 additions and 2 deletions

View File

@@ -17,6 +17,7 @@ Item {
required property var sessionLock
readonly property string xdgDataDirs: Quickshell.env("XDG_DATA_DIRS")
property string screenName: ""
property string randomFact: ""
property string hyprlandCurrentLayout: ""
@@ -1160,7 +1161,10 @@ Item {
Process {
id: sessionListProc
command: ["find", "/usr/share/wayland-sessions", "/usr/share/xsessions", "-name", "*.desktop", "-type", "f"]
command: ["find"]
.concat(xdgDataDirs.split(":").map(d => d + "/wayland-sessions"))
.concat(xdgDataDirs.split(":").map(d => d + "/xsessions"))
.concat(["-name", "*.desktop", "-type", "f", "-follow"])
running: false
stdout: SplitParser {

View File

@@ -12,9 +12,12 @@ A greeter for [greetd](https://github.com/kennylevinsen/greetd) that follows the
## Installation
### Automatic
The easiest thing is to run `dms greeter install` or `dms` for interactive installation.
Manual installation:
### Manual
1. Install `greetd` (in most distro's standard repositories)
2. Copy `assets/dms-niri.kdl` or `assets/dms-hypr.conf` to `/etc/greetd`
- niri if you want to run the greeter under niri, hypr if you want to run the greeter under Hyprland
@@ -43,6 +46,24 @@ command = "/usr/local/bin/start-dms-greetd.sh"
Enable the greeter with `sudo systemctl enable greetd`
### 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.dankMaterialShell.nixosModules.greeter
]
```
Enable the greeter with this in your NixOS config:
```nix
programs.dankMaterialShell.greeter = {
enable = true;
compositor = "niri"; # or set to hyprland
configHome = "/home/user"; # optionally symlinks that users DMS settings to the greeters data directory
};
```
## Usage
To run dms in greeter mode you just need to set `DMS_RUN_GREETER=1` in the environment.