1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 cmake,
6 ninja,
7 kdePackages,
8 qtPackages ? kdePackages,
9 gitUpdater,
10}:
11let
12 qtMajorVersion = lib.versions.major qtPackages.qtbase.version;
13in
14stdenv.mkDerivation (finalAttrs: {
15 pname = "darkly-qt${qtMajorVersion}";
16 version = "0.5.22";
17
18 src = fetchFromGitHub {
19 owner = "Bali10050";
20 repo = "Darkly";
21 tag = "v${finalAttrs.version}";
22 hash = "sha256-m3UMp3dJfGptOR8WDGYgaHfax7Wpad0wKfOI8xZLC1s=";
23 };
24
25 nativeBuildInputs = [
26 cmake
27 ninja
28 qtPackages.wrapQtAppsHook
29 qtPackages.extra-cmake-modules
30 ];
31
32 buildInputs =
33 with qtPackages;
34 [
35 qtbase
36 kconfig
37 kcoreaddons
38 kcmutils
39 kguiaddons
40 ki18n
41 kiconthemes
42 kwindowsystem
43 ]
44 ++ lib.optionals (qtMajorVersion == "5") [
45 kirigami2
46 ]
47 ++ lib.optionals (qtMajorVersion == "6") [
48 kcolorscheme
49 kdecoration
50 kirigami
51 ];
52
53 cmakeFlags = map (v: lib.cmakeBool "BUILD_QT${v}" (v == qtMajorVersion)) [
54 "5"
55 "6"
56 ];
57
58 passthru.updateScript = gitUpdater { rev-prefix = "v"; };
59
60 meta = {
61 description = "Modern style for Qt applications (fork of Lightly)";
62 homepage = "https://github.com/Bali10050/Darkly";
63 changelog = "https://github.com/Bali10050/Darkly/releases/tag/v${finalAttrs.version}";
64 platforms = lib.platforms.linux;
65 license = with lib.licenses; [ gpl2Plus ];
66 maintainers = with lib.maintainers; [ pluiedev ];
67 }
68 // lib.optionalAttrs (qtMajorVersion == "6") {
69 mainProgram = "darkly-settings6";
70 };
71})