summaryrefslogtreecommitdiff
path: root/nix/sources-overlay.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nix/sources-overlay.nix')
-rw-r--r--nix/sources-overlay.nix16
1 files changed, 16 insertions, 0 deletions
diff --git a/nix/sources-overlay.nix b/nix/sources-overlay.nix
new file mode 100644
index 0000000..b19bb34
--- /dev/null
+++ b/nix/sources-overlay.nix
@@ -0,0 +1,16 @@
+_: pkgs:
+
+rec {
+ pinnedDeps = builtins.attrNames
+ (builtins.removeAttrs pkgs.sources ["__functor"]);
+ overridePinnedDeps = builder: pkgs.lib.genAttrs pinnedDeps builder;
+
+ # Modifies a derivation with our source and version, keeping old build
+ # rules. This will fail if build steps have changed, or if no build
+ # rules are available upstream..
+ overrideSource = name: pkgs.${name}.overrideAttrs (old: old // rec {
+ name = "${name}-${version}";
+ version = pkgs.sources.${name}.version or pkgs.sources.${name}.rev;
+ src = pkgs.sources.${name};
+ });
+}