lumina: init at 1.1.0-p1
This commit is contained in:
parent
fa4167c0a1
commit
a25e6bc8db
@ -19,7 +19,8 @@ in
|
||||
# E.g., if KDE is enabled, it supersedes xterm.
|
||||
imports = [
|
||||
./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./kde5.nix
|
||||
./lxqt.nix ./enlightenment.nix ./gnome3.nix ./kodi.nix
|
||||
./lumina.nix ./lxqt.nix ./enlightenment.nix ./gnome3.nix
|
||||
./kodi.nix
|
||||
];
|
||||
|
||||
options = {
|
||||
|
52
nixos/modules/services/x11/desktop-managers/lumina.nix
Normal file
52
nixos/modules/services/x11/desktop-managers/lumina.nix
Normal file
@ -0,0 +1,52 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
xcfg = config.services.xserver;
|
||||
cfg = xcfg.desktopManager.lumina;
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
options = {
|
||||
|
||||
services.xserver.desktopManager.lumina.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Enable the Lumina desktop manager";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
config = mkIf (xcfg.enable && cfg.enable) {
|
||||
|
||||
services.xserver.desktopManager.session = singleton {
|
||||
name = "lumina";
|
||||
start = ''
|
||||
exec ${pkgs.lumina}/bin/start-lumina-desktop
|
||||
'';
|
||||
};
|
||||
|
||||
environment.systemPackages = [
|
||||
pkgs.fluxbox
|
||||
pkgs.kde5.kwindowsystem
|
||||
pkgs.kde5.oxygen-icons5
|
||||
pkgs.lumina
|
||||
pkgs.numlockx
|
||||
pkgs.qt5.qtsvg
|
||||
pkgs.xscreensaver
|
||||
];
|
||||
|
||||
# Link some extra directories in /run/current-system/software/share
|
||||
environment.pathsToLink = [
|
||||
"/share/desktop-directories"
|
||||
"/share/icons"
|
||||
"/share/lumina"
|
||||
"/share"
|
||||
];
|
||||
|
||||
};
|
||||
}
|
26
pkgs/desktops/lumina/LuminaOS-NixOS.cpp.patch
Normal file
26
pkgs/desktops/lumina/LuminaOS-NixOS.cpp.patch
Normal file
@ -0,0 +1,26 @@
|
||||
diff --git a/src-qt5/core/libLumina/LuminaOS-NixOS.cpp b/src-qt5/core/libLumina/LuminaOS-NixOS.cpp
|
||||
index b92d1b0..441b1bf 100644
|
||||
--- a/src-qt5/core/libLumina/LuminaOS-NixOS.cpp
|
||||
+++ b/src-qt5/core/libLumina/LuminaOS-NixOS.cpp
|
||||
@@ -13,17 +13,17 @@
|
||||
//can't read xbrightness settings - assume invalid until set
|
||||
static int screenbrightness = -1;
|
||||
|
||||
-QString LOS::OSName(){ return "Gentoo Linux"; }
|
||||
+QString LOS::OSName(){ return "NixOS"; }
|
||||
|
||||
//OS-specific prefix(s)
|
||||
// NOTE: PREFIX, L_ETCDIR, L_SHAREDIR are defined in the OS-detect.pri project file and passed in
|
||||
QString LOS::LuminaShare(){ return (L_SHAREDIR+"/lumina-desktop/"); } //Install dir for Lumina share files
|
||||
-QString LOS::AppPrefix(){ return "/usr/"; } //Prefix for applications
|
||||
-QString LOS::SysPrefix(){ return "/"; } //Prefix for system
|
||||
+QString LOS::AppPrefix(){ return PREFIX+"/usr"; } //Prefix for applications
|
||||
+QString LOS::SysPrefix(){ return PREFIX; } //Prefix for system
|
||||
|
||||
//OS-specific application shortcuts (*.desktop files)
|
||||
QString LOS::ControlPanelShortcut(){ return ""; } //system control panel
|
||||
-QString LOS::AppStoreShortcut(){ return LOS::AppPrefix() + "/share/applications/porthole.desktop"; } //graphical app/pkg manager
|
||||
+QString LOS::AppStoreShortcut(){ return ""; } //graphical app/pkg manager
|
||||
//OS-specific RSS feeds (Format: QStringList[ <name>::::<url> ]; )
|
||||
QStringList LOS::RSSFeeds(){ return QStringList(); }
|
||||
|
11
pkgs/desktops/lumina/avoid-absolute-path-on-sessdir.patch
Normal file
11
pkgs/desktops/lumina/avoid-absolute-path-on-sessdir.patch
Normal file
@ -0,0 +1,11 @@
|
||||
diff -Naur lumina-1.0.0-Release-p1-OLD/src-qt5/OS-detect.pri lumina-1.0.0-Release-p1-PATCH/src-qt5/OS-detect.pri
|
||||
--- lumina-1.0.0-Release-p1-OLD/src-qt5/OS-detect.pri 2016-08-09 12:04:30.000000000 -0300
|
||||
+++ lumina-1.0.0-Release-p1-PATCH/src-qt5/OS-detect.pri 2016-08-13 17:32:18.272137900 -0300
|
||||
@@ -55,7 +55,6 @@
|
||||
#Use the defaults for everything else
|
||||
|
||||
}else : linux-*{
|
||||
- L_SESSDIR=/usr/share/xsessions
|
||||
OS=Linux
|
||||
LIBS += -L/usr/local/lib -L/usr/lib -L/lib
|
||||
|
69
pkgs/desktops/lumina/default.nix
Normal file
69
pkgs/desktops/lumina/default.nix
Normal file
@ -0,0 +1,69 @@
|
||||
{ stdenv, fetchFromGitHub, fluxbox, xscreensaver, desktop_file_utils,
|
||||
numlockx, xorg, qt5, kde5
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "lumina-${version}";
|
||||
version = "1.1.0-p1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "trueos";
|
||||
repo = "lumina";
|
||||
rev = "v${version}";
|
||||
sha256 = "1kkb6v6p6w5mx1qdmcrq3r674k9ahpc6wlsb9pi2lq8qk9yaid0m";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
qt5.qmakeHook
|
||||
qt5.qttools
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
xorg.libxcb
|
||||
xorg.xcbutilwm
|
||||
xorg.xcbutilimage
|
||||
qt5.qtbase
|
||||
qt5.qtsvg
|
||||
qt5.qtmultimedia
|
||||
qt5.qtx11extras
|
||||
kde5.oxygen-icons5
|
||||
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 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" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
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 ];
|
||||
};
|
||||
}
|
@ -16206,6 +16206,8 @@ in
|
||||
|
||||
in makeOverridable makePackages extra;
|
||||
|
||||
lumina = callPackage ../desktops/lumina { };
|
||||
|
||||
lxqt = recurseIntoAttrs (callPackage ../desktops/lxqt { });
|
||||
|
||||
mate = recurseIntoAttrs (callPackage ../desktops/mate {
|
||||
|
Loading…
Reference in New Issue
Block a user