A generic greeter daemon
0

Configure Feed

Select the types of activity you want to include in your feed.

Rust 81.7%
Nix 18.3%
Shell 0.1%
322 1 0

Clone this repository

https://tangled.org/r0chd.pl/sessiond-greetd https://tangled.org/did:plc:jfrydaity6eo5a2luht7vroc
git@tangled.org:r0chd.pl/sessiond-greetd git@tangled.org:did:plc:jfrydaity6eo5a2luht7vroc

For self-hosted knots, clone URLs may differ based on your setup.



README.md

sessiond-greetd#

sessiond-greetd is a fork of greetd that mainly introduces two changes:

  • uses hyprwire for ipc instead of raw sockets
  • uses nix lang for configuration

Use a graphical greeter to launch hyprland if you want a fully graphical session, or use agreety to launch a shell if you want a drop-in replacement for agetty(8) and login(1).

If you can run it from your shell in a TTY, sessiond-greetd can start it. If it can be taught to speak hyprwire IPC protocol, then it can be a greeter.

See the wiki for FAQ, guides for common configurations, and troubleshooting information.

List of known sessiond-greetd greeters#

  • agreety - The simple, text-based greeter living in this repo is a simple example.

Patches expanding the list welcome.

Installation#

The below will install sessiond-greetd, agreety and the default configuration. This looks just like agetty(8) and login(1). See the manpages and the wiki for information on how to do more interesting things.

From packages#

NixOs#

TODO

Manually from source#

# Compile sessiond-greetd and agreety.
cargo build --release

# Put things into place
sudo cp target/release/{sessiond-greetd,agreety} /usr/local/bin/
sudo cp sessiond-greetd.service /etc/systemd/system/sessiond-greetd.service
install -D -m 0644 config.nix /etc/sessiond-greetd/default.nix

# Create the greeter user
sudo useradd -M -G video greeter
sudo chmod -R go+r /etc/sessiond-greetd/

# Look in the configuration file `/etc/sessiond-greetd/default.nix` and edit camelCase keys as appropriate.
# When done, enable and start sessiond-greetd
systemctl enable --now sessiond-greetd

How do I write my own greeter?#

All you need is an application that can speak the Hyprwire IPC protocol. The protocol XML can be found at ./protocols/sessiond_greetd_core_v1.xml.

The protocols/ specifications are intended to be MIT-licensed so they can be reused by greeters and external clients more easily, while the sessiond-greetd project itself remains GPLv3 under the repository top-level license.