Commit Graph

91 Commits

Author SHA1 Message Date
Yusuf Bera Ertan
4b1ef01a87
feat(rust): update crane builder 2022-12-08 23:55:30 +03:00
phaer
f9e6c0e245 update poetry2nix 2022-11-23 18:18:37 +01:00
Florian Friesdorf
8fe0f06a47 Add python translator for pinned packages
Co-authored-by: DavHau <hsngrmpf+github@gmail.com>
2022-11-22 18:06:20 +00:00
Yusuf Bera Ertan
ae69cad370
docs: remove obsolete comment 2022-11-22 17:45:37 +03:00
Yusuf Bera Ertan
f44016a2d4
refactor: move dream2nix interface to modules 2022-11-20 09:03:09 +03:00
Yusuf Bera Ertan
4b4e82cb14
refactor: use flake-parts for the flake 2022-11-20 00:44:43 +03:00
DavHau
7c145b4b4d
Merge pull request #389 from hsjobeki/examples-es-template
add all examples as templates
2022-11-19 10:28:23 +01:00
hsjobeki
3b2ac250c6 add all examples as templates 2022-11-18 12:26:53 +01:00
Yusuf Bera Ertan
6385c1f1c1
fix: utils -> framework.utils 2022-11-18 05:59:52 +03:00
hsjobeki
8edeb5d29a remove: .gitignore & add comprehensive description to flake template instead 2022-11-16 09:25:33 +01:00
DavHau
fbba21b525 chore: rename directory of flake based integration tests 2022-11-14 15:42:35 +01:00
Yusuf Bera Ertan
719f03ab46
feat: make apps use modules 2022-11-05 01:13:56 +03:00
Yusuf Bera Ertan
cc3020a32f
refactor: change projects -> inputs, make option description more explanatory 2022-10-31 22:26:03 +03:00
Yusuf Bera Ertan
5fd403b090
feat: define projects via attrset, rename flakePartsModule to flakeModule 2022-10-29 03:57:38 +03:00
Yusuf Bera Ertan
773d8bac43
feat: add a flake-parts module 2022-10-29 00:51:52 +03:00
DavHau
e7c7077f22
Merge pull request #328 from leungbk/cabal-freeze
Add cabal-freeze support
2022-10-22 11:15:05 +02:00
Yusuf Bera Ertan
dea20d928a
refactor: remove _loaded, add a new loadedConfig arg to src/default.nix 2022-10-20 16:14:35 +03:00
Brian Leung
f1a53653c3
Haskell utils: add an attrset mapping GHC version to hidden packages 2022-10-16 19:12:06 -07:00
DavHau
380d2fb752 refactor: pass flake inputs via inputs instead of all-cabal-json 2022-10-15 00:05:42 +02:00
DavHau
48f490a2ed chore: manage all-cabal-json via flake input 2022-10-14 18:10:35 +02:00
Yusuf Bera Ertan
0503a1272d
feat: use devshell for rust devshells (#302) 2022-09-20 19:25:09 +00:00
Yusuf Bera Ertan
c6c039fcc6
fix(rust): update crane, fix build issues (#284) 2022-09-02 01:44:34 +00:00
DavHau
f347034b2b refactor: writePureShellScript: don't change to WORKDIR
Reverting a bad design choice.
This lead to weird effects if scripts are nested.
2022-08-20 18:37:08 +02:00
Martin Toman
4dca0944ab test: add integration test for #235 2022-08-11 12:28:47 -07:00
Wout Mertens
a840710c12 removed unused node2nix flake input 2022-08-01 18:58:00 +02:00
DavHau
130d71f9d5 feat: pre-commit-hook to cleanup leftover example artifacts 2022-07-29 14:17:40 +02:00
Yusuf Bera Ertan
df3d951db0
fix: make dream2nix evaluation work with --read-only flag 2022-07-24 18:58:24 +03:00
DavHau
7cd64d386d python improvements, docs and guide.
- 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
2022-07-16 15:03:37 +02:00
DavHau
b83394e5f2
haskell: init cabal-plan translator (#192)
* haskell: init cabal-plan translator

* simplify cabal2json: take from new nixpkgs

* delete accidental copy of file

* fix example haskell-plan-json

* rename haskell examples
2022-07-12 21:45:29 +02:00
Yusuf Bera Ertan
52f7dd7b51
refactor: move docs cli nix expression 2022-06-22 21:13:27 +03:00
DavHau
78b14674cd fixup/improve python translator and builder
- translator: ensure setup requirements from pyproject.toml are respected
- builder: ensure setup requirements are installed first before the package is built
- simplify the python translator
- dont depend on mach-nix for dependency extraction
- use only pip download to extract dependencies
- allow impure pip translator to cache downloads
- fix dream-lock.json. location was missing
2022-06-22 13:16:09 +02:00
Yusuf Bera Ertan
709e4aa139
refactor: move docs script to seperate file 2022-06-15 23:44:18 +03:00
Yusuf Bera Ertan
7005441ceb
docs: setup mdbook book for documentation, add CLI app for docs (#173)
* 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>
2022-06-13 22:27:05 +03:00
Yusuf Bera Ertan
90b353682e
chore: use numtide devshell instead of nixpkgs mkShell for dream2nix development shell (#169)
chore: use newer devShells output instead of devShell
2022-06-05 19:59:19 +02:00
Yusuf Bera Ertan
645c6fd98e
refactor: implement a validation system for builders / translators, reorganize files (#155)
* 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
2022-05-29 21:42:47 +02:00
DavHau
f1f1633804 remove deprecated tests in ./tests/pure 2022-04-20 16:41:37 +02:00
DavHau
91c66f5946 fix template 2022-04-08 12:02:41 +01:00
DavHau
f59346d1d6 add flake template 2022-04-08 11:59:24 +01:00
DavHau
0f0fa91056 fix missing defaultApp 2022-04-04 12:47:02 +01:00
DavHau
f2d40e70cb remove tests-impure 2022-03-28 23:34:56 +07:00
DavHau
48439d7e8b rename: lib2 -> lib 2022-03-27 22:32:08 +07:00
DavHau
f7c034d4ee add ./examples with flake examples 2022-03-27 22:16:45 +07:00
Max
656a5d6af2
Add aarch64-linux support
I'd like to use dream2nix on an ARM64 machine. Passes `nix flake check`.
2022-03-13 02:06:23 +01:00
DavHau
e0c433078b add pre-commit shellHook 2022-03-07 18:25:38 +07:00
DavHau
6b015ff9f5 fixup formatting issues 2022-03-07 18:06:28 +07:00
DavHau
ae47597f4a formatting hook and include test into .#tests-all 2022-03-07 18:06:28 +07:00
DavHau
076a1c9aff treewide: format with alejandra 1.0.0
closes #84
2022-03-07 18:06:18 +07:00
DavHau
68478d0772 formatting: add flake apps + prepare hooks 2022-03-07 13:57:22 +07:00
zimbatm
46dd1ab167
use one nixpkgs instance
Push the nix configuration into the CLI so we don't need the overlay,
and so we don't need to create another instance of nixpkgs.

This also means that the python CLI can be executed directly as long as
the user has a recent-enough version of nix and make iterations a bit
faster.

For more details, see
https://zimbatm.com/notes/1000-instances-of-nixpkgs
2022-03-04 13:26:16 +01:00
DavHau
31ff31b901 fix: add some missing crane paths to externalPaths 2022-02-28 12:12:15 +07:00