While not a "default setting", a thing I always suggest is to avoid setting multiple substituters in your config. Instead, set trusted-substituters and trusted-public-keys, and then only set the substituters you need in the nixConfig.substituters attribute of the flake.nix of the project they are needed in (if you're not using flakes,, add a .nix.conf file to your project and export NIX_USER_CONF_FILES="${NIX_USER_CONF_FILES+$XDG_CONFIG_HOME/nix}:$PWD/.nix.conf" to your .envrc)
That's a good one. Definitely seems selecting substituters closer to runtime is more flexible. Especially when the system may be roaming across networks like a laptop that may move outside your home LAN that links to your local desktop cache.
While not a "default setting", a thing I always suggest is to avoid setting multiple
substitutersin your config. Instead, settrusted-substitutersandtrusted-public-keys, and then only set the substituters you need in thenixConfig.substitutersattribute of theflake.nixof the project they are needed in (if you're not using flakes,, add a.nix.conffile to your project andexport NIX_USER_CONF_FILES="${NIX_USER_CONF_FILES+$XDG_CONFIG_HOME/nix}:$PWD/.nix.conf"to your.envrc)That's a good one. Definitely seems selecting substituters closer to runtime is more flexible. Especially when the system may be roaming across networks like a laptop that may move outside your home LAN that links to your local desktop cache.