Teach pure interfaces by default

Abierto
#1,049 0 comentarios 1 reacción 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Documentación
Claridad
Bastante claro
Estado de actividad
Estancado

Línea de trabajo

Busca en el repositorio nix.dev instancias del patrón de importación impura de Nixpkgs mostrado en el issue y, a continuación, localiza la sección pertinente de buenas prácticas. Sustituye los ejemplos documentados por la interfaz técnicamente correcta descrita aquí y actualiza esa guía; el trabajo se considera terminado cuando el patrón antiguo ya no se presenta en la documentación afectada.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
Nix
Estrellas
4k
Forks
343
Merge medio
1 d 12 h
PR fusionados (30 d)
14

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de NixOS/nix.dev

Todos los issues de NixOS/nix.dev

Issues similares

Más issues de Documentation

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.