Fix overlay.* flake outputs not conforming to spec (#21)
- overlay function argument names should be `final` and `prev` - `overlay.*` should be overlays -- functions taking `final: prev:` The NixOS module was amended to preserve compatibility.
This commit is contained in:
parent
e36a1a93aa
commit
6216734855
39
flake.nix
39
flake.nix
@ -13,26 +13,26 @@
|
|||||||
let
|
let
|
||||||
compiler = "ghc92";
|
compiler = "ghc92";
|
||||||
|
|
||||||
overlay = pkgsNew: pkgsOld: {
|
overlay = final: prev: {
|
||||||
cabal2nix-unwrapped =
|
cabal2nix-unwrapped =
|
||||||
pkgsNew.haskell.lib.justStaticExecutables
|
final.haskell.lib.justStaticExecutables
|
||||||
pkgsNew.haskell.packages."${compiler}".cabal2nix;
|
final.haskell.packages."${compiler}".cabal2nix;
|
||||||
|
|
||||||
haskell = pkgsOld.haskell // {
|
haskell = prev.haskell // {
|
||||||
packages = pkgsOld.haskell.packages // {
|
packages = prev.haskell.packages // {
|
||||||
"${compiler}" = pkgsOld.haskell.packages."${compiler}".override (old: {
|
"${compiler}" = prev.haskell.packages."${compiler}".override (old: {
|
||||||
overrides =
|
overrides =
|
||||||
pkgsNew.lib.fold pkgsNew.lib.composeExtensions (old.overrides or (_: _: { })) [
|
final.lib.fold final.lib.composeExtensions (old.overrides or (_: _: { })) [
|
||||||
(pkgsNew.haskell.lib.packageSourceOverrides {
|
(final.haskell.lib.packageSourceOverrides {
|
||||||
nix-serve-ng = ./.;
|
nix-serve-ng = ./.;
|
||||||
})
|
})
|
||||||
(haskellPackagesNew: haskellPackagesOld: {
|
(haskellPackagesNew: haskellPackagesOld: {
|
||||||
nix-serve-ng =
|
nix-serve-ng =
|
||||||
pkgsNew.haskell.lib.overrideCabal
|
final.haskell.lib.overrideCabal
|
||||||
haskellPackagesOld.nix-serve-ng
|
haskellPackagesOld.nix-serve-ng
|
||||||
(old: {
|
(old: {
|
||||||
executableSystemDepends = (old.executableSystemDepends or []) ++ [
|
executableSystemDepends = (old.executableSystemDepends or []) ++ [
|
||||||
pkgsNew.boost.dev
|
final.boost.dev
|
||||||
];
|
];
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
@ -42,8 +42,8 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
nix-serve-ng =
|
nix-serve-ng =
|
||||||
pkgsNew.haskell.lib.justStaticExecutables
|
final.haskell.lib.justStaticExecutables
|
||||||
pkgsNew.haskell.packages."${compiler}".nix-serve-ng;
|
final.haskell.packages."${compiler}".nix-serve-ng;
|
||||||
};
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
@ -84,18 +84,13 @@
|
|||||||
# The default overlay only adds the exports for
|
# The default overlay only adds the exports for
|
||||||
# `pkgs.haskell.packages."${compiler}".nix-serve-ng` and
|
# `pkgs.haskell.packages."${compiler}".nix-serve-ng` and
|
||||||
# `pkgs.nix-serve-ng`
|
# `pkgs.nix-serve-ng`
|
||||||
default = [ overlay ];
|
default = overlay;
|
||||||
|
|
||||||
# This overlay additionally overrides `pkgs.nix-serve` to refer to
|
# This overlay additionally overrides `pkgs.nix-serve` to refer to
|
||||||
# `pkgs.nix-serve-ng`
|
# `pkgs.nix-serve-ng`
|
||||||
override =
|
override = final: prev: {
|
||||||
let
|
nix-serve = final.nix-serve-ng;
|
||||||
replace = pkgsNew: pkgsOld: {
|
};
|
||||||
nix-serve = pkgsNew.nix-serve-ng;
|
|
||||||
};
|
|
||||||
|
|
||||||
in
|
|
||||||
[ overlay replace ];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# The NixOS module is a thin wrapper around the overlay to replace
|
# The NixOS module is a thin wrapper around the overlay to replace
|
||||||
@ -103,7 +98,7 @@
|
|||||||
#
|
#
|
||||||
# You can continue to use the old `services.nix-serve` NixOS options.
|
# You can continue to use the old `services.nix-serve` NixOS options.
|
||||||
nixosModules.default = {
|
nixosModules.default = {
|
||||||
nixpkgs.overlays = overlays.override;
|
nixpkgs.overlays = [ overlays.default overlays.override ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user