deepface icon indicating copy to clipboard operation
deepface copied to clipboard

[FEATURE]: Nix flake deployment mechanism

Open a-h opened this issue 2 months ago • 3 comments

Description

A Nix flake is a flake.nix file that would be in this repo which includes build instructions for how to package this project for the Nix package manager.

It's similar to the Dockerfile that's already in the root directory, except that it provides reproducible builds by using specific dependency versions, based on commit hashes, and SHA256 hashes of the contents.

With a Nix flake, people would be able to:

  • Install deepface as a Python package into their operating systems or Python app by importing the flake into their Nix setup.
  • Run a development shell that contains everything required to work on the deepface project (cloning the repo and running nix develop)
  • Run the app without manually downloading code, setting up a virtual environment, or installing dependencies (nix run github:serengil/deepface).
  • Create reproducible Docker builds from the Nix flake.

Additional Info

I've already built a Flake outside of the repo for my own use, so I'm happy to share it for others to use if you're interested in having it within the project.

Let me know, and I'll raise a PR.

a-h avatar Apr 29 '24 13:04 a-h

do you mind to create a PR?

serengil avatar Apr 29 '24 13:04 serengil

Not at all... 😁

a-h avatar Apr 29 '24 13:04 a-h

See https://github.com/serengil/deepface/pull/1227

a-h avatar May 03 '24 08:05 a-h