- add documentation to the subsystem-loading interface
- expose evaled modules publicly via `framework`
- add option config.modules to allow users to include their own modules
- update examples for extending dream2nix
The motivation of this change is to trim down the github front page (README.md). Code examples should not be part of that page. It should be short and only contain the most important information that's necessary for a rough overview.
- add sections `Quick Start` and `Presentation ...` to docs
- move usage examples from readme to `Quick Start` in the docs
- trim down the explanation about `Documentation` a bit
- move the youtube presentation to the end
-
- add warning to readme and docs stating that dream2nix is unstable software
- refactor structure of docs: remove title .md pages, instead add titles via (# title) to SUMMARY
- change order of doc topics. move `guides` and `subsystems` to the front
- add docs for python subsystem
- add getting started guide for python
- extend ./examples/python to make use of translator options
- add new function to dlib `systemsFromFile` that allows to load the `supportedSystems` from a file. This alows changing the supported systems without touching the flake.
- move pip translator args to extra file `args.nix` to allow embedding in docs
- fix pip translator
- add a .gitignore to the basic flake template
- use new systemsFromFile function in basic flake template
* feat: add translate and shell commands
* feat: add indexer modules
* feat(nodejs): add a basic npm indexer
* feat: add an index app for indexing using an indexer
* feat(rust): add crates-io indexer
* refactor: use configFile in more places
* feat: implement translate-index app
* refactor: move indexers out of subsystems since they aren't subsystem specific
* fix: discard string context for config text
* docs: add a preliminary document for indexers
* docs: add examples for crates-io and npm indexer inputs
* feat: add support for setting sourceRoot in dream-lock, fix translate source patching
* fix: don't discard context from config passed as text
* fix: remove duplicate resolves
* fix: shell command
* refactor: remove useless nix calls, improve the apps
* feat: improve cli apps UX, implement runNixCmdInSrc, remove shell
* docs: more comments
* feat: add generatePackagesFromLocksTree util
* fix: pass args to generatePackagesFromDreamLocks correctly
* Update indexers.md
* chore: remove license from crates-io indexer
* fix: pass config loaded from env vars to loadConfig
* refactor: don't expose dream2nix internally
* feat: add makeOutputsForIndexes utility
* refactor: make make(Flake)OutputsForIndexes interface consistent with make(Flake)Outputs
* fix: allow passing pkgs to makeFlakeOutputsForIndexes
* fix: remove unused code
* fix: rename var to expected name
* refactor(utils/index): improve and fix overrideOutputs arg
* fix(utils/index): actually pass prev outputs to overrideOutputs
* refactor: patch all sources instead of using a seperate field in dream lock
* fix(utils/index): use .program to access the program
* fix: correct jq command in translate app
* refactor: improve translate app performance
* feat: add crates-io-simple indexer
* fix(apps/translate): only set dir if relPath is set
* fix(apps/callNixWithD2N): pin nixpkgs
* fix: unloaded config passed to dlib
* refactor: rewrite root source patching in nix
* tests: add a unit test for replace root sources
Co-authored-by: DavHau <hsngrmpf+github@gmail.com>
* docs: setup mdbook book for documentation
* ci: add github action for docs
* docs: add a cli command for showing docs in terminal
* Update docs/src/subsystems/rust.md
Co-authored-by: Ilan Joselevich <personal@ilanjoselevich.com>
* docs(rust): add example for crane overriding
* docs: add a further reading section to intro
* docs: fix a few links
* docs(readme): move documentation section up and fit some sections into 80 columns
Co-authored-by: Ilan Joselevich <personal@ilanjoselevich.com>
* refactor: implement a validation system for builders / translators etc, organize files
* refactor: use seq instead of complicated validation function for validator
* feat: allow adding discoverers, translators and builders via config
* refactor: rework discoverers to use makeSubsystemModules as well
* fix: validate extra modules properly
* feat: support inline modules
* feat: use extra attribute for extending
* feat: make fetchers extensible properly
* fix: add name to extra fetchers
* feat: support list for extra
* docs: add some comment to lib/modules.nix
* fix: get extra module args from extraArgs
* fix: collect all modules instead of only collecting modules for built-in subsystems
* refactor: minor improvements
* refactor: improve how default subsystem modules are declared
* fix: translators and builders are directly under subsystem now
* fix: correct attribute path, remove unused argument
* fix: correct translators attribute paths
* fix: correct file paths and translators attribute paths
* fix: use correct translator attr path in wrapPureTranslator
* fix: update unit tests code
* fix: remove extra paranthesis in unit tests code
* tests: add an extended dream2nix example
* refactor: replace recursiveUpdate usage with normal update op
* tests: fix and extend d2n-extended example
* fix: pass config to d2n instance in wrap pure translator script
* fix: correct toFile usage
* fix: pass config to dlib in more places
* fix: pass config to d2n instance in aggregated hashes cli and gomod2nix translator
* refactor: remove unused extra modules validation, add warning for function modules
* fix: remove non-existent inherited variable
* docs: update translator attr path in contributors guide
* docs: add docs for extending dream2nix
* refactor: comment more code, warn for function modules only if extra is an attrset decl
* docs: fix some typos
* docs: explain some stuff in extending d2n better
* fix: print function modules warning when it is a function
* tests: add a new example that tests adding new subsystem and config.extra as nix file
* tests: use cargo-toml as translator on d2n-extended to potentially catch more bugs
* feat: add ifd warning for builders
* tests: use build-rust-package builder instead of crane builder in d2n-extended to also test it instead of only testing crane builder
* fix(rust/builders): always write the generated Cargo.lock so it doesnt get out of sync with our dream-lock
* fix(rust/builders): delete cargo lock before writing it?
* refactor: also print ifd warnings for translators
* docs: link extending d2n doc in readme, link examples in extending d2n
* docs: example naming (translators.new -> translators.example-translator)
* feat: allow setting nix files for modules declarations (eg. subsystems, subsystems.translators)
* refactor: move IFD warnings to src/lib/builders.nix / translators.nix respectively
* refactor: throw instead of warning if function declarations for modules are used
* refactor: fix throw usage
* refactor: improve modules code
* chore(deps): update nixpkgs
* fix: correct some map usages
* fix: use correct attr path for extra modules
* chore: update examples flake inputs
* style: minor formatting changes