Flakes/ru: Difference between revisions
Created page with "inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; };" |
No edit summary |
||
(6 intermediate revisions by the same user not shown) | |||
Line 18: | Line 18: | ||
}; | }; | ||
outputs = { self, nixpkgs }: { | |||
outputs = { self, nixpkgs }: { | |||
packages.x86_64-linux.hello = nixpkgs.legacyPackages.x86_64-linux.hello; | |||
packages.x86_64-linux.hello = nixpkgs.legacyPackages.x86_64-linux.hello; | |||
packages.x86_64-linux.default = self.packages.x86_64-linux.hello; | |||
packages.x86_64-linux.default = self.packages.x86_64-linux.hello; | |||
}; | |||
}; | |||
}</nowiki>|name=flake.nix|lang=nix}} | }</nowiki>|name=flake.nix|lang=nix}} | ||
В примере выше вы можете видеть описание, вход (input), указанный как репозиторий GitHub с конкретной веткой (здесь <code>nixos/nixpkgs</code> на ветке <code>nixos-unstable</code>), и выход (output), который использует этот input. Output в этом примере просто определяет, что в флейке есть один пакет для архитектуры x86_64 под именем <code>hello</code>. Даже если output вашего флейка не использует его inputs (что на практике маловероятно), output всё равно должен быть Nix-функцией. | |||
{{Note| | {{Note|Флейки требуют явного указания outputs для каждой архитектуры отдельно. Для дополнительной информации смотрите соответствующий раздел ниже.}} | ||
<div | <div class="mw-translate-fuzzy"> | ||
=== Nix | === Конфигурация Nix === | ||
Можно переопределить глобальную конфигурацию Nix, заданную в файле <code>nix.conf</code>, чтобы оценить работу флейка. Это может быть полезно, например, для установки бинарных кэшей, специфичных для проекта, пока глобальная конфигурация останется нетронутой. Flake-файл может содержать атрибут <code>nixConfig</code> с любыми релевантными настройками. Например, чтобы включить бинарный кэш nix-community, можно добавить: | |||
{{File|3=<nowiki>{ | {{File|3=<nowiki>{ | ||
... | ... | ||
Line 49: | Line 41: | ||
"nix-community.cachix.org-1:...=" | "nix-community.cachix.org-1:...=" | ||
]; | ]; | ||
}</nowiki>|name=flake.nix|lang=nix}}{{Note|Если вы привыкли настраивать Nix через конфигурацию NixOS, эти опции находятся под <code>nix.settings</code>, а не под <code>nix</code>. Например, вы не сможете указать автоматическую оптимизацию хранилища через <code>nix.optimisation.enable</code>.}} | |||
}</nowiki>|name=flake.nix|lang=nix}}{{Note| | |||
</div> | </div> | ||