2 ms·
Yeah, each project has its own default.nix that might look something like this: { pkgs ? import (fetchTarball "https://github.com/NixOS/nixpkgs/archi
by otabdeveloper4 6y ago
Yeah, each project has its own default.nix that might look something like this:
{
pkgs ? import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/cd63096.tar.gz") { }
} :
with pkgs;
let
mypackage = callPackage ./mypackage.nix { stdenv = stdenv; python = python3; };
in
dockerTools.buildImage {
contents = [ mypackage ];
}
You then write a package definition in mypackage.nix, following the template of packaging things in nixpkgs.
(Dev environments work in a similar fashion except with mkShell instead of dockerTools.buildImage.)
I haven't used Nix flakes but I think it develops this simple idea further.