Repository navigation
Support Nix Flakes #546
Description
Activity
I'm just gonna drop here two good reasons not to use flakes yet:
- It's unstable, which means bugs in the core binary do exist and will sooner or later bite you, no matter what
--option xxx yyy,ulimit, etc, you configure to try controlling file descriptor leaks:
for some companies like us it's not reasonable to risk reliability on production, the thing must just work, preferably for ever
on Nix stable this
too-many-open-filesdo not happen (downgrading from Flakes was actually the fix to the problem)
- Evaluation cache is awesome on flakes, but runtime cache-ability is not perfect yet, for instance we cannot make use of
projectPathor something similar:
which means that in a tree like following:
- a
- whatever-code
- b
- c.sh
- d.nix (depends on c.sh)
if
whatever-codechanges, then the entireinputs.self.sourceInfo.outPathchanges, and thus./b/c.shchanges, and./b/d.nixmust be build again. This does not happen on Makes using Nix stable because using projectPath you can maked.nixdepend only on the NAR serialization ofbfolder, and changes outside ofbdo not require to rebuildd.nix.Maybe this is the reason why some nix experts are using Bazel to achieve incremental builds?
We achieved incremental builds at Fluid Attacks using nix stable and
projectPathonly
I'm gonna stop working towards Flakes for now
The work done so far serves as a draft on how compatibility with Flakes can be implemented
- It's unstable, which means bugs in the core binary do exist and will sooner or later bite you, no matter what
- added 2 commits that reference this issue
on Sep 17, 2021 - added 5 commits that reference this issue
on Sep 17, 2021 6 remaining items
- added a commit that references this issue
on Sep 18, 2021 - added a commit that references this issue
on Sep 18, 2021 - addedhelp wantedWill be solved only if someone contributes itWill be solved only if someone contributes it
on Sep 28, 2021 2. runtime cache-ability is not perfect yet, for instance we cannot make use of
projectPathor something similar:Unless I'm mistaken this is fixed the next day by 2143be2, correct?
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fields📋 Backlog


Related:
Useful links:
Examples:
Things to take into account: