about summary refs log tree commit diff
path: root/nixpkgs-overlays/zzzzzz-config/default.nix
blob: b3613ef154da3e90da97e3b6652718107dc883b9 (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
# HACK: This directory is named zzzzzz-config.nix, because the config
# overlay should always be applied last.

self: super:

let
  defaultOverlays = map import [
    ../../config/firefox/overlay.nix
  ];

  # Create another package set to avoid leaking configTools.
  pkgsWithConfigTools = super.extend (self: super: {
    configTools = super.callPackage ../../config/tools.nix { };
  });

  # Use callPackage from pkgsWithConfigTools so that configured packages
  # don't depend on other configured packages by default.
  inherit (pkgsWithConfigTools) callPackage;

  inherit (super.lib) foldl;

in
  (foldl (a: e: a // e) {} (map (f: f self super) defaultOverlays)) // {
    pkgsConfigured = pkgsWithConfigTools // rec {
      alacritty = callPackage ../../config/alacritty { };

      firefox = callPackage ../../config/firefox { };
      firefox-nightly = callPackage ../../config/firefox { firefox = super.firefox-nightly; };
      firefox-beta = callPackage ../../config/firefox { firefox = super.firefox-beta; };
      firefox-esr-52 = callPackage ../../config/firefox { firefox = super.firefox-esr-52; };
      firefox-esr-60 = callPackage ../../config/firefox { firefox = super.firefox-esr-60; };
      firefox-esr = callPackage ../../config/firefox { firefox = super.firefox-esr; };

      gitAndTools = super.gitAndTools // {
        git = callPackage ../../config/git { inherit (super.gitAndTools) git; };
        gitFull = callPackage ../../config/git { git = super.gitAndTools.gitFull; };
        gitSVN = callPackage ../../config/git { git = super.gitAndTools.gitSVN; };
      };
      inherit (gitAndTools) git gitFull gitSVN;
      gitMinimal = callPackage ../../config/git { git = super.gitMinimal; };

      gnupg = callPackage ../../config/gnupg { };

      isync = callPackage ../../config/isync { inherit gnupg; };

      kakoune = callPackage ../../config/kakoune { };

      less = callPackage ../../config/less { };

      msmtp = callPackage ../../config/msmtp { inherit gnupg; };

      neomutt = callPackage ../../config/neomutt { inherit gnupg msmtp; };

      sway = callPackage ../../config/sway { };
      sway-beta = callPackage ../../config/sway { sway = super.sway-beta; };

      tmux = callPackage ../../config/tmux { };

      weechat = callPackage ../../config/weechat { };

      zsh = callPackage ../../config/zsh { };
    };
  }