-
-
Notifications
You must be signed in to change notification settings - Fork 15k
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
iosevka: 1.4.3 -> 2.3.0 #68820
iosevka: 1.4.3 -> 2.3.0 #68820
Conversation
Integrate new Iosevka build system. Add an extra arguments to add custom parameters (for example to map ligatures).
0a49905
to
659adfa
Compare
Use node2nix instead of reading package lock.
|
Only possible (in my knowledge) are:
What do you think is the best option ? I think the third one might be the best one but adding this much packages to node-packages might be an issue. EDIT: It looks like it's harder to implement too. (we need to find which dependencies need to be copied, apart from the one specified in the package.json) |
I tried to do this locally, it wasn't hard to add it to the global |
Thanks! |
Thanks too ! |
As far as I understand, there should only be one generated node file in nixpkgs. This is too big and too many duplicates between that generated node file and the one in nodeModules. |
Yes, this seems to be one of the problem with node packages. It's too difficult to use one global generated node-packages.nix as you can't import all dependencies (you have to do it manually) |
You could take the vector it pkgs/data/fonts/iosevka/node-packages.json and turn it into a package.json, then you can symlink the node_modules directory
|
Oh I see. I didn't know that. Maybe you could specify it for the new PR: #69219 ? It aims to clean the package |
@hlolli The issue with doing it that way is Iosevka uses dev dependencies to build, so node2nix would have to be run in dev mode on the global nodeModules file. I commented on svanderburg/node2nix#149 about this, but I'm not sure if there's a better way right now. |
I think adding devDependencies is the wrong way to go. Because then we would also adding hot-reloaders and stuff unrelated to the build (and runtime) of the application. I Think rather that the dependencies should be extanded, so that we as package maintainers add the packages manually which we need to build. This I did with lumoBuildDeps using hand-made package.json. It's already taking 15 minutes to generate the node-packages, but I don't see a better way to combine small size and fast generation time. |
Integrate new Iosevka build system.
Add an extra arguments to add custom parameters (for example to map ligatures).
Motivation for this change
I want to build my Iosevka variant with version >=2.0.0.
Things done
This PR adds support for the new build system (makefile as been removed).
It basically convert config into a toml file (private-build-plans.toml) and build it via npm run build.
Only ttf font is built (as it was the only installed in version 1.4.3).
Optional parameters can be passed into 'parameters.toml' (example can be found in the Iosevka repository).
sandbox
innix.conf
on non-NixOS)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)Notify maintainers
cc @cstrahan @jfrankenau @ttuegel