Skip to content
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

Possible Blog Article: nix for isolated and pkg mgr agnostic reproducible environments #1689

Closed
majidaldo opened this issue May 19, 2023 · 9 comments
Labels
content: blog For blog content external contribution Issue or PR from outside of the BSSw editorial team

Comments

@majidaldo
Copy link

I'm been learning about nix https://nixos.org/ and I'm just blown away by its power. It generally doesn't register with scientific programmers though!

Willing to contribute once I learn more but putting it here to see if it makes sense.

@majidaldo majidaldo added the content: blog For blog content label May 19, 2023
@github-actions github-actions bot added the external contribution Issue or PR from outside of the BSSw editorial team label May 19, 2023
@bartlettroscoe
Copy link
Member

@majidaldo, let us know what you find out about this.

@majidaldo
Copy link
Author

@majidaldo, let us know what you find out about this.

i learned why they're NOT more often used; it has a serious user experience issue! there's a trend to create wrappers around nix just to get common tasks done.

i'm a very sophisticated and experienced scientific programmer, and it took me quite some time to just understand nix conceptually! it definitely is powerful though!

@bartlettroscoe
Copy link
Member

This sounds very similar to Spack. How similar is NIX to Spack?

@bernhold
Copy link
Member

@majidaldo thanks for drawing this to our attention. We tend not to emphasize general principles of software engineering over specific products. For example, we recently published a blog post that is nominally about the Julia language. But it looks at it from the perspective of some of the things they've built into the language and ecosystem that facilitate better software engineering practices. So that might be a thinking cap to use if you'd like to contribute a blog article on NIX.

Though from your last comment, it sounds like it might not be sufficiently mature yet. Please keep us informed if you continue digging into it. Thanks

@majidaldo
Copy link
Author

@majidaldo thanks for drawing this to our attention. We tend not to emphasize general principles of software engineering over specific products. For example, we recently published a blog post that is nominally about the Julia language. But it looks at it from the perspective of some of the things they've built into the language and ecosystem that facilitate better software engineering practices. So that might be a thinking cap to use if you'd like to contribute a blog article on NIX.

Though from your last comment, it sounds like it might not be sufficiently mature yet. Please keep us informed if you continue digging into it. Thanks

nix is 20 years old! :D

@majidaldo
Copy link
Author

This sounds very similar to Spack. How similar is NIX to Spack?

similar. i don't know enough to compare and contrast.

@majidaldo majidaldo changed the title Possible Blog Article: nix for replacing containers and virtual environments Possible Blog Article: nix for isolated and pkg mgr agnostic reproducible environments May 23, 2023
@majidaldo
Copy link
Author

majidaldo commented Oct 25, 2023

update:

I feel like this belongs at a lower level than what the programmer would manage; It's a build system.

An interesting use of nix would be as an "implementation" of programming-language specific reproducibility. For Python it's things like poetry2nix (but i'm encouraging implementing pyproject.toml)

@bernhold
Copy link
Member

@majidaldo do you still see a blog article in this somewhere? Sounds like perhaps you've changed your mind?

@majidaldo
Copy link
Author

@majidaldo do you still see a blog article in this somewhere? Sounds like perhaps you've changed your mind?

yes. it's too low level for bssw. it does have its place though in infrastructure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
content: blog For blog content external contribution Issue or PR from outside of the BSSw editorial team
Projects
Development

No branches or pull requests

3 participants