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}