{ packageOverrides = pkgs: rec { mpv = let mpv = pkgs.mpv.override { youtubeSupport = true; theoraSupport = true; }; in pkgs.stdenv.mkDerivation { name = "mpv-wrapper"; src = mpv; unpackPhase = "true"; buildInputs = [ pkgs.makeWrapper pkgs.rsync ]; installPhase = '' mkdir -p $out rsync -a $src/ $out/ chmod u+w $out/bin wrapProgram $out/bin/mpv \ --set JACK_PROMISCUOUS_SERVER 1 \ --run "umask 0" ''; }; jackmeter = let jackmeter = pkgs.jackmeter.override {}; in pkgs.stdenv.mkDerivation { name = "jackmeter-wrapper"; src = jackmeter; unpackPhase = "true"; buildInputs = [ pkgs.makeWrapper pkgs.rsync ]; installPhase = '' mkdir -p $out rsync -a $src/ $out/ chmod u+w $out/bin wrapProgram $out/bin/jack_meter \ --set JACK_PROMISCUOUS_SERVER 1 \ --run "umask 0" ''; }; myHaskellPackages = pkgs.recurseIntoAttrs ( pkgs.haskellPackages.override { overrides = self: super: let callPackage = pkgs.lib.callPackageWith ( pkgs // self ); in { attoparsecExpr = callPackage ../custom/attoparsec-expr.nix {}; shellMonad = callPackage ../custom/shell-monad.nix {}; filelock = callPackage ../custom/filelock.nix {}; trivmix = callPackage ../custom/trivmix.nix {}; }; } ); adjmix = let trivmix = myHaskellPackages.trivmix; in pkgs.stdenv.mkDerivation { name = "adjmix"; buildCommand = '' mkdir -p $out/bin cp ${trivmix}/bin/adjmix $out/bin ''; }; } // (import ../utils/nix/default.nix) {}; }