purenix
nix-helpers
purenix | nix-helpers | |
---|---|---|
4 | 2 | |
279 | 8 | |
-0.7% | - | |
2.1 | 7.5 | |
5 months ago | 3 months ago | |
Haskell | Nix | |
BSD 3-clause "New" or "Revised" License | Creative Commons Zero v1.0 Universal |
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.
purenix
-
Nix: An idea whose time has come
There’s also the PureNix project that lets you go from PureScript→Nix. Caveats in the docs.
https://github.com/purenix-org/purenix
- PureNix: Compile PureScript to Nix
- PureNix: Transpile PureScript Code to Nix
- The Curse of NixOS
nix-helpers
-
NixOS RFC 136 accepted: A plan to stabilize the new CLI and Flakes incrementally
Yes, to get Nixpkgs it's much faster to use `fetchTarball`.
You're right that `builtins.fetchTarball` is faster than `builtins.fetchGit` (due to the ridiculous amount of commits in the Nixpkgs repo). I like to keep such definitions in a single, company-wide/project-agnostic git repo (what the Nix Pills series calls the "repository pattern"), and have individual projects import them via `builtins.fetchGit`.
Many years ago we didn't have `builtins.fetchGit`, so had to use the 'fetchgit' function from Nixpkgs instead. That created a chicken-and-egg situation if we wanted to take the Nixpkgs version from some other git repo; hence needing to "bootstrap" via `(import { config = {}; }).fetchgit`, and cross our fingers that `NIX_PATH` wasn't set to some crazy value (which, of course, I would inevitably do... https://github.com/Warbo/haskell-te/blob/24475a229908caa3447... )
Note that we need `config = {};` when importing Nixpkgs to avoid an impurity which tries to read files in $HOME. More recent versions of Nixpkgs also need `overlays = [];` to avoid another impurity (looks like this changed at Nixpkgs 17.03, according to https://github.com/Warbo/nix-helpers/blob/master/nixpkgs.nix )
-
The Curse of NixOS
Where nixpkgs2105 is a pinned revision of the Nixpkgs repo, defined in another overlay. My current Nix config has pinned Nixpkgs versions going back to 2016. For example, here's a bunch of such overrides:
https://github.com/Warbo/nix-config/blob/master/overrides/fi...
At the moment I'm using niv to manage the pinned Nixpkgs versions (the 'repoXXXX' entries):
https://github.com/Warbo/nix-helpers/blob/master/nix/sources...
What are some alternatives?
onyx - Toolkit for converting and building songs for Rock Band, Guitar Hero, Clone Hero, and other similar rhythm games
aconfmgr - A configuration manager for Arch Linux
nickel - Better configuration for less
star-history - The missing star history graph of GitHub repos - https://star-history.com
spack - A flexible package manager that supports multiple versions, configurations, platforms, and compilers.
nix-fpga-tools
devshell - Per project developer environments
nvd
nixpkgs-config - ~/.config/nixpkgs
nixos-beginners-handbook - The missing handbook for NixOS beginners
rfcs - The Nix community RFCs