Artix Linux Forum

Init systems => S6 => Topic started by: ezra on 03 July 2025, 22:52:15

Title: request for greetd-s6
Post by: ezra on 03 July 2025, 22:52:15
greetd has packages for all supported inits except s6. weird that it's just not there
Title: Re: request for greetd-s6
Post by: Dudemanguy on 16 July 2025, 17:58:33
Sure I can add this but this seems completely broken? I tested out simply running the daemon on startup and the login screen on tty1 becomes unusable. Is there some kind of configuration I'm missing here.
Title: Re: request for greetd-s6
Post by: DivineToast on 16 August 2025, 23:51:24
I have been waiting for an official greetd-s6 package as well. In the meantime, if you need an s6-service that works, this is what I have been using. Going to try and show the file tree visibly:

/etc/s6/sv/greetd
 ├── dependencies.d
  |         ├──boot (empty file)
  |         ├──getty (empty file)
  |         └──logind (empty file)
  |
 ├── run (contents below)
 └── type (contents below)


For the "run" file I use this as the:

Code: [Select]
#!/usr/bin/execlineb -P

exec greetd -c /etc/greetd/foo.toml

In place of foo.toml you will want to specify the greetd config file you plan on using. I know some DEs like Cosmic come with a greetd config file: "cosmic-greeter.toml" that can be used in place of foo.toml. (Mind you with Cosmic in particular you will want to change the config file to work on a non-systemd framework.)

This is a crude way to run the service but it works.

Then in “type”:

Code: [Select]
longrun

As for the dependencies.d folder and files, we are really just including them to ensure the greetd service starts after initial boot processes. They may not even be necessary, but I included them because it is a part of my working files. After that just add an empty greetd file in /etc/s6/adminsv/default/contents.d/ and reload your s6 services with:
Code: [Select]
s6-db-reload

I hope that was clear enough. I love s6 personally, but execline is a pain to wrap my head around sometimes.