{ config, lib, pkgs, ... }: with lib; let xcfg = config.services.xserver; cfg = xcfg.desktopManager.maxx; in { options.services.xserver.desktopManager.maxx = { enable = mkEnableOption "MaXX desktop environment"; }; config = mkIf cfg.enable { environment.systemPackages = [ pkgs.maxx ]; # there is hardcoded path in binaries system.activationScripts.setup-maxx = '' mkdir -p /opt ln -sfn ${pkgs.maxx}/opt/MaXX /opt ''; services.xserver.desktopManager.session = [ { name = "MaXX"; start = '' exec ${pkgs.maxx}/opt/MaXX/etc/skel/Xsession.dt ''; }]; }; meta.maintainers = [ maintainers.gnidorah ]; }