dotfiles/modules/generic/nix.nix

64 lines
1.5 KiB
Nix

{
pkgs,
lib,
inputs,
hostname,
...
}: {
nix = {
package = pkgs.lixPackageSets.stable.lix;
# TODO: Is this even needed with lix?
# extraOptions = ''
# experimental-features = nix-command flakes
# '';
# automatic cleanup
gc = {
automatic = true;
# TODO: nix-darwin uses "interval" as a key
dates = lib.mkIf (hostname != "vasa") "weekly";
options = "--delete-older-than 21d";
};
settings = {
# builders-use-substitutes = true;
experimental-features = ["nix-command" "flakes"];
flake-registry = "/etc/nix/registry.json";
keep-derivations = true;
keep-outputs = true;
trusted-users = ["root" "@wheel"];
substituters = [
"https://cache.nixos.org/"
"https://s3.toph.so/nix-cache"
];
trusted-public-keys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"cache.toph.so:sre7NaMFLUyRGuHY5MoC4Il4wD9lC53Ct0D1A/lwb+A="
"cache.toph.so-ci:e5n27lZmhhdQvYClj9PZUFJIYwiBfC7eJkEXe8h4PKU="
];
};
};
nixpkgs = {
config = {
allowUnfree = true;
allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
"cider-2"
];
permittedInsecurePackages = [
"python3.13-ecdsa-0.19.1" # pytr
# "nixos-config"
# "electron-36.9.5"
# "dotnet-sdk-6.0.428"
"olm-3.2.16"
];
};
overlays = import ../../overlays {inherit inputs lib;};
};
}