Skip to content

Commit 39b7606

Browse files
committed
docs: explain use of nixpkgs-unstable in README
1 parent 34c91a4 commit 39b7606

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

README.md

+12
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,18 @@ This template uses:
4242
- `devenv.yaml` - Configures devenv to use nixpkgs-unstable for the latest packages
4343
- `.envrc` - Configures direnv to use devenv (optional, but provides automatic activation)
4444

45+
### Why nixpkgs-unstable?
46+
47+
By default, devenv uses `github:cachix/devenv-nixpkgs/rolling` as its nixpkgs source. However, this template intentionally uses `github:NixOS/nixpkgs/nixpkgs-unstable` for several reasons:
48+
49+
1. **Latest Elixir versions:** The nixpkgs-unstable channel typically includes the most recent versions of Elixir and Erlang soon after they're released. For example, Elixir 1.18.3 was available in nixpkgs-unstable before it appeared in the default devenv nixpkgs.
50+
51+
2. **Broader package selection:** Access to the complete set of packages in the main nixpkgs repository, which may be useful when adding dependencies to your project.
52+
53+
3. **Community updates:** The main nixpkgs repository receives more frequent updates for language-specific packages from the broader Nix community.
54+
55+
This approach prioritizes having the latest language features over the potential stability benefits of the default channel. For most Elixir development, this trade-off is worthwhile as it provides access to the newest language capabilities.
56+
4557
## Customizing
4658

4759
### Adding dependencies

0 commit comments

Comments
 (0)