nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 stdenvNoCC,
3 lib,
4 nixosTests,
5 glib,
6 lndir,
7 lomiri-system-settings-unwrapped,
8 wrapGAppsHook3,
9 wrapQtAppsHook,
10 plugins ? [ ],
11}:
12
13stdenvNoCC.mkDerivation (finalAttrs: {
14 pname = "lomiri-system-settings";
15 inherit (lomiri-system-settings-unwrapped) version;
16
17 dontUnpack = true;
18 dontConfigure = true;
19 dontBuild = true;
20
21 strictDeps = true;
22
23 nativeBuildInputs = [
24 lndir
25 wrapGAppsHook3
26 wrapQtAppsHook
27 ];
28
29 buildInputs = [
30 glib # schema hook
31 lomiri-system-settings-unwrapped
32 ]
33 ++ plugins;
34
35 installPhase = ''
36 runHook preInstall
37
38 mkdir -p $out/bin
39 ln -s ${lib.getExe lomiri-system-settings-unwrapped} $out/bin/${finalAttrs.meta.mainProgram}
40
41 for inheritedPath in share/lomiri-app-launch share/lomiri-url-dispatcher share/applications share/icons; do
42 mkdir -p $out/$inheritedPath
43 lndir ${lomiri-system-settings-unwrapped}/$inheritedPath $out/$inheritedPath
44 done
45
46 for mergedPath in lib/lomiri-system-settings share/lomiri-system-settings share/locale; do
47 mkdir -p $out/$mergedPath
48 for lssPart in ${lomiri-system-settings-unwrapped} ${lib.strings.concatStringsSep " " plugins}; do
49 lndir $lssPart/$mergedPath $out/$mergedPath
50 done
51 done
52
53 runHook postInstall
54 '';
55
56 dontWrapGApps = true;
57
58 preFixup = ''
59 qtWrapperArgs+=(
60 "''${gappsWrapperArgs[@]}"
61 --set NIX_LSS_PREFIX "$out"
62 )
63 '';
64
65 passthru.tests.standalone = nixosTests.lomiri-system-settings;
66
67 meta = lomiri-system-settings-unwrapped.meta // {
68 description = "System Settings application for Lomiri (wrapped)";
69 priority = (lomiri-system-settings-unwrapped.meta.priority or lib.meta.defaultPriority) - 1;
70 };
71})