| 30 Jul 2021 |
tomberek | * polykernel: no, the top-level of flakes are restricted, as are some other constructs that would cause them to be more difficult to evaluate/cache (Refer: https://github.com/NixOS/nix/issues/3966#issuecomment-682497697 ) | 03:04:10 |
polykernel | thanks, I should of known this. I recall reading that computation is forbidden on metadata attributes(https://github.com/NixOS/nix/issues/4945#issuecomment-868572873), but it didn't occur to me at least somehow, it included the top level as well. | 03:12:27 |
polykernel | * thanks, I should of known this. I recall reading that computation is forbidden for metadata attributes(https://github.com/NixOS/nix/issues/4945#issuecomment-868572873), but it didn't occur to me at least somehow, it included the top level as well. | 03:12:38 |
polykernel | * thanks, I should of known this. I recall reading that computation is forbidden for metadata attributes(https://github.com/NixOS/nix/issues/4945#issuecomment-868572873), but it somehow didn't occur to me it included the top level as well. | 03:12:55 |
polykernel | so due to the evaluation constraint of flakes, if I want to do computation for inputs (i.e, dynamically generate inputs),I would have to write a generator for flake.nix using another nix expression? | 03:17:10 |
tomberek | yes, or generate the file in some other way, then evaluate the flake once it is no longer dynamic | 03:17:52 |
polykernel | I see, thanks for the help | 03:20:13 |
| dramforever joined the room. | 08:41:42 |
| 31 Jul 2021 |
| yusdacra changed their profile picture. | 17:18:04 |
| 1 Aug 2021 |
polykernel | is there a way to call a flake within a nix expression, would I have to use builtins.getFlake? | 22:06:22 |
elonsroadster | So I think I want to do something that would generally be regarded as a bad idea. I get that flakes are supposed to be as pure as possible, but I really want to be able to know what directory the flake is defined in, because I want to be able to talk about paths relative to that flake. The reason I want to do this is that I want to add to certain paths in my dotfiles to the global path environment variable. I realize that the nixy way to do this would be to actually add all of the relevant paths/scripts to the nix store and add them that way, but I don't want to have to explicitly rebuild to get new versions of all the scripts every time they are changed. | 22:17:08 |
| 2 Aug 2021 |
colemickens 🏳️🌈 | I mean, you can't...? | 00:17:30 |
elonsroadster | In reply to @colemickens:matrix.org I mean, you can't...? even with --impure? Is there a way you can pass an argument to a flake | 02:30:12 |
colemickens 🏳️🌈 | I guess you could do nix build --expr and pass it an expression where you're providing the path of where the scripts are. | 04:12:25 |
colemickens 🏳️🌈 | Not sure that's any better than just ... setting it via convention and then hard-coding it. Either way you're making an un-enforceable assumption. | 04:12:51 |
colemickens 🏳️🌈 | Right? If you build that into the toplevel, nothing stops you from just... not cloning the scripts there and forgetting and putting it in the wrong place. | 04:13:56 |
elonsroadster | couldn't i do something like builtins getEnv if I use --impure | 07:13:31 |
elonsroadster | no i guess that wont work, because the file will already be in the store | 07:26:41 |
Las | In reply to @elonsroadster:matrix.org So I think I want to do something that would generally be regarded as a bad idea. I get that flakes are supposed to be as pure as possible, but I really want to be able to know what directory the flake is defined in, because I want to be able to talk about paths relative to that flake. The reason I want to do this is that I want to add to certain paths in my dotfiles to the global path environment variable. I realize that the nixy way to do this would be to actually add all of the relevant paths/scripts to the nix store and add them that way, but I don't want to have to explicitly rebuild to get new versions of all the scripts every time they are changed. You don't have to do this | 08:15:37 |
Las | That's a really bad solution honestly | 08:15:44 |
Las | You can just refer to the paths normally | 08:15:53 |
Las | With " | 08:15:58 |
Las | Just don't depend on them being where the flake is | 08:16:17 |
elonsroadster | Las: well yeah i dont want to do that though | 08:16:30 |
Las | There are a lot of situations where it wouldn't work | 08:16:34 |
Las | Your flake's source is imported into the Nix store, after that it has no idea where it came from | 08:17:03 |
elonsroadster | Las: yes i know that, thats why im asking the question | 08:17:14 |
elonsroadster | i want to do something impure in a flake, and I know thats wrong, so i kind of get why this is sort of dumb | 08:17:38 |
Las | Well then there's nothing to say other than it's fundamentally impossible | 08:17:43 |
Las | It's not even just impure | 08:17:47 |