summary refs log tree commit diff
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2021-04-13 01:23:27 +0200
committerGitHub <noreply@github.com>2021-04-13 01:23:27 +0200
commit122a2df9a7ac3694d658868b60c8dc715000f17a (patch)
tree1d8e225d501a0c267019b61d85a9b884e14f47de
parent290c47d0eae2988d94461f873731501d66540bc7 (diff)
parent728c4f81b8d36ae8a84d9b7dce81bb94bc63ba94 (diff)
downloadnixpkgs-122a2df9a7ac3694d658868b60c8dc715000f17a.tar
nixpkgs-122a2df9a7ac3694d658868b60c8dc715000f17a.tar.gz
nixpkgs-122a2df9a7ac3694d658868b60c8dc715000f17a.tar.bz2
nixpkgs-122a2df9a7ac3694d658868b60c8dc715000f17a.tar.lz
nixpkgs-122a2df9a7ac3694d658868b60c8dc715000f17a.tar.xz
nixpkgs-122a2df9a7ac3694d658868b60c8dc715000f17a.tar.zst
nixpkgs-122a2df9a7ac3694d658868b60c8dc715000f17a.zip
Merge pull request #119259 from romildo/upd.e16
-rw-r--r--nixos/modules/services/x11/window-managers/default.nix1
-rw-r--r--nixos/modules/services/x11/window-managers/e16.nix26
-rw-r--r--pkgs/applications/window-managers/e16/default.nix62
-rw-r--r--pkgs/top-level/all-packages.nix2
4 files changed, 91 insertions, 0 deletions
diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix
index 794dd21e4aa..53285fbce87 100644
--- a/nixos/modules/services/x11/window-managers/default.nix
+++ b/nixos/modules/services/x11/window-managers/default.nix
@@ -15,6 +15,7 @@ in
     ./cwm.nix
     ./clfswm.nix
     ./dwm.nix
+    ./e16.nix
     ./evilwm.nix
     ./exwm.nix
     ./fluxbox.nix
diff --git a/nixos/modules/services/x11/window-managers/e16.nix b/nixos/modules/services/x11/window-managers/e16.nix
new file mode 100644
index 00000000000..3e1a22c4dab
--- /dev/null
+++ b/nixos/modules/services/x11/window-managers/e16.nix
@@ -0,0 +1,26 @@
+{ config , lib , pkgs , ... }:
+
+with lib;
+
+let
+  cfg = config.services.xserver.windowManager.e16;
+in
+{
+  ###### interface
+  options = {
+    services.xserver.windowManager.e16.enable = mkEnableOption "e16";
+  };
+
+  ###### implementation
+  config = mkIf cfg.enable {
+    services.xserver.windowManager.session = singleton {
+      name = "E16";
+      start = ''
+        ${pkgs.e16}/bin/e16 &
+        waitPID=$!
+      '';
+    };
+
+    environment.systemPackages = [ pkgs.e16 ];
+  };
+}
diff --git a/pkgs/applications/window-managers/e16/default.nix b/pkgs/applications/window-managers/e16/default.nix
new file mode 100644
index 00000000000..7028dcfc09d
--- /dev/null
+++ b/pkgs/applications/window-managers/e16/default.nix
@@ -0,0 +1,62 @@
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, freetype
+, imlib2
+, libSM
+, libXcomposite
+, libXdamage
+, libXext
+, libXfixes
+, libXft
+, libXinerama
+, libXrandr
+, libpulseaudio
+, libsndfile
+, pango
+, perl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "e16";
+  version = "1.0.23";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/enlightenment/e16-${version}.tar.xz";
+    sha256 = "028rn1plggacsvdd035qnnph4xw8nya34mmjvvl7d4gqj9pj293f";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    freetype
+    imlib2
+    libSM
+    libXcomposite
+    libXdamage
+    libXext
+    libXfixes
+    libXft
+    libXinerama
+    libXrandr
+    libpulseaudio
+    libsndfile
+    pango
+    perl
+  ];
+
+  postPatch = ''
+    substituteInPlace scripts/e_gen_menu --replace "/usr/local:" "/run/current-system/sw:/usr/local:"
+  '';
+
+  meta = with lib; {
+    homepage = "https://www.enlightenment.org/e16";
+    description = "Enlightenment DR16 window manager";
+    license = licenses.bsd2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 33770db1db5..fde8b83a535 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -22483,6 +22483,8 @@ in
 
   dzen2 = callPackage ../applications/window-managers/dzen2 { };
 
+  e16 = callPackage ../applications/window-managers/e16 { };
+
   eaglemode = callPackage ../applications/misc/eaglemode { };
 
   ebumeter = callPackage ../applications/audio/ebumeter { };