From 635ca1e5d87714f012e7643358afa0a52977e37f Mon Sep 17 00:00:00 2001 From: Colin Date: Wed, 29 May 2024 16:34:32 +0000 Subject: [PATCH] seatd: pull the service definition into my own repo this will allow me to configure the package --- hosts/common/programs/seatd.nix | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/hosts/common/programs/seatd.nix b/hosts/common/programs/seatd.nix index 9c825eca..51f1089e 100644 --- a/hosts/common/programs/seatd.nix +++ b/hosts/common/programs/seatd.nix @@ -1,12 +1,26 @@ -{ ... }: +{ config, lib, ... }: let cfg = config.sane.programs.seatd; in -{ - sane.programs.seatd = {}; +lib.mkMerge [ + { + sane.programs.seatd = {}; + } + (lib.mkIf cfg.enabled { + users.groups.seat = {}; - # TODO: sandbox seatd - # also consider any alternatives (ConsoleKit?). - # /run/seatd.sock location can be configured, but only via compile-time flag - services.seatd.enable = lib.mkIf cfg.enabled true; -} + # TODO: /run/seatd.sock location can be configured, but only via compile-time flag + systemd.services.seatd = { + description = "Seat management daemon"; + documentation = [ "man:seatd(1)" ]; + + wantedBy = [ "multi-user.target" ]; + restartIfChanged = false; + + serviceConfig = { + Type = "simple"; + ExecStart = "${cfg.package}/bin/seatd -g seat"; + }; + }; + }) +]