Hello!
NixOS 19.09 stable channel with some unstable packages here.
I’ve been trying to override Fake, a dotnet package that’s super out of date in nixpkgs. I based my code on https://nixos.org/nixpkgs/manual/#how-to-override-a-python-package-from-configuration.nix, but I keep getting errors. Here’s what I currently have in my configuration.nix:
nixpkgs.config.packageOverrides = super: {
unstable = import unstableTarball { config = config.nixpkgs.config; };
dotnetPackages = super.dotnetPackages.override {
override = dotnetPackages-self: dotnetPackages-super: {
Fake = dotnetPackages-super.Fake.overrideAttrs (oldAttrs: {
version = 5.19.0;
sha256 = "c12195c60ddaacfb18eb1c20a04a47b9f83ad248f9b64e12708dc3662dcd37a3";
});
};
};
};
The unstable override works fine but the dotnetPackages override gives me:
error: anonymous function at /nix/store/lim8ddl05xpgivjsg7ccvbxfm7l0xsjd-nixos-19.09.1970.6d9a4a615ee/nixos/pkgs/top-level/dotnet-packages.nix:1:1
called with unexpected argument 'override', at /nix/store/lim8ddl05xpgivjsg7ccvbxfm7l0xsjd-nixos-19.09.1970.6d9a4a615ee/nixos/lib/customisation.nix:69:12
It seems to me that I have to override the dotnetPackages top-level.nix https://github.com/NixOS/nixpkgs/blob/0c960262d159d3a884dadc3d4e4b131557dad116/pkgs/top-level/dotnet-packages.nix#L27
because it has an override attribute whereas Fake, what I’m really after, does not. Is this correct? If I load Fake into nix repl, I get
Fake = «derivation /nix/store/kqrp1k0vrfl8ry7zz2qikkib6sfbxbxf-FAKE-3.33.0.drv»;
but if I load dotnetPackages, I get:
...
override = «lambda @ /nix/store/lim8ddl05xpgivjsg7ccvbxfm7l0xsjd-nixos-19.09.1970.6d9a4a615ee/nixos/lib/customisation.nix:73:20»;
overrideDerivation = «lambda @ /nix/store/lim8ddl05xpgivjsg7ccvbxfm7l0xsjd-nixos-19.09.1970.6d9a4a615ee/nixos/lib/customisation.nix:74:30»;
...
and if I just try:
nixpkgs.config.packageOverrides = super: {
unstable = import unstableTarball { config = config.nixpkgs.config; };
Fake = pkgs.dotnetPackages.Fake.override {
version = 5.19.0;
sha256 = "c12195c60ddaacfb18eb1c20a04a47b9f83ad248f9b64e12708dc3662dcd37a3";
};
};
I get:
error: attribute 'override' missing, at /etc/nixos/configuration.nix:212:12
I’m really stuck on this one. What am I doing wrong? Any help would be greatly appreciated.
Thanks!