Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE]: Nix flake deployment mechanism #1221

Open
a-h opened this issue Apr 29, 2024 · 3 comments
Open

[FEATURE]: Nix flake deployment mechanism #1221

a-h opened this issue Apr 29, 2024 · 3 comments
Labels
enhancement New feature or request

Comments

@a-h
Copy link

a-h commented Apr 29, 2024

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 a-h added the enhancement New feature or request label Apr 29, 2024
@serengil
Copy link
Owner

do you mind to create a PR?

@a-h
Copy link
Author

a-h commented Apr 29, 2024

Not at all... 😁

@a-h
Copy link
Author

a-h commented May 3, 2024

See #1227

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants