{ 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 { attoparsecExpr = callPackage ../custom/attoparsec-expr.nix {}; shellMonad = callPackage ../custom/shell-monad.nix {}; beuteltier = callPackage ../custom/beuteltier.nix { fetchgit = pkgs.fetchgit; }; opossum = callPackage ../custom/opossum.nix { fetchgit = pkgs.fetchgit; }; opossumWrapper = callPackage ../custom/opossum-wrapper.nix { stdenv = pkgs.stdenv; makeWrapper = pkgs.makeWrapper; }; wombat = callPackage ../custom/wombat.nix { fetchgit = pkgs.fetchgit; }; wombatWrapper = pkgs.stdenv.mkDerivation { name = "wombat-wrapper"; src = self.wombat; unpackPhase = "true"; buildInputs = [ pkgs.makeWrapper pkgs.rsync ]; installPhase = '' mkdir -p $out rsync -a $src/ $out/ chmod u+w $out/bin wrapProgram $out/bin/wombat \ --prefix PATH : ${pkgs.ffmpeg}/bin \ --prefix PATH : ${pkgs.wget}/bin \ --prefix PATH : ${pkgs.youtube-dl}/bin ''; }; runOpossum = callPackage ../custom/run-opossum_bragi.nix { stdenv = pkgs.stdenv; zsh = pkgs.zsh; findutils = pkgs.findutils; coreutils = pkgs.coreutils; wombat = self.wombatWrapper; opossum = self.opossumWrapper; makeWrapper = pkgs.makeWrapper; }; }; } ); }; }