summary refs log tree commit diff
path: root/nixos/modules/services/x11/desktop-managers/e18.nix
blob: faafd21b07dda1537c9ee0277da8bebefa728621 (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
32
33
34
35
36
37
38
39
40
41
42
43
{ config, pkgs, lib, ... }:

with lib;

let

  xcfg = config.services.xserver;
  cfg = xcfg.desktopManager.e18;
  e18_enlightenment = pkgs.e18.enlightenment.override { set_freqset_setuid = true; };

in

{
  options = {

    services.xserver.desktopManager.e18.enable = mkOption {
      default = false;
      example = true;
      description = "Enable the E18 desktop environment.";
    };

  };

  config = mkIf (xcfg.enable && cfg.enable) {

    environment.systemPackages = [
      pkgs.e18.efl pkgs.e18.evas pkgs.e18.emotion pkgs.e18.elementary e18_enlightenment
      pkgs.e18.terminology pkgs.e18.econnman
    ];

    services.xserver.desktopManager.session = [
    { name = "E18";
      start = ''
        ${e18_enlightenment}/bin/enlightenment_start
        waitPID=$!
      '';
    }];

    security.setuidPrograms = [ "e18_freqset" ];

  };

}