system/settings/darwin.nix (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | { config
, pkgs
, lib
, ...
}: {
services.nix-daemon = {
enable = true;
enableSocketListener = true;
};
nix = {
settings.cores = lib.mkDefault 0;
daemonIOLowPriority = true;
gc = {
automatic = true;
user = "alan";
options = "--max-freed $((25 * 1024**3 - 1024 * $(df -P -k /nix/store | tail -n 1 | awk '{ print $4 }')))";
};
settings.extra-platforms = "aarch64-darwin x86_64-darwin";
settings.experimental-features = "nix-command flakes";
settings.warn-dirty = false;
settings.keep-outputs = true;
settings.keep-derivations = true;
linux-builder.enable = true;
settings.trusted-users = [ "@admin" ];
};
nixpkgs.config = {
allowUnfree = true;
};
environment.launchDaemons = {
"limit.maxfiles.plist" = {
text = ''
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>limit.maxfiles</string>
<key>ProgramArguments</key>
<array>
<string>launchctl</string>
<string>limit</string>
<string>maxfiles</string>
<string>64000</string>
<string>524288</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
'';
};
};
environment.systemPackages = with pkgs; [
watch
coreutils-prefixed
nixos-rebuild # for rebuilds of remote systems
];
}
|