about summary refs log tree commit diff
path: root/nixpkgs/pkgs/desktops/lumina/lumina/default.nix
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-06-12 09:59:45 +0000
committerAlyssa Ross <hi@alyssa.is>2019-06-18 18:14:17 +0000
commitc5571a126859eb658ffd7340cb580f7d91f12bb6 (patch)
tree577573c3bf14d9849246d52daece719a10eaf138 /nixpkgs/pkgs/desktops/lumina/lumina/default.nix
parent828bd4e8ddcbcd354ddfd99f55af69ee8ff5d9e7 (diff)
parent98e3b90b6c8f400ae5438ef868eb992a64b75ce5 (diff)
downloadnixlib-c5571a126859eb658ffd7340cb580f7d91f12bb6.tar
nixlib-c5571a126859eb658ffd7340cb580f7d91f12bb6.tar.gz
nixlib-c5571a126859eb658ffd7340cb580f7d91f12bb6.tar.bz2
nixlib-c5571a126859eb658ffd7340cb580f7d91f12bb6.tar.lz
nixlib-c5571a126859eb658ffd7340cb580f7d91f12bb6.tar.xz
nixlib-c5571a126859eb658ffd7340cb580f7d91f12bb6.tar.zst
nixlib-c5571a126859eb658ffd7340cb580f7d91f12bb6.zip
Merge commit '98e3b90b6c8f400ae5438ef868eb992a64b75ce5'
Diffstat (limited to 'nixpkgs/pkgs/desktops/lumina/lumina/default.nix')
-rw-r--r--nixpkgs/pkgs/desktops/lumina/lumina/default.nix89
1 files changed, 89 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/lumina/lumina/default.nix b/nixpkgs/pkgs/desktops/lumina/lumina/default.nix
new file mode 100644
index 000000000000..c758fc38a1b9
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/lumina/lumina/default.nix
@@ -0,0 +1,89 @@
+{ stdenv,
+  fetchFromGitHub,
+  desktop-file-utils,
+  fluxbox,
+  numlockx,
+  qmake,
+  qtbase,
+  qtmultimedia,
+  qtsvg,
+  qttools,
+  qtx11extras,
+  xorg,
+  xscreensaver,
+  wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "lumina";
+  version = "1.5.0";
+
+  src = fetchFromGitHub {
+    owner = "lumina-desktop";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0rj2gzifr98db7i82cg3hg7l5yfik810pjpawg6n54qbzq987z25";
+  };
+
+  nativeBuildInputs = [
+    qmake
+    qttools
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    xorg.libxcb
+    xorg.libXcursor
+    xorg.libXdamage
+    xorg.xcbutilwm
+    xorg.xcbutilimage
+    qtbase
+    qtsvg
+    qtmultimedia
+    qtx11extras
+    fluxbox
+    xscreensaver
+    desktop-file-utils
+    numlockx
+  ];
+
+  patches = [
+    ./avoid-absolute-path-on-sessdir.patch
+    ./LuminaOS-NixOS.cpp.patch
+  ];
+
+  prePatch = ''
+    # Copy Gentoo setup as NixOS setup and then patch it
+    # TODO: write a complete NixOS setup?
+    cp -a src-qt5/core/libLumina/LuminaOS-Gentoo.cpp src-qt5/core/libLumina/LuminaOS-NixOS.cpp
+  '';
+
+  postPatch = ''
+    # Fix plugin dir
+    substituteInPlace src-qt5/core/lumina-theme-engine/lthemeengine.pri \
+      --replace "\$\$[QT_INSTALL_PLUGINS]" "$out/$qtPluginPrefix"
+
+    # Fix location of fluxbox styles
+    substituteInPlace src-qt5/core-utils/lumina-config/pages/page_fluxbox_settings.cpp \
+      --replace 'LOS::AppPrefix()+"share/fluxbox' "\"${fluxbox}/share/fluxbox"
+  '';
+
+  qmakeFlags = [
+    "LINUX_DISTRO=NixOS"
+    "CONFIG+=WITH_I18N"
+    "LRELEASE=${stdenv.lib.getDev qttools}/bin/lrelease"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A lightweight, portable desktop environment";
+    longDescription = ''
+      The Lumina Desktop Environment is a lightweight system interface
+      that is designed for use on any Unix-like operating system. It
+      is based on QT5.
+    '';
+    homepage = https://lumina-desktop.org;
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.romildo ];
+  };
+}