about summary refs log tree commit diff
path: root/machines/profpatsch/pkgs.nix
blob: 02a4b9df82a5ddc0417d867fa55e82f555adb70d (plain) (blame)
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
{ pkgs, lib, myLib
, withUnfree ? false, unfreeAndNonDistributablePkgs ? null
}:

assert withUnfree -> unfreeAndNonDistributablePkgs != null;

let

  mpv = pkgs.wrapMpv pkgs.mpv-unwrapped {
    scripts = [
      (unfreeAndNonDistributablePkgs.mpvScripts.convert)
    ];
  };

  beets = pkgs.beets.override { enableAlternatives = true; };

  vim = pkgs.vim_configurable;

  fast-init = pkgs.haskellPackages.callPackage (import "${(pkgs.fetchFromGitHub {
    owner = "Profpatsch";
    repo = "fast-init";
    # TODO fix version
    rev = "master";
    sha256 = "03006xzs250knzcyr6j564kn9jf2a6cp3mxkpqsqmmyp6v28w90z";
  })}/overrides.nix") {};

  pyrnotify =
    let src = pkgs.fetchFromGitHub {
          owner = "arnottcr";
          repo = "weechat-pyrnotify";
          rev = "5063ba19b5ba7ba3d4ecb2a76ad9e4b7bf89964b";
          sha256 = "0r07glz7hkmcnp2vl4dy24i9vfsa9shm7k4q0jb47881z0y2dm2p";
        };
        notify-send = "${pkgs.libnotify.overrideAttrs (old: {
          patches = old.patches or [] ++ [ ./patches/libnotify.patch ];
        })}/bin/notify-send";
    in pkgs.runCommandLocal "pyrnotify.py" {} ''
      substitute "${src}/pyrnotify.py" $out \
        --replace 'notify-send' '${notify-send}'
    '';

  zoomboxed = pkgs.vuizvui.buildSandbox unfreeAndNonDistributablePkgs.zoom-us {
    paths.required = [
      "$XDG_CONFIG_HOME/zoomus.conf"
      "$XDG_CONFIG_HOME/.zoom"
    ];
    allowBinSh = true;
  };

  mumble =
    pkgs.mumble;
    # speechdSupport is broken
    # pkgs.mumble.override { speechdSupport = true; };

  # The implementation is buggy and produces an error like
  # Name Error (Connection ":1.4380" is not allowed to own the service "org.linuxtv.Zbar" due to security policies in the configuration file)
  # for every scanned code.
  zbar = zbar.override { enableDbus = false; };

in
{ inherit
    mpv
    beets
    vim
    # fast-init
    pyrnotify
    zoomboxed
    mumble
    ;
}