{ config, lib, pkgs, ... }: let cfg = config.sydnix.discord.jellyfin-rpc; vesktop-wrapper = pkgs.vesktop.overrideAttrs (finalAttrs: prevAttrs: { postFixup = '' ${prevAttrs.postFixup or ""} if [[ -e $out/bin/.vesktop-wrapped ]]; then echo ".vesktop-wrapped already exists..." exit 1 fi mv $out/bin/vesktop $out/bin/.vesktop-wrapped tee $out/bin/vesktop < "$dest" \ --rawfile api_key ${api-key-file} \ '.jellyfin.api_key = $api_key' ''; }; }; systemd.user.services.jellyfin-rpc = { Unit.Requires = [ "jellyfin-rpc-configure.service" ]; Unit.After = [ "jellyfin-rpc-configure.service" ]; Install.WantedBy = [ "default.target" ]; Service.ExecStart = lib.getExe pkgs.jellyfin-rpc; }; sydnix.sops.secrets.jellyfin-rpc-api-key = {}; programs.nixcord.vesktop.package = vesktop-wrapper; assertions = [{ assertion = config.programs.nixcord.vesktop.enable; message = "Jellyfin RPC requires Vesktop."; }]; }; }