summaryrefslogtreecommitdiff
path: root/pkgs/default.nix
blob: 45b3f4f2d4fcdedc5acc466e57fffcc8f8201ec3 (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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
final: prev:
with prev.lib; let
  inherit (final) callPackage fetchpatch;
in
{
  btclone = callPackage ./btclone { };
  gem5 = callPackage ./gem5.nix { gem5ISA = "x86"; };
  git-aliases = callPackage ./git-aliases.nix { };
  kbuild-standalone = callPackage ./kbuild-standalone.nix { };
  mssql-tools = callPackage ./mssql-tools.nix { };
  oregano = callPackage ./oregano { };
  pass-bcr = callPackage ./pass-bcr { };
  rqlite = callPackage ./rqlite.nix { };
  rv8 = callPackage ./rv8.nix { };
  scripts = callPackage ./scripts { };
  simple-scalar = callPackage ./simple-scalar { };
  tmux-lift = callPackage ./tmux-lift { };
  tmux-pass = callPackage ./tmux-pass.nix { };

  st = prev.st.override {
    conf = import ./st.nix { };

    patches = [
      (fetchpatch {
        url = "https://st.suckless.org/patches/clipboard/st-clipboard-0.8.3.diff";
        sha256 = "cbb37675e9b4986836c19aadacc616a006df81c9bf394e9e3573e164fa1867cf";
      })
    ];
  };

  override = {
    home-assistant-custom-components = prev.home-assistant-custom-components // {
      dreame_vacuum = final.home-assistant.python.pkgs.callPackage ./dreame-vacuum.nix { };
      smartthinq_sensors = final.home-assistant.python.pkgs.callPackage ./smartthinq-sensors.nix { };
    };

    home-assistant-custom-lovelace-modules = prev.home-assistant-custom-lovelace-modules // {
      xiaomi-vacuum-map-card = final.callPackage ./lovelace-xiaomi-vacuum-map-card { };
    };

    postfix = callPackage ./postfix { inherit (prev) postfix; };
  } // (
    let
      makePyOverrides = version:
        let
          name = "python3${toString version}";
        in
        {
          inherit name;

          value = prev.${name}.override {
            packageOverrides = nextPy: prevPy: {
              cocotb = nextPy.callPackage ./cocotb { inherit (prevPy) cocotb; };
              cocotbext-wishbone = nextPy.callPackage ./cocotb/exts/wishbone.nix { };
              find-libpython = nextPy.callPackage ./find-libpython.nix { };
              hdl-convertor = nextPy.callPackage ./hdl-convertor { };
              hdl-convertor-ast = nextPy.callPackage ./hdl-convertor/ast.nix { };
              iced-x86 = nextPy.callPackage ./iced-x86 { };
            };
          };
        };

      pyVersionRange' = start: end:
        let
          next = end + 1;
        in
        if prev ? "python3${toString next}"
        then pyVersionRange' start next
        else range start end;

      pyVersionRange = start: pyVersionRange' start start;
    in
    listToAttrs (map makePyOverrides (pyVersionRange 9))
  );
}