Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
86 lines
1.6 KiB
Nix
86 lines
1.6 KiB
Nix
{
|
|
lib,
|
|
ags,
|
|
astal,
|
|
dart-sass,
|
|
fzf,
|
|
gjs,
|
|
gnused,
|
|
gobject-introspection,
|
|
gtk3,
|
|
gtk4-layer-shell,
|
|
stdenvNoCC,
|
|
wrapGAppsHook3,
|
|
wrapGAppsHook4,
|
|
}:
|
|
{
|
|
entry ? "app.ts",
|
|
dependencies ? [ ],
|
|
enableGtk4 ? false,
|
|
...
|
|
}@attrs:
|
|
stdenvNoCC.mkDerivation (
|
|
finalAttrs:
|
|
attrs
|
|
// {
|
|
nativeBuildInputs = (attrs.nativeBuildInputs or [ ]) ++ [
|
|
(ags.override { extraPackages = dependencies; })
|
|
gnused
|
|
gobject-introspection
|
|
(if enableGtk4 then wrapGAppsHook4 else wrapGAppsHook3)
|
|
];
|
|
|
|
buildInputs =
|
|
(attrs.buildInputs or [ ])
|
|
++ dependencies
|
|
++ [
|
|
gjs
|
|
astal.astal4
|
|
astal.astal3
|
|
astal.io
|
|
];
|
|
|
|
preFixup = ''
|
|
gappsWrapperArgs+=(
|
|
--prefix PATH : ${
|
|
lib.makeBinPath (
|
|
dependencies
|
|
++ [
|
|
dart-sass
|
|
fzf
|
|
gtk3
|
|
]
|
|
)
|
|
}
|
|
)
|
|
''
|
|
+ lib.optionalString enableGtk4 ''
|
|
gappsWrapperArgs+=(
|
|
--set LD_PRELOAD "${gtk4-layer-shell}/lib/libgtk4-layer-shell.so"
|
|
)
|
|
''
|
|
+ (attrs.preFixup or "");
|
|
|
|
installPhase =
|
|
let
|
|
outBin = "$out/bin/${finalAttrs.pname}";
|
|
in
|
|
# bash
|
|
''
|
|
runHook preInstall
|
|
|
|
mkdir -p "$out/bin" "$out/share"
|
|
cp -r ./* "$out/share"
|
|
ags bundle "${entry}" "${outBin}" -d "SRC='$out/share'"
|
|
|
|
chmod +x "${outBin}"
|
|
|
|
if ! head -n 1 "${outBin}" | grep -q "^#!"; then
|
|
sed -i '1i #!${gjs}/bin/gjs -m' "${outBin}"
|
|
fi
|
|
|
|
runHook postInstall
|
|
'';
|
|
}
|
|
)
|