dream2nix
nix-direnv
dream2nix | nix-direnv | |
---|---|---|
9 | 27 | |
863 | 1,482 | |
2.8% | 5.1% | |
9.6 | 9.0 | |
4 days ago | 3 days ago | |
Nix | Nix | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
dream2nix
- Dream2nix – Automate reproducible packaging for various language ecosystems
-
flox – Harness the Power of Nix
(I'm on the flox team) we'd love to support that and it's something we've talked about! We already support auto-generation for some languages like Rust because they have a lockfile (e.g. Cargo.lock), but it's a bit trickier for a requirements.txt. We hope at some point to contribute to/integrate with upstream efforts like dream2nix which have auto-generation as their goal
-
Minimal approach for python devel environment with flake
How about dream2nix? I like to use the nix way, but there are many third nix ways
- New BFF
-
yarnpnp2nix: More efficient way of packaging NodeJS applications
I'm not 100% sure, but looking at the docs [here](https://nix-community.github.io/dream2nix/subsystems/node.html#granular-pure-default) and the implementation [here](https://github.com/nix-community/dream2nix/tree/main/src/subsystems/nodejs/builders/granular-nodejs) it seems as it builds dependencies separately and symlinks (see `install-deps.py` those into a `node_modules` tree. I don't know much about Yarn's PNP (was doing more backend/devex last few years), but it sounds vaguely similar in that each package should be built once as a separate derivation and then symlinked to a big `node_modules`-as-a-symlink-tree derivation?
-
How do you build NodeJS project in Nix? 2022
How are you building your NodeJS project with Nix right now? Recently I spot a new abstraction, it looks good but I havn't tried it yet: https://github.com/nix-community/dream2nix
-
dream2nix - include a test run? (node project)
dream2nix is a great package, that makes a nix-derivation out of node project with the minimal flake
-
Why aren't systems like NixOS and GNU Guix more popular?
The DavHau/dream2nix project aims to be a generic solution for this issue by splitting the problem into specific stages, each of which can be configured individually (e.g., changing the level of purity)
- Betting on Nix
nix-direnv
- A faster, persistent implementation of direnv's use_Nix and use_flake
-
How do multiple versions of the package internally work?
BTW: I personally use direnv with nix-direnv. This basically works by setting your shell with proper tooling when you enter the directory.
-
I have a few beginner question, what is the difference between nix shell/env and what is the difference between flakes/home-manager?
I'm not sure what you mean by nix env, maybe you are referring to nix-direnv?
-
Just a reminder to make sure Garbage Collection is running
Although currently I'm using direnv + nix-direnv. Keep in mind that direnv has builtin nix support which is very basic and doesn't do any caching. So you still needs this add-on to preserve roots.
-
What do you install with configuration.nix and home manager
I distinguish between system level things and user level things, even though I don't really have different users on my machine. I install the bare minimum number of packages + a lot of different drivers in the configuration.nix, and desktop and editor related things in HM. For development environment, I have environment per project using mkShell and https://github.com/nix-community/nix-direnv, which allows you to switch to the specific environment once you cd into the directory. (Although I do have python installed globally with some commonly used packages such as numpy, so I can just start python and write something when I need to, without creating an environment)
-
How do YOU use your PKMS?
I further make my software projects so that when I click a link I go into an environment pre-loaded with their dependencies so dropping in/out of projects is always frictionless. I do this with the reproducibility guarantees of nix, along with glue like nix-direnv and envrc-mode to direnv.
-
Nuenv: an experimental Nushell environment for Nix
(I also use nix-direnv)
-
NixOS + Haskell best practices circa March 2023
direnv
-
Minimal approach for python devel environment with flake
Personally I use nix-direnv. No longer the need to run nix develop or nix-shell. By setting up a .envrc with either use nix or use flake it will automatically install all the packages from default/shell.nix or flake.nix
-
Nix and envrc
Direnv is installed using the nix-direnv installation instructions under "Via configuration.nix in NixOS". I read some recommendations that envrc.el is a better alternative then direnv.el, and after some testing I have to agree. (envrc-global-mode) is enabled in my config. This works perfectly with a normal emacs instance.
What are some alternatives?
flake-registry - Global registry of Nix flakes
devshell - Per project developer environments
nix-portable - Nix - Static, Permissionless, Installation-free, Pre-configured
flake-utils - Pure Nix flake utility functions [maintainer=@zimbatm]
nix-npm-buildpackage - Build nix packages that use npm/yarn
devenv - Fast, Declarative, Reproducible, and Composable Developer Environments
Home Manager using Nix - Manage a user environment using Nix [maintainer=@rycee]
lorri - Your project's nix-env
nixpkgs - Nix Packages collection & NixOS
flake-templates - A collection of barebone Nix shells for starting a project, provided as flake templates
nixcfg - My nix configuration(s), using flakes. It's my laptop, it's my servers, it's my everything, in code.
naersk - Build Rust projects in Nix - no configuration, no code generation, no IFD, sandbox friendly.