VL
inputs
, которые nix скачивает и пинит во flake.lock
, и outputs
, которые принимают все inputs
и выдают аттрсет <чего-угодно> (но чаще всего пакетов)Size: a a a
VL
inputs
, которые nix скачивает и пинит во flake.lock
, и outputs
, которые принимают все inputs
и выдают аттрсет <чего-угодно> (но чаще всего пакетов)АБ
E
АБ
gitignore
для "библиотечных" флейков (там, где на выходе только функции). Но даже и это не обязательно, nix обрабатывает все возможные комбинации правильно.E
АБ
АБ
{
# На самом деле некоторые inputs (те, которые указаны во flake registry) можно явно не указывать, но здесь для ясности это сделаем
inputs.nixpkgs.url = github:nixos/nixpkgs;
outputs = { self, nixpkgs }: {
# На самом деле хардкодить x86_64-linux не обязательно, но для наглядности не будем заморачиваться
defaultPackage.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.poetry2nix.mkPoetryApplication rec {
src = ./.;
projectDir = ./.;
name = "my-python-application";
};
# Это тоже не обязательно, по-умолчанию nix develop и так кинет в шелл со всеми зависимостями defaultPackage
devShell.x86_64-linux = self.defaultPackage.x86_64-linux.dependencyEnv;
};
}
АБ
E
АБ
АБ
АБ
outputs.defaultPackage.x86_64-linux
-- это уже готовая деривация, которую может собрать скажем nix build
АБ
АБ