# Nix related settings { lib, pkgs, ... }: { nix = { package = pkgs.nixFlakes; settings = { trusted-users = [ "root" "@wheel" ]; auto-optimise-store = true; substituters = [ "https://cachix.cachix.org" "https://nix-community.cachix.org" ]; trusted-public-keys = [ "cachix.cachix.org-1:eWNHQldwUO7G2VkjpnjDbWwy4KQ/HNxht7H4SSoMckM=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ]; experimental-features = [ "nix-command" "flakes" ]; # Whether to warn about dirty Git/Mercurial trees - this is not # useful information to me. warn-dirty = false; # The timeout (in seconds) for establishing connections in the binary # cache substituter. It corresponds to curl’s –connect-timeout option. # The default is equivalent to 300 seconds, way too long. connect-timeout = 5; # The number of lines of the tail of the log to show if a build fails. # The default is 10 and it's usually too short. log-lines = 25; # If set to true, Nix will fall back to building from source if # a binary substitute fails. This is equivalent to the –fallback # flag. The default is false. fallback = true; }; gc = { automatic = true; options = "--delete-older-than 14d"; }; }; }