2014-08-01 22:23:56 +02:00
|
|
|
{ config, pkgs, lib, ... }:
|
2014-03-18 23:04:33 +01:00
|
|
|
|
2014-08-01 22:23:56 +02:00
|
|
|
with lib;
|
2014-03-18 23:04:33 +01:00
|
|
|
|
|
|
|
let
|
|
|
|
|
|
|
|
xcfg = config.services.xserver;
|
|
|
|
cfg = xcfg.desktopManager.e18;
|
2014-07-25 12:43:46 +02:00
|
|
|
e18_enlightenment = pkgs.e18.enlightenment.override { set_freqset_setuid = true; };
|
2014-03-18 23:04:33 +01:00
|
|
|
|
|
|
|
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 = [
|
2014-07-25 12:43:46 +02:00
|
|
|
pkgs.e18.efl pkgs.e18.evas pkgs.e18.emotion pkgs.e18.elementary e18_enlightenment
|
2014-03-18 23:04:33 +01:00
|
|
|
pkgs.e18.terminology pkgs.e18.econnman
|
|
|
|
];
|
|
|
|
|
|
|
|
services.xserver.desktopManager.session = [
|
|
|
|
{ name = "E18";
|
|
|
|
start = ''
|
2014-07-25 12:43:46 +02:00
|
|
|
${e18_enlightenment}/bin/enlightenment_start
|
2014-03-18 23:04:33 +01:00
|
|
|
waitPID=$!
|
|
|
|
'';
|
|
|
|
}];
|
|
|
|
|
2014-07-25 12:43:46 +02:00
|
|
|
security.setuidPrograms = [ "e18_freqset" ];
|
|
|
|
|
2014-03-18 23:04:33 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|