writing-nix
Writes idiomatic, performant, and maintainable Nix code. Covers best practices, anti-patterns to avoid (like `with`), module system design, and performance optimization.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Writes idiomatic, performant, and maintainable Nix code. Covers best practices, anti-patterns to avoid (like with), module system design, and performance optimization.
How to use
Zainstaluj umiejętność w swoim środowisku Claude, Codex lub Copilot, wskazując repozytorium https://github.com/khaneliman/khanelinix/tree/main/modules/common/ai-tools/skills/writing-nix jako źródło.
Gdy tworzysz lub refaktoryzujesz kod Nix, poproś umiejętność o pomoc, opisując co chcesz zrobić – na przykład: "Pomóż mi napisać moduł Nix do konfiguracji usługi" lub "Refaktoryzuj ten pakiet, aby był bardziej idiomatyczny".
Umiejętność będzie kierować Cię ku deklaratywnemu stylowi – opisz co chcesz osiągnąć, nie jak to zrobić. Unikaj imperatywnych podejść na rzecz wyrażeń opisowych.
Zwróć uwagę na ostrzeżenia przed anty-wzorcami: nigdy nie używaj
with(łamie analizę statyczną i narzędzia), unikajrecgdy wystarczylet-in, i nie twórz zbyt szerokich interfejsów opcji dla hipotetycznych przypadków użycia.Przy projektowaniu modułów stosuj jasną strukturę z
mkEnableOption,mkIf,mkMergei typami opcji. Umiejętność pokaże Ci, jak definiować domyślne wartości za pomocąmkDefaulti jak używaćinheritgdy nazwy się pokrywają.Jeśli pracujesz nad wydajnością, poproś o wskazówki dotyczące ewaluacji – na przykład jak unikać wymuszania dużych zbiorów atrybutów i jak optymalizować budowanie. Umiejętność pomoże Ci wybrać efektywne podejście zamiast naiwnych rozwiązań.