summaryrefslogtreecommitdiff
path: root/pkgs/default.nix
blob: 9f74497426d0407c2cdda9e96f3aebdfa4bda7fa (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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
{
  final,
  prev,
  flakes,
}:
with prev.lib; let
  inherit (final) callPackage fetchpatch;
in {
  lib = callPackage ./lib {};

  athena-bccr = callPackage ./athena-bccr {};
  btclone = callPackage ./btclone {};
  gem5 = callPackage ./gem5.nix {gem5ISA = "x86";};
  git-aliases = callPackage ./git-aliases.nix {};
  increment-zone-serials = callPackage ./increment-zone-serials {};
  kbuild-standalone = callPackage ./kbuild-standalone.nix {};
  mssql-tools = callPackage ./mssql-tools.nix {};
  oregano = callPackage ./oregano {};
  pass-bcr = callPackage ./pass-bcr {};
  pass-tail = callPackage ./pass-tail {};
  rqlite = callPackage ./rqlite.nix {};
  rv8 = callPackage ./rv8.nix {};
  scripts = callPackage ./scripts {};
  simple-scalar = callPackage ./simple-scalar {};
  spliit = callPackage ./spliit {};
  tmux-lift = callPackage ./tmux-lift {};
  tmux-open = callPackage ./tmux-open {};
  tmux-pass = callPackage ./tmux-pass.nix {};

  sysret-static = callPackage ./zola-static {
    site = "sysret.org";
    src = "${flakes.self}/sysret.org";
  };

  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 {};
        };

      # Tomado de all-packages.nix
      msmtp = callPackage ./msmtp {
        inherit (final.darwin.apple_sdk.frameworks) Security;
        autoreconfHook = final.buildPackages.autoreconfHook269;
      };

      postfix = callPackage ./postfix {inherit (prev) postfix;};
      xandikos = final.python3Packages.callPackage ./xandikos {inherit (prev) xandikos;};
    }
    // (
      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))
    );
}