This blog
is really really good for robust usage of
Nix/NixOS. I stumble upon it every so often.
Another excellent blog is
“How to Learn Nix” which
explores in excruciating detail the painful parts of nix
and its
documentation. Discovered that one recently.
What’s funny about the
NixOS/GNU Guix
design is that it tricks developers into writing their own system packages. That
would never happen on other Linux distributions. I’m slowly favoring Guix
though, since the new nix
flake interface
couples too tightly with git
.
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.