Files
nixos/modules/nix-conf.nix
T

73 lines
2.1 KiB
Nix
Raw Normal View History

2025-03-20 10:45:16 -05:00
{
2025-05-29 10:48:46 -05:00
config,
2025-06-10 14:28:46 -05:00
lib,
pkgs,
2025-03-20 10:45:16 -05:00
...
}:
2025-02-04 07:44:54 -06:00
2025-05-29 10:48:46 -05:00
let
cfg = config.greg.nix;
in
2025-02-04 07:44:54 -06:00
{
2025-05-29 10:48:46 -05:00
options.greg.nix = {
cache = lib.mkOption {
type = lib.types.bool;
default = true;
2025-02-04 07:44:54 -06:00
};
};
2025-05-29 10:48:46 -05:00
config = {
nix = {
gc = {
automatic = true;
# Scheduling of them is different in nixos vs nix-darwin, so check for
# the extra details there
options = "--delete-older-than 30d";
};
package = pkgs.nixStable;
settings = {
cores = 0; # Use all cores for builds
download-buffer-size = 500 * 1024 * 1024;
experimental-features = "nix-command flakes";
keep-outputs = true;
keep-derivations = true;
min-free = (toString (1024 * 1024 * 1024));
max-free = (toString (5 * 1024 * 1024 * 1024));
trusted-users = [
"greg"
"gregory.hellings"
]; # For home and for work machines
substituters =
(lib.optionals cfg.cache [
2025-06-11 22:57:09 -05:00
"http://chronicles.shire-zebra.ts.net:9000/binary-cache/"
2025-05-29 10:48:46 -05:00
])
++ [
"https://ai.cachix.org"
"https://nixpkgs-python.cachix.org"
"https://greg-hellings.cachix.org"
"https://nix-community.cachix.org"
"https://cache.nixos.org"
2025-09-11 23:00:19 -05:00
"https://nixhelm.cachix.org"
2025-05-29 10:48:46 -05:00
];
trusted-public-keys = [
2025-06-11 22:57:09 -05:00
"chronicles.shire-zebra.ts.net:0qWYHn3gGllXChhAaaxKlNZtRy6yG/XJs1RFSqV3nW8="
2025-05-29 10:48:46 -05:00
"ai.cachix.org-1:N9dzRK+alWwoKXQlnn0H6aUx0lU/mspIoz8hMvGvbbc="
"nixpkgs-python.cachix.org-1:hxjI7pFxTyuTHn2NkvWCrAUcNZLNS3ZAvfYNuYifcEU="
"greg-hellings.cachix.org-1:y01Jl/L5evlhxdnUW6n56AiI1k8g1wxWhTxJCe7XSco="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
2025-09-11 23:00:19 -05:00
"nixhelm.cachix.org-1:esqauAsR4opRF0UsGrA6H3gD21OrzMnBBYvJXeddjtY="
2025-05-29 10:48:46 -05:00
];
};
};
nixpkgs.config = {
allowUnfree = true;
allowUnfreePredicate = _: true;
permittedInsecurePackages = [ "ventoy-1.1.05" ];
};
2025-02-04 07:44:54 -06:00
};
}