I’m very tempted to stick GNU Guix somewhere in my main workflow — Guile Scheme looks interesting. I’m sorta curious as to why people like Lisp languages so much. The plan is to read the reference manual. (yeah… right)
Nix/NixOS are great for documenting system configurations/models, but the long evaluation times make for slow feed back loops.
My knowledge of the functional ecosystem is mostly diddly, but maybe there’s a way to speed it up? Ignore all module and package imports and piece together a minimal evaluation perhaps?
{ ... }:
{
imports = [
<nixpkgs/nixos/modules/programs/git.nix>
<nixpkgs/nixos/modules/security/auditd.nix>
<nixpkgs/nixos/modules/services/databases/postgresql.nix>
];
nixpkgs.overlays = [
(_: pkgs: {
cpio = pkgs.callPackage <nixpkgs/pkgs/tools/archivers/cpio/default.nix> { };
})
];
}
If that goes anywhere, maybe that’s an article, but I’m fairly certain someone must have tried something like this already.
The peculiar thing about the
nix
ecosystem, is that the
easiest way I’ve been able to convince someone to try nix
is to first show
nix-env
.
Then apply the idea of declarative package management. Not too long after that
they’re on NixOS
or using
nix
flakes,
and have catapulted far past my own knowledge of nix
.
Only recently did I discover that in the wider ecosystem, using nix-env
is a big
no-no — that’s sort of interesting.