haskell-nix
vaultenv
Our great sponsors
haskell-nix | vaultenv | |
---|---|---|
6 | 2 | |
1,125 | 432 | |
- | 0.7% | |
2.7 | 4.7 | |
7 months ago | 10 days ago | |
Nix | Haskell | |
- | BSD 3-clause "New" or "Revised" 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.
haskell-nix
- Nix Team Creation
-
How should dependencies be specified for the Haskell C FFI with callCabal2Nix?
Here's a tutorial on using native dependencies.
-
Question about cabal and nix integration
Nevermind. I found a really good tutorial: https://github.com/Gabriel439/haskell-nix
-
What's all the hype with Nix?
Gabriel Gonzalez's haskell-nix is a far more palatable introduction tutorial, then they can make the choice of whether or not to buy into IOHK's haskell.nix ecosystem if it suits their needs.
-
Nix is the ultimate DevOps toolkit
I found useful this series of articles introducing Nix by using it with Haskell: https://github.com/Gabriel439/haskell-nix
I hope it helps.
vaultenv
-
Using secrets in kube prom stack helm chart
Having secrets in an external system (like Hashicorp Vault) and then using [vaultenv](https://github.com/channable/vaultenv) to inject these during `helm install/upgrade`. So you end up with something like `vaultenv ... -- helm install --set config.myvar=${VAULTENV_INJECTED_ENV_VALUE}` (or similar). Point is I use vaultenv to run helm with secrets injected as env vars only during the helm run, and use helm's `--set` flag to set individual secrets. This can get tedious if you have many secrets as you have to specify each of them individually with --set. Usually I wrap this in a Makefile or a shell script for easier invoking.
-
Nix is the ultimate DevOps toolkit
> Also, regarding DevOps, the tooling around Nix makes it a little brittle for anything event based--rapidly changing configurations on the fly due to network conditions (Consul, Ansible, etc). This is where configuration management is heading, and due to the static nature of Nix, delegating dynamic changes is hard/anti pattern.
Channable uses Consul, Vault, etc. for dynamic configuration and it works with Nix just fine.
You don't have to use static configuration files with Nix. Either fetch dynamic stuff using the Consul, Vault, etc. APIs at runtime or use a tool like vaultenv [1] or similar if you don't want this logic in your application code.
Put those tools in your systemd service before launching your app, and you're good to go.
(NB: I was DevOps teamlead at Channable while a part of this work was being done. Sad that I won't be able to see the final picture.)
What are some alternatives?
haskell.nix - Alternative Haskell Infrastructure for Nixpkgs
nixos - My NixOS Configurations
nix-ros-overlay - ROS overlay for the Nix package manager
nickel - Better configuration for less
robotnix - Build Android (AOSP) using Nix [maintainer=@danielfullmer,@Atemu]
asdf - Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more
nix-templates - Nix Flake templates for various languages
nixos - NixOS Configuration
static-haskell-nix - easily build most Haskell programs into fully static Linux executables
pndev - CLI tool for es-development
nixpkgs - Nix Packages collection & NixOS
nix-1p - A (more or less) one page introduction to Nix, the language.