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/desktop-directories" 45 "/share/icons" 46 "/share/lumina" 47 "/share" 48 ]; 49 50 }; 51}