# vim: ts=2
{
  config,
  lib,
  pkgs,
  nixpkgs,
  templates,
  ...
}: {
  nix = {
    # Flakes settings
    package = pkgs.nixVersions.stable;
    # this can't be in nix settings because of some "type error". See:
    # https://discourse.nixos.org/t/flakes-error-error-attribute-outpath-missing/18044

    registry = {
      nixpkgs.flake = nixpkgs;
      n.flake = nixpkgs;
      t.flake = templates;
    };

    gc = {
      automatic = true;
      dates = "weekly";
      options = "--delete-older-than 7d";
    };
    settings = {
      auto-optimise-store = true;
      experimental-features = ["nix-command" "flakes"];
      fallback = true;

      keep-failed = true; #keep failed tmp build dirs
      pure-eval = true; # restrict file system and network access to  hash
    };
  };
}