1{ config, lib, pkgs, ... }:
2
3with lib;
4
5let
6
7 xcfg = config.services.xserver;
8 cfg = xcfg.desktopManager.lumina;
9
10in
11
12{
13 meta = {
14 maintainers = teams.lumina.members;
15 };
16
17 options = {
18
19 services.xserver.desktopManager.lumina.enable = mkOption {
20 type = types.bool;
21 default = false;
22 description = lib.mdDoc "Enable the Lumina desktop manager";
23 };
24
25 };
26
27
28 config = mkIf cfg.enable {
29
30 services.xserver.displayManager.sessionPackages = [
31 pkgs.lumina.lumina
32 ];
33
34 environment.systemPackages =
35 pkgs.lumina.preRequisitePackages ++
36 pkgs.lumina.corePackages;
37
38 # Link some extra directories in /run/current-system/software/share
39 environment.pathsToLink = [
40 "/share/lumina"
41 # FIXME: modules should link subdirs of `/share` rather than relying on this
42 "/share"
43 ];
44
45 };
46}