3 ms·
Also, reading back on that, I think the hardest part would be "PyPI dependencies" of MyPy, and "CRAN dependencies of R scripts like dplyr". These have what I c
by chubot 4y ago
Also, reading back on that, I think the hardest part would be "PyPI dependencies" of MyPy, and "CRAN dependencies of R scripts like dplyr". These have what I call the "rewriting upstream" problem.
Though maybe a hybrid approach can work? Or does that defeat the purpose? I think a problem with these kinds of systems is that they can be "all or nothing". If you're halfway in, and halfway out, you don't get any benefits.
- pxc 4y agoFor lang-specific package managers that have a lockfile format, it's possible to write tooling that lets you run `cargo lock` or whatever and then generate the required Nix expressions for those dependencies. For stuff that doesn't support such a format, if you had your scripts export to your own little json lockfile format, you could have Nix read that (Nix expressions can ingest json). There's some ongoing work to better support 'generating' those Nix expressions and using them in builds without explicitly storing them anywhere, as well (John Ericson's RFCs on 'import-from-derivation' and related functionality), and for unifying such tooling (dream2nix). (This kind of thing is what the `guix import` CLI does, but it has some limitations.) There's some talk of possibly using Oil Shell for a port of Nixpkgs to Windows, although another language might be chosen by whoever really takes up that work. People interested in adding native Windows support to Nix might be interested in helping you sort out Nix packaging for Oil (I see there is a package currently, but it's not a source build).
- chubot 4y agoHm interesting, are there any examples of that? I want to add lockfiles for all the package managers we use, e.g. https://github.com/oilshell/oil/issues/1081 https://github.com/oilshell/oil/issues/1081