|
14 | 14 | withLayerShellQt ? true,
|
15 | 15 | }: let
|
16 | 16 | inherit (lib) cleanSource licenses;
|
| 17 | + inherit (lib) attrValues substring readFile concatStringsSep map; |
| 18 | + inherit (lib.generators) toINI; |
| 19 | + inherit (stdenvNoCC) mkDerivation; |
17 | 20 |
|
18 |
| - theme-package = stdenvNoCC.mkDerivation (final: { |
19 |
| - pname = "silent"; |
20 |
| - version = "${builtins.substring 0 8 gitRev}"; |
| 21 | + propagatedBuildInputs = attrValues { |
| 22 | + inherit (kdePackages) qtmultimedia qtsvg qtvirtualkeyboard; |
| 23 | + }; |
21 | 24 |
|
| 25 | + sddm-wrapped = kdePackages.sddm.override { |
| 26 | + extraPackages = propagatedBuildInputs; |
| 27 | + inherit withLayerShellQt withWayland; |
| 28 | + }; |
| 29 | +in |
| 30 | + mkDerivation (final: { |
| 31 | + inherit propagatedBuildInputs; |
| 32 | + |
| 33 | + pname = "silent"; |
| 34 | + version = "${substring 0 8 gitRev}"; |
22 | 35 | src = cleanSource ./.;
|
23 | 36 |
|
24 | 37 | dontWrapQtApps = true;
|
25 | 38 |
|
26 |
| - propagatedBuildInputs = with kdePackages; [ |
27 |
| - qtmultimedia |
28 |
| - qtsvg |
29 |
| - qtvirtualkeyboard |
30 |
| - ]; |
31 |
| - |
32 | 39 | installPhase = let
|
33 | 40 | basePath = "$out/share/sddm/themes/${final.pname}";
|
34 |
| - baseConfigFile = "${final.src}/configs/${theme}.conf"; |
35 |
| - overrides = lib.generators.toINI {} theme-overrides; |
36 |
| - finalConfig = (builtins.readFile baseConfigFile) + "\n" + overrides; |
37 |
| - finalConfigFile = writeText "${theme}.conf" finalConfig; |
| 41 | + overrides = toINI {} theme-overrides; |
38 | 42 | in ''
|
39 | 43 | mkdir -p ${basePath}
|
40 | 44 | cp -r $src/* ${basePath}
|
|
43 | 47 | --replace-warn configs/default.conf configs/${theme}.conf
|
44 | 48 |
|
45 | 49 | chmod +w ${basePath}/configs/${theme}.conf
|
46 |
| - cp ${finalConfigFile} ${basePath}/configs/${theme}.conf |
| 50 | + echo '${overrides}' >> ${basePath}/configs/${theme}.conf |
47 | 51 |
|
48 | 52 | chmod -R +w ${basePath}/backgrounds
|
49 |
| - ${builtins.concatStringsSep "\n" (builtins.map (bg: "cp ${bg} ${basePath}/backgrounds/${bg.name}") extraBackgrounds)} |
| 53 | + ${concatStringsSep "\n" (map (bg: "cp ${bg} ${basePath}/backgrounds/${bg.name}") extraBackgrounds)} |
50 | 54 | '';
|
51 | 55 |
|
52 |
| - meta.licenses = licenses.gpl3; |
53 |
| - passthru.test = test; |
54 |
| - }); |
55 |
| - |
56 |
| - sddm-wrapped = kdePackages.sddm.override { |
57 |
| - extraPackages = theme-package.propagatedBuildInputs; |
58 |
| - inherit withLayerShellQt withWayland; |
59 |
| - }; |
| 56 | + passthru.test = symlinkJoin { |
| 57 | + name = "test-sddm-silent"; |
| 58 | + paths = [sddm-wrapped]; |
| 59 | + nativeBuildInputs = [makeWrapper]; |
| 60 | + postBuild = '' |
| 61 | + makeWrapper $out/bin/sddm-greeter-qt6 $out/bin/test-sddm-silent \ |
| 62 | + --suffix QML2_IMPORT_PATH ':' ${final.finalPackage}/share/sddm/themes/${final.pname}/components \ |
| 63 | + --set QT_IM_MODULE qtvirtualkeyboard \ |
| 64 | + --add-flags '--test-mode --theme ${final.finalPackage}/share/sddm/themes/${final.pname}' |
| 65 | + ''; |
| 66 | + }; |
60 | 67 |
|
61 |
| - test = symlinkJoin { |
62 |
| - name = "test-sddm-silent"; |
63 |
| - paths = [sddm-wrapped]; |
64 |
| - nativeBuildInputs = [makeWrapper]; |
65 |
| - postBuild = '' |
66 |
| - makeWrapper $out/bin/sddm-greeter-qt6 $out/bin/test-sddm-silent \ |
67 |
| - --suffix QML2_IMPORT_PATH ':' ${theme-package}/share/sddm/themes/${theme-package.pname}/components \ |
68 |
| - --set QT_IM_MODULE qtvirtualkeyboard \ |
69 |
| - --add-flags '--test-mode --theme ${theme-package}/share/sddm/themes/${theme-package.pname}' |
70 |
| - ''; |
71 |
| - }; |
72 |
| -in |
73 |
| - theme-package |
| 68 | + meta.licenses = licenses.gpl3; |
| 69 | + }) |
0 commit comments