nixkell | lorri | |
---|---|---|
5 | 6 | |
80 | 998 | |
- | - | |
4.2 | 0.0 | |
about 2 months ago | almost 2 years ago | |
Nix | Rust | |
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.
nixkell
-
NixOS + Haskell best practices circa March 2023
A while ago I've put together a little skeleton that i use when creating new haskell projects: https://github.com/pwm/nixkell
-
Most braindead easy end to end haskell workflow?
Quite the opposite of caveman. You are used to 21st century tooling that not long ago Haskell simply did not have. I can relate. Luckily nowadays we have HLS thanks to all the amazing people involved. With HLS the IDE/editor matters less as long as they can use it. You probably would be most at home with VSCode. Re setup here’s a shameless nix-based plug: https://github.com/pwm/nixkell (Watch the gif in the readme)
-
first glances: frustrated with introductory material
Shameless plug for quickly setting up a project: https://github.com/pwm/nixkell
-
Can't get things to work. It is normal to learn haskell with plain vim?
I've actually just started a small side-project trying to replicate the UX of stack with nix: https://github.com/pwm/nixkell
- Nixkell - Get your Haskell projects up and running with no fuss using Nix
lorri
-
NixOS + Haskell best practices circa March 2023
lorri
- Lorri: Project's Nix-Env
-
niv, naersk, napalm: moving on
And how does niv compare to https://github.com/target/lorri
-
A treatise on Nix
Yes, you can "hold on", it's called gcroots. There's lorri which you can also use to defer the tediousness of managing the gcroots to a daemon.
-
Per process memory and CPU usage control
Not that I know of but if you are having trouble with rebuilding and running out of memory, maybe the solution would be to cache the builds locally? You could use lorri to cache your development builds (https://github.com/target/lorri).
-
NixOS Linux
> Using a special command (nix-shell) whenever I needed to do development things (e.g. Rust builds) was not my idea of fun.
Funny you should mention that, because that's exactly what got me using Nix everywhere :). I've always hated installing tools and libraries globally—what if I need a different version for a future project?—so I like tools that sandbox as much as possible like virtualenv, cargo, cabal... etc. But these tools are all language-specific and have their own limitations (especially around native libraries and dependencies written in other languages).
nix-shell gives me the equivalent of virtualenv that works for everything. I can have a single sandboxed environment even if my project uses a bunch of different languages and I can manage everything in a reproducible, low-overhead fashion. No more worrying about making a mess by installing tools or packages globally.
Then, once I got really used to that, I spent some time setting up direnv[1] and lorri[2]—both of which are themselves managed with Nix, of course!—so that my environment gets automatically configured as soon as I enter a project directory without needing to call nix-shell explicitly. To be honest, the experience is still a bit rough, but it works well enough day-to-day that I have my reproducible sandbox cake and eat it in an mostly frictionless way too :).
[1]: https://direnv.net/
[2]: https://github.com/target/lorri
What are some alternatives?
haskell.nix - Alternative Haskell Infrastructure for Nixpkgs
direnv - unclutter your .profile
reflex-platform - A curated package set and set of tools that let you build Haskell packages so they can run on a variety of platforms. reflex-platform is built on top of the nix package manager.
nix - Nix, the purely functional package manager
ghcid - Very low feature GHCi based IDE
nix-direnv - A fast, persistent use_nix/use_flake implementation for direnv [maintainer=@Mic92 / @bbenne10]
stack - The Haskell Tool Stack
nixops - NixOps is a tool for deploying to NixOS machines in a network or cloud.
tilapia - Improving all Haskell's programmer interfaces
nickel - Better configuration for less
std - A DevOps framework for the SDLC with the power of Nix and Flakes. Good for keeping deadlines!
dotfiles - i3 + Plasma: using the i3 window manager on the top of KDE Plasma and other dotfiles, configurations, scripts, workarounds and practises from my Debian Sid machines.