nixos/preload: init
[NixPkgs.git] / nixos / modules / services / x11 / desktop-managers / kodi.nix
blob43904cd00e840b81e397824073d72df61a94287a
1 { config, lib, pkgs, ... }:
3 with lib;
5 let
6   cfg = config.services.xserver.desktopManager.kodi;
7 in
10   options = {
11     services.xserver.desktopManager.kodi = {
12       enable = mkOption {
13         type = types.bool;
14         default = false;
15         description = lib.mdDoc "Enable the kodi multimedia center.";
16       };
18       package = mkOption {
19         type = types.package;
20         default = pkgs.kodi;
21         defaultText = literalExpression "pkgs.kodi";
22         example = literalExpression "pkgs.kodi.withPackages (p: with p; [ jellyfin pvr-iptvsimple vfs-sftp ])";
23         description = lib.mdDoc ''
24           Package that should be used for Kodi.
25         '';
26       };
27     };
28   };
30   config = mkIf cfg.enable {
31     services.xserver.desktopManager.session = [{
32       name = "kodi";
33       start = ''
34         LIRC_SOCKET_PATH=/run/lirc/lircd ${cfg.package}/bin/kodi --standalone &
35         waitPID=$!
36       '';
37     }];
39     environment.systemPackages = [ cfg.package ];
40   };