Skip to content

Is Nix worth the complexity? #288

@brettdh

Description

@brettdh

I've been working on several enhancements currently deployed internally at my company, and I have more planned, all of which I'm hoping to submit as pull requests - but I have to say, the Nix-based build process is making it really hard to develop.

Some examples:

  • I'm currently trying to add a single package via pip, and running pypi2nix (which is now abandonware) took 24 minutes to run. (In contrast, something like poetry add takes seconds.) Plus, it modified some files in ways that I don't understand, and I don't yet know if it worked.
  • To build the docker image on MacOS, I have to run the nix build inside a docker container, because nix busybox package isn't supported on MacOS.
  • I'm trying to tweak the docker configuration, and I know my way around a Dockerfile fairly well, but nix adds a new layer of complexity that I have to learn.

It seems like running in Docker is the most common use case. Is running in Nix a use case that still needs to be supported? If not, shedding that complexity would greatly simplify development for potential contributors like me.

My current plan (at some point) is to add a new plain-Dockerfile build process off to the side of the nix build. It's not a super complex app, so there's not a lot to duplicate. Hopefully I can make this a pull request to make this proposal more concrete.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions