Teach pure interfaces by default

Aperta
#1,049 0 commenti 1 reazione 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Documentazione
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Ambito
documentation

Direzione di ricerca

Cerca nel repository nix.dev le occorrenze del pattern di importazione impura di Nixpkgs mostrato nell’issue, quindi individua la sezione pertinente sulle best practice. Sostituisci gli esempi documentati con l’interfaccia tecnicamente corretta descritta qui e aggiorna questa guida; il lavoro è terminato quando il vecchio pattern non viene più presentato nella documentazione interessata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

site

Observations

We're currently showing patterns like

pkgs = import nixpkgs { config = {}; overlays = []; system = builtins.currentSystem; };

as a defensive measure against historical, impure interfaces that may mess with your expression if you happened to follow the ancient documentation on configuring Nixpkgs.

Problem

Dismantling the Nixpkgs manual is a big chunk of work, and in any case that wouldn't remove the convenient-looking but foot-gunny impure interface which is used absolutely everywhere.

Approaches

Until https://github.com/NixOS/nixpkgs/issues/339635 is settled, we can only show the ugly but technically correct

pkgs = import "${nixpkgs}/pkgs/top-level" { localSystem.system = builtins.currentSystem; };

and may eventually please today's new users with a future release that makes the interface less verbose.
This would require replacing all instances where we use it, and updating the relevant best practices section.

Willing to help?

As always.

Priorities

Add 👍 to issues you find important.

Lingua principale
Nix
Stelle
4k
Fork
343
Merge medio
20h 27m
PR unite (30g)
10

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di NixOS/nix.dev

Tutte le issue di NixOS/nix.dev

Issue simili

Altre issue su Documentation

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.