summaryrefslogtreecommitdiff
path: root/Biz/Bild/Nixpkgs.nix
diff options
context:
space:
mode:
Diffstat (limited to 'Biz/Bild/Nixpkgs.nix')
-rw-r--r--Biz/Bild/Nixpkgs.nix43
1 files changed, 26 insertions, 17 deletions
diff --git a/Biz/Bild/Nixpkgs.nix b/Biz/Bild/Nixpkgs.nix
index ecf50b9..8cb3448 100644
--- a/Biz/Bild/Nixpkgs.nix
+++ b/Biz/Bild/Nixpkgs.nix
@@ -9,36 +9,45 @@ let
system = __currentSystem;
-in import sources.nixpkgs-stable {
+in import sources.nixos-23_05 {
inherit system config;
overlays = [
(_: _: { inherit sources; })
- (_: _: {
- unstable = import sources.nixpkgs-unstable { inherit system config; };
- })
- (_: pkgs: {
+
+ # add some functions
+ (_: old: {
# Given a generic `builder`, will generate an attrset for all the packages
# pinned by `deps` with `builder` applied to the package. This attrset can
# then be merged with the rest of the packages in the set as part of an
# overlay or overrides.
overridePinnedDeps = builder:
- pkgs.lib.genAttrs (builtins.attrNames pkgs.sources) builder;
- })
- (_: pkgs: {
+ old.lib.genAttrs (builtins.attrNames sources) 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 = depName:
- pkgs.${depName}.overrideAttrs (old:
- old // rec {
- version =
- pkgs.sources.${depName}.version or pkgs.sources.${depName}.rev;
- src = pkgs.sources.${depName};
- });
+ if old ? "${depName}" && old.${depName} ? overrideAttrs then
+ old.${depName}.overrideAttrs (attrs:
+ attrs // rec {
+ version = sources.${depName}.version or sources.${depName}.rev;
+ src = sources.${depName};
+ })
+ else
+ null;
})
- (_: pkgs:
- # override pinned deps with our sources
- pkgs.overridePinnedDeps pkgs.overrideSource)
+
+ # override pinned deps with our sources, this must come before other
+ # package overlays, because of the 'null' above
+ (_: pkgs: pkgs.overridePinnedDeps pkgs.overrideSource)
+
+ # add other nixpkgs distributions
+ (_: _: {
+ unstable = import sources.nixpkgs-unstable { inherit system config; };
+ nixos-23_11 = import sources.nixos-23_11 { inherit system config; };
+ })
+
+ # add our hand-written derivations
(import ./Deps.nix)
(_: pkgs: { niv = import pkgs.sources.niv { }; })
];