forked from pub-solar/infra
44 lines
1 KiB
Nix
44 lines
1 KiB
Nix
|
{
|
||
|
config,
|
||
|
pkgs,
|
||
|
lib,
|
||
|
flake,
|
||
|
...
|
||
|
}: {
|
||
|
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
|
||
|
];
|
||
|
|
||
|
nix = {
|
||
|
# Use default version alias for nix package
|
||
|
package = pkgs.nix;
|
||
|
gc.automatic = true;
|
||
|
optimise.automatic = true;
|
||
|
|
||
|
settings = {
|
||
|
# Improve nix store disk usage
|
||
|
auto-optimise-store = true;
|
||
|
# Prevents impurities in builds
|
||
|
sandbox = true;
|
||
|
# Give root and @wheel special privileges with nix
|
||
|
trusted-users = ["root" "@wheel"];
|
||
|
# Allow only group wheel to connect to the nix daemon
|
||
|
allowed-users = ["@wheel"];
|
||
|
};
|
||
|
|
||
|
# Generally useful nix option defaults
|
||
|
extraOptions = lib.mkForce ''
|
||
|
experimental-features = flakes nix-command
|
||
|
min-free = 536870912
|
||
|
keep-outputs = true
|
||
|
keep-derivations = true
|
||
|
fallback = true
|
||
|
'';
|
||
|
|
||
|
nixPath = [
|
||
|
"nixpkgs=${flake.inputs.nixpkgs}"
|
||
|
"nixos-config=${../../lib/compat/nixos}"
|
||
|
"home-manager=${flake.inputs.home-manager}"
|
||
|
];
|
||
|
};
|
||
|
}
|