sessiond-dinit#
sessiond-dinit is a sessiond client that starts and tracks per-user
dinit --user service managers.
Installation#
sessiond-dinit requires sessiond to be installed and enabled first.
On finix with flakes:
{
inputs.sessiond-dinit.url = "git+https://tangled.org/r0chd.pl/sessiond-dinit";
}
{ inputs, pkgs, ... }:
{
imports = [
inputs.sessiond-dinit.finixModules.default
];
services.sessiond-dinit = {
enable = true;
package = inputs.sessiond-dinit.packages.${pkgs.system}.default;
};
}
With npins:
npins add git --name sessiond-dinit https://tangled.org/r0chd.pl/sessiond-dinit --branch master
{ pkgs, ... }:
let
sources = import ./npins;
sessiond-dinit = import sources.sessiond-dinit.outPath { };
in
{
imports = [
sessiond-dinit.finixModules.default
];
services.sessiond-dinit = {
enable = true;
package = sessiond-dinit.packages.sessiond-dinit;
};
}
To build it manually:
cargo build --release
The binary is written to target/release/sessiond-dinit.
Usage#
sessiond-dinit [--services-path PATH]
When --services-path is set, dinit --user reads services from that path.
Otherwise, sessiond-dinit first checks the user's ~/.config/dinit.d and
falls back to /etc/dinit.d/user.