-
Notifications
You must be signed in to change notification settings - Fork 18
Setup to use Pixi #353
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
Setup to use Pixi #353
Conversation
|
Hello @castelao and thank you for contributing!
My only concern is adding a lot of extra noise to the repository and potentially confusing new developers!
then I am totally invested! Looking forward to your response and thank you again! |
|
Hi @matt001k ,
Other advantages are to keep multiple environments in a single file, instead of using multiple I dropped conda almost two years ago in favor of pixi and don't regret. I think it is cleaner and more robust, but it's a choice. If you're curious, I suggest trying it yourself before re-directing all the community. |
|
Ahh ok I can really see the benefits of the lock file, this ensures if there were ever updates to the toml file, someone does not have to go through the process of running: |
matt001k
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you also add some instructions to the README.md?
Maybe a new section that is labelled Install pixi - alternative or something along the lines of that?
|
Another question, I noticed that Pixi is directory based and not system based. There are some users who build their firmware externally to this repo. Is there an easy way to activate the shell/run pixi from an external directory? |
|
Agreed that a little assistance in the README would be helpful. I had never heard of pixi @castelao — thanks for introducing me to it! I just tried it in a fresh clone, and pixi just did the right thing immediately! This is often not the experience of newcomers to Bristlemouth using conda. I want to try it on a computer that I'm more confident is actually fresh with no dev tools setup and see how it works. Windows users especially often have trouble onboarding. |
@towynlin , I'm glad to hear that! I work with a few developers using windows and we have been having the same experience. It just work. I do appreciate the fact that we can track the full dependency tree for everyone in the team, independent of the platform. And when we do some update, everyone move together, including the tests. I'm curious. Did you try with a Windows machine? |
Good question. There are two options:
|
towynlin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I love it and really appreciate the contribution @castelao. Thank you!
I tested on a newly spun up Windows VM. As prerequisites I had to install Git and the Microsoft Visual Studio C++ build tools, as well as pixi of course. After that I could do pixi shell -e dev. 🎉
Despite that success, I was not able to build any of the presets, but the failures are more to do with other parts of our code, nothing to do with pixi. We have more work to do to continue smoothing the path to Bristlemouth development on Windows.
Any further thoughts/objections/requests @matt001k ? If not, please merge.
|
@towynlin , do you think we could bypass the need for Microsoft Visual Studio C++ build tools by installing the equivalent tools through |
|
If you have the time to reproduce and test, that sounds like potentially a great option! |
|
No objections here! Awesome work. I am excited to explore pixi more! Thank you. |
|
@castelao Let us know whether you want us to (A) merge this as-is, and let the potential "compilers" dependency work be a separate PR, or (B) you want to test out adding the "compilers" dependency in this PR. |
|
@towynlin , thanks for checking. It seems like this PR achieved its goal. Let's merge it as it is and I'll try the compilers solution in a following PR. This is another busy week for me, so it will take me a few days to be able to try. |
What changed?
Added minimalist configuration to use
pixias an alternative to conda.How does it make Bristlemouth better?
While pixi can install packages from
conda-forge, it also tracks the full environment for the four configured platforms. Checkpixi.lock(not supposed to edit it manually).For OSX, inside the root directory of this repository, one would install and use it like:
Where should reviewers focus?
pixi.Checklist