{ packageOverrides = pkgs: { 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 { extension = self: super: let callPackage = pkgs.lib.callPackageWith self; in beuteltier = callPackage custom/beuteltier.nix { fetchgit = pkgs.fetchgit; }; wombat = callPackage custom/wombat.nix { fetchgit = pkgs.fetchgit; }; opossum = callPackage custom/opossum.nix { fetchgit = pkgs.fetchgit; }; opossumWrapper = callPackage custom/opossum-wrapper.nix { stdenv = pkgs.stdenv; makeWrapper = pkgs.stdenv.makeWrapper; }; } ); }; }