about summary refs log tree commit diff
path: root/nixpkgs-overlays/zzzzzz-config/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs-overlays/zzzzzz-config/default.nix')
-rw-r--r--nixpkgs-overlays/zzzzzz-config/default.nix63
1 files changed, 63 insertions, 0 deletions
diff --git a/nixpkgs-overlays/zzzzzz-config/default.nix b/nixpkgs-overlays/zzzzzz-config/default.nix
new file mode 100644
index 000000000000..b3613ef154da
--- /dev/null
+++ b/nixpkgs-overlays/zzzzzz-config/default.nix
@@ -0,0 +1,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 { };
+    };
+  }