nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 symlinkJoin,
5 fetchzip,
6 phira-unwrapped,
7 makeWrapper,
8 libGL,
9 # A derivation or a path that contains a dir `assets`.
10 overrideAssets ? fetchzip {
11 url = "https://github.com/TeamFlos/phira/releases/download/v${phira-unwrapped.version}/Phira-windows-v${phira-unwrapped.version}.zip";
12 hash = "sha256-kgmIIIzg+wxyspQTyW1GucW0RVPfBhIRlK5DEGXK1Qs=";
13 stripRoot = false;
14 meta.license = lib.licenses.unfree;
15 },
16}:
17
18symlinkJoin {
19 pname = "phira";
20 version = phira-unwrapped.version;
21
22 paths = [ phira-unwrapped ];
23
24 nativeBuildInputs = [ makeWrapper ];
25
26 postBuild = ''
27 phira_root=$out/share/phira
28 mkdir -p $phira_root
29 cp -r ${overrideAssets}/assets $phira_root
30
31 wrapper_options=(
32 ${lib.optionalString stdenv.hostPlatform.isLinux "--suffix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libGL ]}"}
33 --run '
34 export PHIRA_ROOT=''${PHIRA_ROOT-"''${XDG_DATA_HOME-"$HOME/.local/share"}/phira"}
35 if [[ ! -d "$PHIRA_ROOT/assets" ]]; then
36 mkdir -p "$PHIRA_ROOT"
37 cp -r "'$phira_root/assets'" "$PHIRA_ROOT"
38 chmod -R +w "$PHIRA_ROOT/assets"
39 fi
40 '
41 )
42
43 wrapProgram $out/bin/phira-main "''${wrapper_options[@]}"
44 wrapProgram $out/bin/phira-monitor "''${wrapper_options[@]}"
45 '';
46
47 passthru.assets = overrideAssets;
48
49 meta = phira-unwrapped.meta;
50
51}