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 options = {
14
15 services.xserver.desktopManager.lumina.enable = mkOption {
16 type = types.bool;
17 default = false;
18 description = "Enable the Lumina desktop manager";
19 };
20
21 };
22
23
24 config = mkIf cfg.enable {
25
26 services.xserver.displayManager.sessionPackages = [
27 pkgs.lumina.lumina
28 ];
29
30 environment.systemPackages =
31 pkgs.lumina.preRequisitePackages ++
32 pkgs.lumina.corePackages;
33
34 # Link some extra directories in /run/current-system/software/share
35 environment.pathsToLink = [
36 "/share/lumina"
37 # FIXME: modules should link subdirs of `/share` rather than relying on this
38 "/share"
39 ];
40
41 };
42}