mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-21 22:15:40 +00:00
feat(nix): psysonic-gdk-session, devShell target dir, nixos-install refresh (#447)
* feat(nix): psysonic-gdk-session package and local cargo layout - Add psysonic-gdk-session (forceGdkX11=false) to flake packages and apps - Ignore .build-local/ in cleanSource; set CARGO_TARGET_DIR in devShell shellHook - Gitignore: result, .build-local, prod.sh (local helper only) - nixos-install: contributor shell docs use flake devShell only (no shell.nix in tree) * chore(nix): gitignore local dev.sh, shell.nix, prod.sh Document optional local helpers in nixos-install.md; keep flake PR free of non-reproducible shell.nix fetchTarball. * docs(nix): document default vs gdk-session flake packages Explain x11-wrapped default and optional psysonic-gdk-session trade-offs; extend flake description and one-shot run note. * docs: quote flake URLs for zsh in README and nixos-install * docs(changelog): add PR #446 UI bulk ratings and PR #447 Nix flake GDK choice * docs: remove Nix flake block from README; changelog #447 points to nixos-install only
This commit is contained in:
+19
-10
@@ -35,6 +35,9 @@
|
||||
gst_all_1,
|
||||
src,
|
||||
upstreamMeta,
|
||||
# When true (default), wrapProgram sets GDK_BACKEND=x11 for WebKit stability on many setups.
|
||||
# When false, GDK follows the session (e.g. native Wayland) — often better HiDPI sizing.
|
||||
forceGdkX11 ? true,
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -59,7 +62,8 @@ let
|
||||
&& !(lib.hasInfix "/target/" f)
|
||||
&& !(lib.hasInfix "/.git/" f)
|
||||
&& !(lib.hasInfix "/result/" f)
|
||||
&& !(lib.hasInfix "/.flatpak-builder/" f);
|
||||
&& !(lib.hasInfix "/.flatpak-builder/" f)
|
||||
&& !(lib.hasInfix "/.build-local/" f);
|
||||
};
|
||||
npmDeps = fetchNpmDeps {
|
||||
src = srcClean;
|
||||
@@ -156,15 +160,20 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
})
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/psysonic \
|
||||
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libayatana-appindicator ]}" \
|
||||
--prefix GST_PLUGIN_PATH : "${gstPluginPath}" \
|
||||
--prefix GIO_EXTRA_MODULES : "${glib-networking}/lib/gio/modules" \
|
||||
--set GDK_BACKEND x11 \
|
||||
--set WEBKIT_DISABLE_COMPOSITING_MODE 1 \
|
||||
--set WEBKIT_DISABLE_DMABUF_RENDERER 1
|
||||
'';
|
||||
postFixup =
|
||||
let
|
||||
gdkX11Wrap = lib.optionalString forceGdkX11 ''
|
||||
--set GDK_BACKEND x11 \
|
||||
'';
|
||||
in
|
||||
''
|
||||
wrapProgram $out/bin/psysonic \
|
||||
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libayatana-appindicator ]}" \
|
||||
--prefix GST_PLUGIN_PATH : "${gstPluginPath}" \
|
||||
--prefix GIO_EXTRA_MODULES : "${glib-networking}/lib/gio/modules" \
|
||||
${gdkX11Wrap}--set WEBKIT_DISABLE_COMPOSITING_MODE 1 \
|
||||
--set WEBKIT_DISABLE_DMABUF_RENDERER 1
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Desktop music player for Subsonic-compatible servers";
|
||||
|
||||
Reference in New Issue
Block a user