session and seat management daemon
0

Configure Feed

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

34 6 0

Clone this repository

https://tangled.org/r0chd.pl/sessiond https://tangled.org/did:plc:vj3bxta3i3cp26nn46yideoh
git@tangled.org:r0chd.pl/sessiond git@tangled.org:did:plc:vj3bxta3i3cp26nn46yideoh

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



README.md

sessiond#

sessiond is a Linux session and seat management daemon.

Build Dependencies#

  • Rust
  • Cargo
  • pkg-config
  • PAM

Build#

cargo build --workspace --release

Build outputs can be found in target/release:

  • daemon: the session daemon
  • ctl: the control client
  • libpam.so: the PAM module

Installation#

With flakes:

{
  inputs.sessiond.url = "git+https://tangled.org/r0chd.pl/sessiond";
}

Use inputs.sessiond as sessiond in the examples below.

With npins:

npins add git --name sessiond https://tangled.org/r0chd.pl/sessiond --branch master

Import the pinned source in your configuration:

let
  sources = import ./npins;
  sessiond = import sources.sessiond.outPath { };
in
{
  # ...
}

Import the NixOS module:

{
  imports = [
    sessiond.nixosModules.default
  ];
}

or if you're using finix:

{
  imports = [
    sessiond.finixModules.default
  ];
}

Configuration#

Enable sessiond:

{
  services.sessiond.enable = true;
}

To enable the PAM module for another PAM service:

{
  security.pam.services.<service>.sessiond = true;
}

Available options:

{
  services.sessiond = {
    enable = true;
    package = pkgs.sessiond;
    seat = {
      user = "root";
      group = "seat";
    };
  };
}