No longer able to override Beets ffmpeg build

Hey all! I’m having trouble overriding the ffmpeg build that the beets derivative from unstable uses.

Previously, I used
((beets.override { ffmpeg = ((pkgs.ffmpeg-full.override { withUnfree = true; }).overrideAttrs (_: { doCheck = false; })); } ))
This no longer works because the beets der was rewritten. Now, I can use beets.overrideAttrs instead of beets.override, but this still uses a stock build of ffmpeg. I realised this because when testing ffmpeg_7, beets was returning errors from ffmpeg 8, and when I modified the system installation, beets’ one didn’t change, though the system one did. When I rebuild, Nix does compile beets and ffmpeg, so I feel like it’s not an issue with my config… could be wrong, obviously.

I’m doing all of this to use the libfdk_aac encoder. I did switch away from ffmpeg_full to override the base ffmpeg package with withFdkAac instead, but it doesn’t work no matter what.

python3Packages.toPythonApplication (python3Packages.beets.override {
  ffmpeg = (ffmpeg-full.override { withUnfree = true; }).overrideAttrs { doCheck = false; };
})

This works! Just needed to surround it with parenthesis. My end result was:

(
        (python3Packages.toPythonApplication (
          python3Packages.beets.override {
            ffmpeg =
              (ffmpeg.override {
                withUnfree = true;
                withFdkAac = true;
              }).overrideAttrs
                { doCheck = false; };
          }
        ))
      )

(nixfmt did this)

Annoying that this is required, but oh well.