summaryrefslogtreecommitdiff
path: root/users/gkleen@bragi.nix
blob: b67696a5563272d52e44fbfe33c303b08af5ad7d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
{
  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 {
        extension = 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) {};
}