| 12 Aug 2021 |
@timdeh:matrix.org | Yeah the nix debugging story is probably the worst thing about the language atm | 23:01:23 |
@timdeh:matrix.org | I was thinking it might be worth creating a sort of linter with rnix-parser that looks for common error patterns itself, instead of relying on the confusing stack trace abilities of the evaluator | 23:02:03 |
d4hines | In reply to @ultranix:matrix.org i just try not to bloat my configuration with thing's i dont use, so i think i removed it and a few other things like darwin This is why I'm starting from scratch with a home-manager config. The DevOS config has a lot of really cool ideas, but it's got too much going on for me as a beginnner. | 23:02:05 |
ultranix | i think yeah you do need some experience with nix to use DevOS, cant just spin it up with a first time NixOS or whatever | 23:04:19 |
ultranix | but for nix itself, it would help a lot to move fully to flakes, and get rid of the old interface too | 23:05:50 |
ultranix | or at least have it under legacy interface or something | 23:06:20 |
@timdeh:matrix.org | indeed, DevOS was more of an attempt at reifying a best practice for a Nix repository. It's hard to grasp a best practice when you barely understand the rules of the game 😅 | 23:06:26 |
ultranix | nix subcommand flake to just be nix | 23:06:33 |
@timdeh:matrix.org | devos was essentially my 3 attempt in 3 years to bring some sanity to the structure of my Nix config | 23:06:46 |
@timdeh:matrix.org | * devos was essentially my 3rd attempt in 3 years to bring some sanity to the structure of my Nix config | 23:06:53 |
@timdeh:matrix.org | and I'm already thinking about what 2.0 will look like :D | 23:07:28 |
ultranix | yeah me similarly, first attempt at using flakes was finally nixflk | 23:07:32 |
d4hines | In reply to @timdeh:matrix.org indeed, DevOS was more of an attempt at reifying a best practice for a Nix repository. It's hard to grasp a best practice when you barely understand the rules of the game 😅 I'm not sure about this. create-react-app seems like a counter-example. So does cargo for rust. | 23:08:42 |
@timdeh:matrix.org | true, but with nix we don't really have the toolage to make it quite so automatic | 23:09:12 |
@timdeh:matrix.org | although I've been looking at https://github.com/jonringer/nix-template as a potential to bridge this gap | 23:09:36 |
ultranix | flakes kind of skipped over the RFC process, pushed through without finishing it. so its in no man's land and i hear there's still several unsolved issues | 23:09:49 |
@timdeh:matrix.org | yeah, there's a bunch of stuff people aren't happy about, but the ironic piece is that the format hasn't changed since their release. So in practice, they are quite stable 😄 | 23:10:34 |
@timdeh:matrix.org | I think the only breaking change was when epoch was removed, and I think that happened before Eelco even merged it to nixpkgs | 23:11:47 |
d4hines | In reply to @timdeh:matrix.org although I've been looking at https://github.com/jonringer/nix-template as a potential to bridge this gap This seems less than ideal, Imperative shell commands to manage huge boilier plate seems worse than just having less boiler plate/relying on defaults.
The best looking interface into Nix I've seen so far is DevShell. TOML file where you list the packages you need. Amazing! When I figure out how to do overlays consistently, it's going to be awesome. But I have to decide how to do them - Niv or nvfetcher or manually or something else I haven't heard of what?
| 23:13:55 |
d4hines | In reply to @timdeh:matrix.org although I've been looking at https://github.com/jonringer/nix-template as a potential to bridge this gap * This seems less than ideal, Imperative shell commands to manage huge boilier plate seems worse than just having less boiler plate/relying on defaults.
The best looking interface into Nix I've seen so far is DevShell. TOML file where you list the packages you need. Amazing! When I figure out how to do overlays consistently, it's going to be awesome. But I have to decide how to do them - Niv or nvfetcher or manually or something else I haven't heard or what?
| 23:14:06 |
@timdeh:matrix.org | you will probably like https://github.com/tweag/nix-ux then | 23:14:44 |
d4hines | You guessed correctly! | 23:16:00 |
@timdeh:matrix.org | Here's the part you may not fully see yet d4hines. You could easily call nix-template from a derivation builder, thus siezing all the reliability of a nix derivation with a bit more powerful templating abilities | 23:16:16 |
d4hines | Why is that better than a nix expression function to do it nrdxp ? | 23:17:09 |
d4hines | Oh, it's a library of those very functions. | 23:17:29 |
d4hines | As well as a CLI interface. | 23:17:39 |
@timdeh:matrix.org | I was about to add that, in order to truly be ideal, flakes would need some form of input. Although the override-flake args could already be used as a type of input if used cleverly | 23:18:23 |
@timdeh:matrix.org | afor simple things like passing list of usernames on the cli and getting out a coherent template for all three at the end of the build | 23:20:34 |
@timdeh:matrix.org | * for simple things like passing list of usernames on the cli and getting out a coherent template for all three at the end of the build | 23:21:27 |
@timdeh:matrix.org | I've thought about it enough to know that's it's all already technically feasible, but the implementation would end up being very arcane. A better interface would be nice. Which is why I also use and wonder how we could get upstream to approve https://github.com/dramforever/nix-dram | 23:22:28 |