Skip to content

config: remove nix.enable heuristic #1924

@zimbatm

Description

@zimbatm

I have a project which gets compiled by nix and Ubuntu users. Both set of users expect to be able to type stack build and have the right thing to happen.

My current stack.yaml:

---
packages:
- .
- location:
    git: https://github.com/motus/haskell-zookeeper-client.git
    commit: e724636886e3590624f79e1267bfb4d8eab96f86
resolver: lts-3.20
nix:
  enable: false
  packages:
    - gcc
    - git
    - pkgconfig
    - zlib
    - zookeeper_mt

I am forced to set nix.enable to false for Ubuntu users. If I don't set to anything the current heuristic is to set it to true because of the nix.packages existing.

From the doc, and this is what I have witnessed too:

nix:
  # true by default when the nix section is present. Set
  # it to `false` to disable using Nix.
  enable: true

On nix I was hoping to set nix.enalbe to true in ~/.stack/config.yaml but the per-project config has precedence over the global config (which makes sense to me).

So currently there is no way to support my scenario. While I see that the heuristic is trying to be helpful I think that it's counter-productive and should be removed.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions