Commit Graph

239 Commits

Author SHA1 Message Date
phaer
3fc4a2ad97 pdm: only default to given python3 in overrideAll. 2024-01-17 12:50:16 +07:00
Johannes Kirschbauer
8300ad2d78 add custom unpackPhase from the original nodejs builder
- [x] examples still build
2024-01-12 17:03:39 +07:00
DavHau
00f1223642 pdm: default to setuptools as build system
This is the upstream default, so it doesn't hut to just include it everywhere
2024-01-08 15:45:18 +00:00
DavHau
ca706acbad pdm: lock fully, remove --refresh
--refresh only works well with already existing lock files
2024-01-08 22:41:18 +07:00
DavHau
0fb528d452 pdm: refresh pdm.lock on 'nix run .#{package}.lock' 2024-01-07 17:40:55 +00:00
DavHau
28f44827e4 fix(pip): prevent conflict if setuptools is runtime dependency 2024-01-07 13:33:48 +00:00
DavHau
935df57a46 pip: add test can-build-setuptools
to ensure that a setuptools dependency doesn't raise a collision
2024-01-07 13:00:47 +00:00
DavHau
a6837ba21e pip: switch to format = "pyproject"
This should resolve collision issues with the setuptools that gets propagated by setuptoolsBuildHook
2024-01-07 12:37:25 +00:00
DavHau
0f2d06b43e examples: add readme for packages examples 2024-01-07 06:28:34 +00:00
DavHau
62f9486535 overrides: add pillow, psycopg2 2024-01-06 09:49:31 +00:00
Arnout Engelen
1741d0785e nodejs-package-lock-v3: basic support for git+ urls 2024-01-03 10:09:30 +07:00
Arnout Engelen
2998fff950 nodejs-package-json(-v3): add git to the npm lock fetch script path 2024-01-03 10:09:30 +07:00
DavHau
262198033e python/pdm: patch binaries + set some better defaults 2023-12-13 08:50:30 +00:00
DavHau
1d63a866d7 python/pdm: use fetchFromLegacy
...until https://github.com/nix-community/pyproject.nix/pull/41 is resolved
2023-12-12 12:28:47 +07:00
DavHau
6aa5a29244 chore: remove more unnecessary flake outputs
...to make buildbot eval quicker
2023-12-10 06:10:36 +00:00
DavHau
95fa909f84 docs: remove spam from flake-outputs
...instead use internal options to pass the module docs pages to the renderer
2023-12-10 06:03:22 +00:00
DavHau
3f6c7cbd80 python/pdm: several improvements
- infer build-systems from pyproject.toml
- add more generic getClosure lib function to get the closure of any given dependency + extra
- resolve extras correctly for each computed closure
- overhaul some of the existing tests
2023-12-10 05:47:44 +00:00
DavHau
916bca75a1 nixpkgs-overrides: map env field correctly
Now that mkDerivation also has an `env` flag, we need to make sure to not forward this to mkDerivation, as we have our own env option.
2023-12-09 11:13:33 +00:00
DavHau
7292ee5455 python/pdm: improve implementation and UI
- implement per dependency sourceSelector option
- update pyproject.nix
- update nix-unit
2023-12-04 07:46:08 +00:00
DavHau
9ce00f86e9 update pyproject-nix 2023-12-03 10:35:52 +00:00
DavHau
4b155e6a5d docs: render docs also for core modules 2023-12-03 08:53:50 +00:00
DavHau
2f344133c3 groups: rename to WIP-groups
to make the status of this module more clear
2023-12-03 07:41:58 +00:00
DavHau
c25e88974f nodejs-devshell-v3: init 2023-11-17 07:35:09 +00:00
DavHau
db35339b1e test: add per module testing infra
So far, /examples was the only place with packages that are built in the CI pipeline.
This change allows us to add package build tests to individual modules at the location where the module is defined. This has several benefits:

- We are not forced to add unnecessary examples in order to maintain test coverage
- When modules get removed, their tests will be removed alongside
- It allows us to keep old modules around and assure they keep working without having to keep outdated examples in /examples
2023-11-17 07:27:54 +00:00
Yusuf Bera Ertan
3f1cbc8e93
feat(rust): update & support crane version v0.15.0, fix some issues (#788) 2023-11-10 17:11:30 +10:00
Yusuf Bera Ertan
f1a9f36bf7
fix(rust-cargo-lock): handle workspace = true for license, description and homepage package attributes (#787) 2023-11-09 00:11:56 +10:00
DavHau
7cb0fded82 nodejs: fix backward compat for nodejs-package-json
- revert recent changes on nodejs-package-json
- instead introduce nodejs-package-json-v3

This way, existing users won't face breakages in the api
2023-11-08 07:34:15 +00:00
DavHau
24e81d5ce8 examples: rename repo examples 2023-11-07 19:08:27 +07:00
DavHau
3030cd5877 examples/python-pdm: migrate to ./packages 2023-11-07 19:08:27 +07:00
DavHau
bce7ab631d nodejs-package-json: use v3 lock file 2023-11-07 18:45:35 +07:00
DavHau
9f507c9341 docs: improve docs for groups 2023-11-07 16:34:00 +07:00
DavHau
3b42e5a8e4 docs: fix missing options for modules
- render all top-level options declared by a module
2023-11-07 16:34:00 +07:00
DavHau
edda831f76 groups: update readme 2023-11-07 15:39:25 +07:00
DavHau
581a7cff0b flake: separate top-level from dev-flake fully 2023-11-05 03:42:18 +00:00
DavHau
d8e4b477e3 refactor: move dev related things to /dev-flake
The goal is to reduce the flake inputs visible to the user
Still, the top-level flake re-exposes the outputs of the dev-flake, but
without exposing its inputs. This means a devShell is still available in
the top-level, for example.

This also removes the /modules/flake.nix. Its original purpose was
separating the modules inputs from the development inputs, but this is
now done the opposite way around by moving the dev inputs to
/dev-flake/flake.nix.
2023-11-05 03:42:18 +00:00
DavHau
1f680838ab lib: move to /lib from /modules/flake-parts/lib 2023-11-05 03:23:11 +00:00
DavHau
0ed0a765d6 pdm: update pyproject-nix dependency 2023-11-04 06:36:34 +00:00
adisbladis
2c8f520108 pdm: Use fetchFromPypi from pyproject.nix 2023-11-04 06:36:34 +00:00
adisbladis
e28ae15e36 pdm: Remove universal wheel file name test
It was broken by changes in pyproject.nix and doesn't seem to be in use anyway.
2023-11-04 06:36:34 +00:00
adisbladis
e16b6544e2 pdm: Select wheel using pyproject.nix 2023-11-04 06:36:34 +00:00
adisbladis
203dc17210 Bump pyproject.nix 2023-11-04 06:36:34 +00:00
DavHau
954bacb0a6 chore: more formatter into separate flake module 2023-10-31 12:09:56 +00:00
DavHau
bc2e8ddb64 chore put pre-commit-checks into extra file 2023-10-31 15:00:35 +03:00
DavHau
543315a7cf chore: move devShells to separate module 2023-10-31 11:46:26 +00:00
DavHau
5914156eb7 examples: add flake.nix to each example
This makes hte examples more standalone and suitable for copy & paste
2023-10-31 11:36:21 +00:00
DavHau
61bc3b1377 examples: remove dream2nix- prefix 2023-10-30 21:42:51 +00:00
t4ccer
c5b2624352 More robust source locking 2023-10-30 20:35:34 +00:00
t4ccer
2313bdf946 Don't fixup dependencies to prevent moving directories 2023-10-30 20:35:34 +00:00
t4ccer
42d9efb91b Clean up haskell stuff 2023-10-30 20:35:34 +00:00
t4ccer
d903c85d7a Simplify lock file 2023-10-30 20:35:34 +00:00
t4ccer
92375aa5fd Add toy Haskell example 2023-10-30 20:35:34 +00:00
DavHau
3789a1bdb7 pdm: allow selecting multiple groups 2023-10-29 23:14:00 +00:00
DavHau
dd4cdb252c pdm: reformat lib.nix 2023-10-29 23:14:00 +00:00
DavHau
c39edb8532 groups: rename commonModule -> overrideAll 2023-10-29 23:14:00 +00:00
DavHau
752936f0c2 groups: implement global and local overrides
implement options:
- options.overrides
- options.groups.<name>.overrides

Having this, it should not be necessary anymore to override members of a group directly. Instead the logic can be bound to package names, either globally for all groups, or locally for a single group.

We should probably also rename :
- `options.commonModule` -> `options.overrideAll`
- `options.groups.<name>.commonModules` -> `options.groups.<name>.overrideAll`
2023-10-29 01:59:54 +00:00
DavHau
4bd6022300 nodejs-granular-v3: fix option prefix 2023-10-28 23:51:11 +00:00
DavHau
a900b3a332 lib: make all modules use new lib locations 2023-10-25 10:11:54 +00:00
DavHau
c6c1a430ff lib: move to /modules/flake-parts/lib 2023-10-24 23:08:13 +00:00
DavHau
cf82f7a1ed docs: configure highlight.js 2023-10-23 19:31:57 +00:00
DavHau
ce51fbf18b groups: improve docs 2023-10-23 19:17:06 +00:00
DavHau
31fb84a7f5 groups: rename conf -> module 2023-10-23 13:28:57 +00:00
DavHau
7f753eb025 groups: change structure
renames:
- packages.foo."1.0.0" -> packages.foo."1.0.0".conf
- packagesEval.foo."1.0.0" -> packages.foo."1.0.0".evaluated
- public.packages.foo."1.0.0" -> packages.foo."1.0.0".public
2023-10-23 00:35:34 +00:00
DavHau
731ac1daf1 docs: better summary + embed modules README.md 2023-10-22 22:10:43 +00:00
DavHau
c3c5769aba multi-derivation-package: init 2023-10-22 21:42:07 +00:00
DavHau
8b5ddd6fe9 lib/types: init 2023-10-22 20:53:02 +00:00
DavHau
aac7f3f77e pdm: build package with deps 2023-10-22 00:50:36 +00:00
DavHau
19fce43579 selectWheel: init 2023-10-21 23:31:45 +00:00
hsjobeki
0c6910060f add versions to group packages 2023-10-18 16:54:32 +00:00
DavHau
c3e07bf838 findCycles: revert to original file 2023-10-17 23:00:27 +00:00
hsjobeki
fb0a14d9f4 format 2023-10-17 23:00:27 +00:00
hsjobeki
a0c32a2333 add more graph utilities 2023-10-17 23:00:27 +00:00
purepani
276ad03e9a fix(pdm): Make parsed_deps lowercase 2023-10-17 20:38:52 +00:00
Andrea Ciceri
44703d424e fix(spago): lock script uses correct package-set rev 2023-10-17 21:24:48 +01:00
Johannes Kirschbauer
419d6f08c4
add new node builder mono-module (#748)
* add new node builder mono-module

* add example

* nodejs-builder-v3: rename to WIP-nodejs-builder-v3

* fix tests

---------

Co-authored-by: DavHau <hsngrmpf+github@gmail.com>
2023-10-17 20:59:10 +01:00
DavHau
b10f3495e5 checks: add system attribute 2023-10-17 18:12:32 +00:00
DavHau
72e4fd904d buildRustPackage: add example package 2023-10-17 18:12:32 +00:00
DavHau
1caf997f69 linkchecker: disable because of performance issues 2023-10-12 00:55:37 +02:00
DavHau
5798a23484 docs: add reference documentation to website 2023-10-12 00:55:37 +02:00
DavHau
d2e9a494d1 modules: fixup core modules for docs rendering 2023-10-12 00:51:07 +02:00
DavHau
cd7dee14ae modules: fixup more nodejs modules for docs rendering 2023-10-11 21:43:01 +00:00
DavHau
e6800060c9 modules: fixups nodejs modules to render docs 2023-10-11 21:12:59 +00:00
DavHau
164b965b44 modules: fixups for documentation rendering 2023-10-11 20:44:36 +00:00
DavHau
dc43eeb495 modules: various fixups for rendering docs 2023-10-11 20:28:38 +00:00
DavHau
af64cc5644 docs: improve module reference rendering 2023-10-11 00:39:50 +00:00
DavHau
585b98cc99 docs: render first module via site module 2023-10-11 00:39:50 +00:00
DavHau
212fcf4cde docs: add missing descriptions for core module 2023-10-11 00:39:50 +00:00
DavHau
e945481137 WIP: adopt flake-parts docs modules for dream2nix 2023-10-11 00:39:50 +00:00
DavHau
87d65e704e init flake parts docs modules 2023-10-11 00:39:50 +00:00
Jairo Llopis
cf853080a3 feat: allow specifying env for fetchPipMetadata
This helps for configuring pip with environment variables. See https://github.com/nix-community/dream2nix/discussions/697 for more context.

pip: remove callPackage
2023-10-08 21:40:16 +00:00
purepani
4c0d029add fix(groups): fix type on override parameter 2023-10-08 16:20:25 +00:00
DavHau
07a3dab254 checks: add all packages to checks 2023-10-08 14:28:50 +02:00
DavHau
88087f6b88 modules: export also core modules 2023-10-08 00:28:18 +02:00
Frederik Rietdijk
6f791d1cc8 pdm: add non-default groups as well 2023-10-07 12:49:58 +02:00
Yusuf Bera Ertan
5e2577caaf fix(rust-crane): don't forget to pass mkDerivation.meta to main derivation 2023-10-04 00:54:38 +02:00
DavHau
c4bc9c1f27 feat(pdm): build default group
Also implement source fetching
2023-10-01 00:49:05 +01:00
DavHau
03b1e05f7b fix(spago): fix flake inputs 2023-09-30 15:56:55 +01:00
Andrea Ciceri
e4a9da41ad WIP 2023-09-30 15:56:55 +01:00
Frederik Rietdijk
657c329d0b pdm lib: recurse into dependencies 2023-09-29 20:47:33 +01:00
Frederik Rietdijk
b2d2ba121b pdm: no need tos split filename from url with new format 2023-09-29 20:47:33 +01:00
DavHau
c627b56063 fix(examples): fix shadowed dream2nix arg 2023-09-29 20:16:42 +01:00