1# Accounts-SSO gSignOn daemon
2
3{ config, lib, pkgs, ... }:
4
5with lib;
6
7let
8 package = pkgs.gsignond.override { plugins = config.services.gsignond.plugins; };
9in
10{
11
12 meta.maintainers = teams.pantheon.members;
13
14 ###### interface
15
16 options = {
17
18 services.gsignond = {
19
20 enable = mkOption {
21 type = types.bool;
22 default = false;
23 description = lib.mdDoc ''
24 Whether to enable gSignOn daemon, a DBus service
25 which performs user authentication on behalf of its clients.
26 '';
27 };
28
29 plugins = mkOption {
30 type = types.listOf types.package;
31 default = [];
32 description = lib.mdDoc ''
33 What plugins to use with the gSignOn daemon.
34 '';
35 };
36 };
37 };
38
39 ###### implementation
40 config = mkIf config.services.gsignond.enable {
41 environment.etc."gsignond.conf".source = "${package}/etc/gsignond.conf";
42 services.dbus.packages = [ package ];
43 };
44
45}