Nixify software with less effort [maintainer=@DavHau]
Go to file
DavHau 87722db970 feat(paths): init new core module 'paths'
This is to improve package location finding at eval time and script execution time.

Deprecates options lock.{repoRoot,lockFileRel} as well as option eval-cache.{repoRoot, cacheFileRel}

Instead the user must now set:
  - paths.projectRoot: pointing to the repoRoot
  - paths.package: pointing to the package directory

- paths.projectRootFile can be used to define a marker file to find the project root. The default is '.git' but it could be set to 'flake.nix' for example
- lock files are by default put in the same directory as the package definition
2023-09-02 23:34:54 +00:00
.github chore(deps): bump actions/checkout from 3.5.3 to 3.6.0 2023-08-29 17:49:49 +02:00
docs refactor(examples): re-categorize 2023-08-31 12:53:22 +00:00
examples feat(paths): init new core module 'paths' 2023-09-02 23:34:54 +00:00
lib/internal Port php to dream2nix modules (#623) 2023-08-29 17:47:13 +02:00
locks refactor(examples): re-categorize 2023-08-31 12:53:22 +00:00
misc/benchmarks refactor: rename modules.drv-parts => modules.dream2nix 2023-08-31 13:09:43 +00:00
modules feat(paths): init new core module 'paths' 2023-09-02 23:34:54 +00:00
pkgs pip: fix bug with parsing requirements 2023-08-28 15:27:03 +00:00
templates feat(paths): init new core module 'paths' 2023-09-02 23:34:54 +00:00
tests/nix-unit/test_pip_pyproject refactor: rename modules.drv-parts => modules.dream2nix 2023-08-31 13:09:43 +00:00
.envrc add .envrc 2022-02-27 15:20:11 +07:00
.gitignore nodejs: init new builder 2022-12-28 13:47:35 +01:00
ci.nix examples: add dream2nix-repo 2023-07-24 22:21:37 +02:00
default.nix feat(flake-compat): manage default.nix and shell.nix via flake-compat 2023-03-24 12:04:04 +08:00
flake-compat.nix chore: manage all-cabal-json via flake input 2022-10-14 18:10:35 +02:00
flake.lock tests: add nix unit tests for pip module 2023-08-28 15:27:03 +00:00
flake.nix tests: add nix unit tests for pip module 2023-08-28 15:27:03 +00:00
LICENSE Initial commit 2021-09-03 17:30:52 +02:00
README.md docs: link examples from the docs 2023-07-29 15:29:06 +02:00
shell.nix fix: fix shell.nix 2023-03-27 12:52:38 +08:00
treefmt.toml refactor(utils): vendor semver.nix from poetry2nix 2023-03-26 17:53:02 +08:00

dream2nix - A framework for automated nix packaging
Automate reproducible packaging for various language ecosystems
Documentation | Example Repo | Example Packages

!!! Warning: dream2nix is unstable software. While simple UX is one of our main focus points, the APIs are still under development. Do expect changes that will break your setup.

legacy dream2nix

Dream2nix is currently in the process of being refactored to make use of drv-parts. Not all features and subsystems are migrated yet. If you prefer continue using the makeFlakeOutputs interface, please refer to the legacy branch of dream2nix.

Funding

This project was funded through the NGI Assure Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 957073. Applications are still open, you can apply today.

If your organization wants to support the project with extra funding in order to add support for more languages or new features, please contact one of the maintainers.

Documentation

👉 To the docs

Presentations

Get in touch

👉 matrix chat room

Contribute

👉 GitHub repo

👉 issues

Goals

dream2nix focuses on the following aspects:

  • Modularity
  • Customizability
  • Maintainability
  • Code de-duplication across 2nix solutions
  • Common UI across 2nix solutions
  • Reduce effort to develop new 2nix solutions
  • Exploration and adoption of new nix features
  • Simplified updating of packages

The goal of this project is to create a standardized, generic, modular framework for automated packaging solutions, aiming for better flexibility, maintainability and usability.

The intention is to integrate many existing 2nix converters into this framework, thereby improving many of the previously named aspects and providing a unified UX for all 2nix solutions.