| 25 May 2021 |
plabadens | but you'd have to do that for separate components of the system | 17:25:46 |
Linux Hackerman | In reply to @Ericson2314:matrix.org Linux Hackerman: can you use self.callPackage? yes | 17:26:15 |
Linux Hackerman | that seems to work | 17:26:25 |
plabadens | @red: so for instance nix log /run/current-system/etc/udev/rules.d/ gives a build log for your udev rules | 17:29:21 |
plabadens | * red:: so for instance nix log /run/current-system/etc/udev/rules.d/ gives a build log for your udev rules | 17:30:50 |
red | thanks | 17:31:21 |
red | hmm, this didn't work as expected:
| 17:34:10 |
red | [red@apophenia:~]$ ls -la /run/current-system
lrwxrwxrwx 1 root root 93 May 25 13:15 /run/current-system -> /nix/store/zajrf997dd8l0fk50l1nixgpgm75a4xb-nixos-system-apophenia-21.05pre279012.ad47284f8b0
[red@apophenia:~]$ nix log /nix/store/zajrf997dd8l0fk50l1nixgpgm75a4xb-nixos-system-apophenia-21.05pre279012.ad47284f8b0
| 17:34:23 |
John Ericson | Linux Hackerman: yeah that wasn't intentional | 17:35:58 |
John Ericson | but also i think one should always use self.callPackage anyways :) | 17:36:19 |
plabadens | red: yes it can only give you the logs for a given path or package | 17:37:47 |
plabadens | so you'd need to be more specific beceause the logs don't propagate | 17:38:48 |
Linux Hackerman | In reply to @Ericson2314:matrix.org but also i think one should always use self.callPackage anyways :) no, functions like callPackage are supposed to come from super | 17:40:53 |
John Ericson | Linux Hackerman: that's a mistake once said | 17:53:41 |
John Ericson | either that is no different, or it will get you old deps | 17:53:53 |
toonn | Can't it cause infinite recursion? | 17:56:24 |
John Ericson | toonn: as long as the set of keys doesn't depend on self | 17:57:53 |
John Ericson | it shouldn't | 17:57:55 |
toonn | Keys? | 17:59:19 |
John Ericson | toonn: the attrset fields | 18:00:15 |
toonn | Yes, I'm talking about overlaying a package which has dependencies that are also overlayed. | 18:00:58 |
John Ericson | toonn: then self.callPackage is the safe option | 18:12:41 |
John Ericson | I only use super for the old versions of package, and stuff like self: super: { ... } // lib.optinonalAttrs (...super...) { ... } | 18:13:22 |
John Ericson | i.e. the optionalAttrs condition using self would mean the set of keys depends on self and that causes the problem | 18:13:51 |
Linux Hackerman | In reply to @Ericson2314:matrix.org Linux Hackerman: that's a mistake once said super.callPackage will give you packages from the final scope | 18:22:08 |
toonn | Yeah that was my understanding too. | 18:24:51 |
toonn | Any callPackage uses the fixpoint to provide deps. | 18:25:12 |
toonn | So unless you need to overlay callPackage itself, and you'd probably need a good reason to do so, no benefit can come from getting it from self. | 18:25:46 |
Linux Hackerman | (import ./. {
overlays = [(self: super: {
foo = "bar";
baz = super.callPackage ({foo}: foo) {};
})];
}).baz
⇒ "bar", not an eval error
| 18:26:01 |
ris_ | so... what's going on with libxml2 2.9.12? these errors just look Wrong https://nix-cache.s3.amazonaws.com/log/a5xskkn34bwkwfwg92r59xsbiswgb4s3-python3.8-parsel-1.6.0.drv | 18:28:46 |