about summary refs log tree commit diff
path: root/nixos/modules/services/x11/desktop-managers/maxx.nix
blob: 1c04104df41e4e17ab4769443bf82a1eea48c89f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{ 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 ];
}