nixosModules/clanCore: support nix-darwin

This commit is contained in:
Michael Hoang
2025-04-12 17:11:34 +02:00
parent f336f6514c
commit 5e61a6e41d
13 changed files with 173 additions and 133 deletions

View File

@@ -1,27 +1,38 @@
{ lib, config, ... }:
{
_class,
lib,
config,
...
}:
# Taken from:
# https://github.com/nix-community/srvos/blob/main/nixos/common/nix.nix
lib.mkIf config.clan.core.enableRecommendedDefaults {
# Fallback quickly if substituters are not available.
nix.settings.connect-timeout = 5;
{
imports = lib.optional (_class == "nixos") (
lib.mkIf config.clan.core.enableRecommendedDefaults {
nix.daemonCPUSchedPolicy = lib.mkDefault "batch";
nix.daemonIOSchedClass = lib.mkDefault "idle";
nix.daemonIOSchedPriority = lib.mkDefault 7;
}
);
# Enable flakes
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
config = lib.mkIf config.clan.core.enableRecommendedDefaults {
# Fallback quickly if substituters are not available.
nix.settings.connect-timeout = 5;
# The default at 10 is rarely enough.
nix.settings.log-lines = lib.mkDefault 25;
# Enable flakes
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
# Avoid disk full issues
nix.settings.max-free = lib.mkDefault (3000 * 1024 * 1024);
nix.settings.min-free = lib.mkDefault (512 * 1024 * 1024);
# The default at 10 is rarely enough.
nix.settings.log-lines = lib.mkDefault 25;
nix.daemonCPUSchedPolicy = lib.mkDefault "batch";
nix.daemonIOSchedClass = lib.mkDefault "idle";
nix.daemonIOSchedPriority = lib.mkDefault 7;
# Avoid disk full issues
nix.settings.max-free = lib.mkDefault (3000 * 1024 * 1024);
nix.settings.min-free = lib.mkDefault (512 * 1024 * 1024);
# Avoid copying unnecessary stuff over SSH
nix.settings.builders-use-substitutes = true;
# Avoid copying unnecessary stuff over SSH
nix.settings.builders-use-substitutes = true;
};
}