diff options
author | Nikolay Amiantov <ab@fmap.me> | 2016-03-12 02:43:40 +0300 |
---|---|---|
committer | Nikolay Amiantov <ab@fmap.me> | 2016-03-12 03:10:37 +0300 |
commit | e358d9498c493a3e53769e0514afed8836ae0b3e (patch) | |
tree | 2b7bb4204b1de01e1d9415cfd6b59c56873e899f /nixos/modules/services/x11/desktop-managers/enlightenment.nix | |
parent | 0bf8a1a86df67649893726d50761567121330006 (diff) | |
download | nixlib-e358d9498c493a3e53769e0514afed8836ae0b3e.tar nixlib-e358d9498c493a3e53769e0514afed8836ae0b3e.tar.gz nixlib-e358d9498c493a3e53769e0514afed8836ae0b3e.tar.bz2 nixlib-e358d9498c493a3e53769e0514afed8836ae0b3e.tar.lz nixlib-e358d9498c493a3e53769e0514afed8836ae0b3e.tar.xz nixlib-e358d9498c493a3e53769e0514afed8836ae0b3e.tar.zst nixlib-e358d9498c493a3e53769e0514afed8836ae0b3e.zip |
e19: rename to enlightenment, drop old one
Diffstat (limited to 'nixos/modules/services/x11/desktop-managers/enlightenment.nix')
-rw-r--r-- | nixos/modules/services/x11/desktop-managers/enlightenment.nix | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/nixos/modules/services/x11/desktop-managers/enlightenment.nix b/nixos/modules/services/x11/desktop-managers/enlightenment.nix new file mode 100644 index 000000000000..6c77a7256793 --- /dev/null +++ b/nixos/modules/services/x11/desktop-managers/enlightenment.nix @@ -0,0 +1,102 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + + e = pkgs.enlightenment; + xcfg = config.services.xserver; + cfg = xcfg.desktopManager.enlightenment; + enlightenment = e.enlightenment.override { set_freqset_setuid = true; }; + GST_PLUGIN_PATH = lib.makeSearchPath "lib/gstreamer-1.0" [ + pkgs.gst_all_1.gst-plugins-base + pkgs.gst_all_1.gst-plugins-good + pkgs.gst_all_1.gst-plugins-bad + pkgs.gst_all_1.gst-libav ]; + +in + +{ + options = { + + services.xserver.desktopManager.enlightenment.enable = mkOption { + default = false; + example = true; + description = "Enable the Enlightenment desktop environment."; + }; + + }; + + config = mkIf (xcfg.enable && cfg.enable) { + + environment.systemPackages = [ + e.efl e.evas e.emotion e.elementary enlightenment + e.terminology e.econnman + pkgs.xorg.xauth # used by kdesu + pkgs.gtk # To get GTK+'s themes. + pkgs.tango-icon-theme + pkgs.shared_mime_info + pkgs.gnome.gnomeicontheme + pkgs.xorg.xcursorthemes + ]; + + environment.pathsToLink = [ "/etc/enlightenment" "/etc/xdg" "/share/enlightenment" "/share/elementary" "/share/applications" "/share/locale" "/share/icons" "/share/themes" "/share/mime" "/share/desktop-directories" ]; + + services.xserver.desktopManager.session = [ + { name = "Enlightenment"; + start = '' + # Set GTK_DATA_PREFIX so that GTK+ can find the themes + export GTK_DATA_PREFIX=${config.system.path} + # find theme engines + export GTK_PATH=${config.system.path}/lib/gtk-3.0:${config.system.path}/lib/gtk-2.0 + export XDG_MENU_PREFIX=enlightenment + + export GST_PLUGIN_PATH="${GST_PLUGIN_PATH}" + + # make available for D-BUS user services + #export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}:${config.system.path}/share:${e.efl}/share + + # Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/ + ${pkgs.xdg-user-dirs}/bin/xdg-user-dirs-update + + ${enlightenment}/bin/enlightenment_start + waitPID=$! + ''; + }]; + + security.setuidPrograms = [ "e_freqset" ]; + + environment.etc = singleton + { source = "${pkgs.xkeyboard_config}/etc/X11/xkb"; + target = "X11/xkb"; + }; + + fonts.fonts = [ pkgs.dejavu_fonts pkgs.ubuntu_font_family ]; + + services.udisks2.enable = true; + services.upower.enable = config.powerManagement.enable; + + #services.dbus.packages = [ pkgs.efl ]; # dbus-1 folder is not in /etc but in /share, so needs fixing first + + systemd.user.services.efreet = + { enable = true; + description = "org.enlightenment.Efreet"; + serviceConfig = + { ExecStart = "${e.efl}/bin/efreetd"; + StandardOutput = "null"; + }; + }; + + systemd.user.services.ethumb = + { enable = true; + description = "org.enlightenment.Ethumb"; + serviceConfig = + { ExecStart = "${e.efl}/bin/ethumbd"; + StandardOutput = "null"; + }; + }; + + + }; + +} |