nix-direnv
nonguix
Our great sponsors
nix-direnv | nonguix | |
---|---|---|
27 | 79 | |
1,448 | - | |
9.3% | - | |
9.1 | - | |
8 days ago | - | |
Nix | ||
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.
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.
nonguix
-
Nix – A One Pager
Their software freedom policy seems to be similar to Debian. All free by default, allow separate nonfree addon. In the case of Guix you can find that here: https://gitlab.com/nonguix/nonguix .
- Guix on the Framework 13 AMD
-
Write Guix package definitions in a breeze: Introducing Guix Packager
The GUIX community has a non-free package repo, you just add it as a GUIX channel and problem solved:
https://gitlab.com/nonguix/nonguix
- The many issues plaguing Nix
- Nonguix
-
My Void experience, so you don't have to
Yes, being a GNU project Guix has a strict free software only policy. The biggest channel (repo) with proprietary stuff for Guix is called nonguix. It has the vanilla kernel, Nvidia drivers and a number of other proprietary packages including Steam, Chrome and the like. I don't know what the state of ZFS on Guix is though as I don't care for it myself, but I can see why its inclusion would be questioned with regards to licensing.
-
Differences between nixos and guix?
Since Guix is a GNU project, it doesn't support proprietary software (Steam, Discord, Zoom...). Third-party repos are available for it.
- Cannot install firefox in guix
-
I'm not fond of nix syntax, how difficult will it be to switch to guix
There's a git lab repo for non-free/libre software that you can add as a channel when installing. I used the following guide that shows you how to do this.
-
Invalid Field Specifier
I'm trying to enable substitues for nonguix. I added the code snippet from the nonguix website to my system.scm file per the instructions. When I try to reconfigure I get the following error:
What are some alternatives?
devshell - Per project developer environments
guix-nonfree - Unofficial collection of packages that are not going to be accepted in to guix
flake-utils - Pure Nix flake utility functions [maintainer=@zimbatm]
zfsbootmenu - ZFS Bootloader for root-on-ZFS systems with support for snapshots and native full disk encryption
devenv - Fast, Declarative, Reproducible, and Composable Developer Environments
com.valvesoftware.Steam
lorri - Your project's nix-env
guix-nonfree
flake-templates - A collection of barebone Nix shells for starting a project, provided as flake templates
nixpkgs - Nix Packages collection & NixOS
naersk - Build Rust projects in Nix - no configuration, no code generation, no IFD, sandbox friendly.
nixos-hardware - A collection of NixOS modules covering hardware quirks.