{ pkgs, lib, mkAliases, ... }: let ffmpegExe = lib.getExe pkgs.ffmpeg; aliases = { opus = '' INPUT_FILE_NAME="$1" TEMPORARY_FILE_NAME="/tmp/''${1%.*}.opus" TARGET_FILE_NAME="''${1%.*}.m4a" BITRATE="''${2:-128k}" ${ffmpegExe} -i $INPUT_FILE_NAME \ -b:a $BITRATE \ -c:a libopus \ $TEMPORARY_FILE_NAME ${ffmpegExe} -i $TEMPORARY_FILE_NAME \ -map_metadata -1 \ -fflags +bitexact \ -flags:v +bitexact \ -flags:a +bitexact \ -c:a copy \ -f mp4 \ $TARGET_FILE_NAME rm $TEMPORARY_FILE_NAME ''; }; in pkgs.mkShell { packages = with pkgs; [ ffmpeg rsgain ] ++ (mkAliases aliases); }