nixpkgs
haskell.nix
Our great sponsors
nixpkgs | haskell.nix | |
---|---|---|
969 | 15 | |
15,581 | 524 | |
4.9% | 1.3% | |
10.0 | 9.7 | |
about 16 hours ago | about 12 hours ago | |
Nix | Nix | |
MIT License | Apache License 2.0 |
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.
nixpkgs
- NixOS/nixpkgs: There isn't a clear canonical way to refer to a specific package
-
NixOS Is Not Reproducible
Yes, Nix doesn't actually ensure that the builds are deterministic. In fact it works just fine if they aren't. There are packages in nixpkgs that aren't reproducible: https://github.com/NixOS/nixpkgs/issues?q=is%3Aopen+is%3Aiss...
-
The xz attack shell script
I'm not familiar with Bazel, but Nix in it's current form wouldn't have solved this attack. First of all, the standard mkDerivation function calls the same configure; make; make install process that made this attack possible. Nixpkgs regularly pulls in external resources (fetchUrl and friends) that are equally vulnerable to a poisoned release tarball. Checkout the comment on the current xz entry in nixpkgs https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/comp...
-
Debian Git Monorepo
NixOS uses a monorepo and I think everyone's love it.
I love being able to easily grep through all the packages source code and there's regularly PRs that harmonizes conventions across many packages.
Nixpkgs doesn't include the packaged software source code, so it's a lot more practical than what Debian is doing.
-
From xz to ibus: more questionable tarballs
In this specific case, nix uses fetchFromGitHub to download the source archive, which are generated by GitHub for the specified revision[1]. Arch seems to just download the tarball from the releases page[2].
[1]: https://github.com/NixOS/nixpkgs/blob/3c2fdd0a4e6396fc310a6e...
[2]: https://gitlab.archlinux.org/archlinux/packaging/packages/ib...
-
GitHub Disabled the Xz Repo
True, but irrelevant -- _some packages_, _somewhere_, do depend on xz, which, if built, requires pulling the source from GitHub (see the default.nix: https://github.com/NixOS/nixpkgs/blob/nixos-23.11/pkgs/tools...)
It's not the vulnerability that's a problem right now (NixOS was protected by a couple of factors) but rather GitHub's hamfisted response.
That is the problem.
-
Combining Nix with Terraform for better DevOps
We’ve noticed that some users have been asking about how to use older versions of Terraform in their Nix setups [1, 2]. This is an example of the diverse needs of people and the importance of maintaining backward compatibility. We hope that nixpkgs-terraform will be a useful tool for these users.
-
Nix is a better Docker image builder than Docker's image builder
I think whateveracct was referring to is this link:
https://github.com/NixOS/nixpkgs/blob/master/pkgs/developmen...
What that file is doing, is building a package, and it essentially is a combination of what Makefile and what RPM spec file does.
I don't know if you're familiar with those tools, but if you aren't it takes some time to know them enough to understand what is happening. So why would be different here?
-
Use Ansible to create and start LXD virtual machines
#!/usr/bin/env nix-shell #! nix-shell -i bash #! nix-shell -p sops #! nix-shell -I https://github.com/NixOS/nixpkgs/archive/refs/tags/23.05.tar.gz source config.sh "$@"
-
What AI assistants are already bundled for Linux?
NixOS just got tabbyml[1] which is built on llama-cpp. Working on systemsd services the weekend and updating latest tabbyml release which supports rocm in addition to cuda
haskell.nix
-
Why does Nix have Haskell packages that are incompatible with GHC for a given version?
I'm not a great haskeller but I found haskell.nix better for Haskell projects, like the commenter on Discourse suggested. I've had a few issued regarding package versions with nixpkgs that haskell.nix solved.
-
Simple GHC stack for a novice
FWIW, there's also libraries like haskell.nix that solve the caching problem.
-
Any up-to-date cross-compiling methods for Raspberry Pi?
I would try haskell.nix.
-
Take the Nix Pill
If you want to hurt your brain, check out haskell.nix. That's some good stuff right there ^^
-
Trying to build a statically linked binary against glibc (Linux)
The haskell.nix framework is good for this.
-
GHC 9.4.1 Windows changes
One cool thing is that this will enable GHC builds using ucrt instead of vscrt in the future. Concretely, together with NixOS/nixpkgs#171418 and its follow-up NixOS/nixpkgs#173498), this will e.g. allow haskell.nix to upgrade to a newer wine pin for TH cross compilation: https://github.com/input-output-hk/haskell.nix/blob/dd13e822529ae5342494969bce8a457522a60100/overlays/wine.nix
-
How to make stack work like it's supposed to
I've been using IOHK's alternative infrastructure for this reason. It has its quirks but I've been happier with it. Before that I think I was using developPackage from the nixpkgs haskell tooling which had some introspection ability. You may consider trying that out. But as I remember this will not abide by your version bounds.
-
Announcing `safe-coloured-text`
There's a lot to like here. Alas, despite minimal dependencies, terminfo is somehow uniquely problematic in haskell.nix.
- A question about the current state of Haskell running natively on Apple silicon:
-
Memory from finished thread is not getting reclaimed
If you are somewhat comfortable with nix: https://github.com/input-output-hk/haskell.nix supports GHCJS 8.10.x (in particular 8.10.7).
What are some alternatives?
asdf - Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more
Cabal - Official upstream development repository for Cabal and cabal-install
Home Manager using Nix - Manage a user environment using Nix [maintainer=@rycee]
nix-doom-emacs - doom-emacs packaged for Nix
git-lfs - Git extension for versioning large files
static-haskell-nix - easily build most Haskell programs into fully static Linux executables
easyeffects - Limiter, compressor, convolver, equalizer and auto volume and many other plugins for PipeWire applications
polysemy - :gemini: higher-order, no-boilerplate monads
spack - A flexible package manager that supports multiple versions, configurations, platforms, and compilers.
frp-zoo - Comparing many FRP implementations by reimplementing the same toy app in each.
waydroid - Waydroid uses a container-based approach to boot a full Android system on a regular GNU/Linux system like Ubuntu.
haskell-nix - Nix and Haskell in production