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 (xcfg.enable && cfg.enable) {
25
26 services.xserver.desktopManager.session = singleton {
27 name = "lumina";
28 start = ''
29 exec ${pkgs.lumina}/bin/start-lumina-desktop
30 '';
31 };
32
33 environment.systemPackages = [
34 pkgs.fluxbox
35 pkgs.libsForQt5.kwindowsystem
36 pkgs.lumina
37 pkgs.numlockx
38 pkgs.qt5.qtsvg
39 pkgs.xscreensaver
40 ];
41
42 # Link some extra directories in /run/current-system/software/share
43 environment.pathsToLink = [
44 "/share/lumina"
45 # FIXME: modules should link subdirs of `/share` rather than relying on this
46 "/share"
47 ];
48
49 };
50}