diff --git a/nixosModules/clanCore/flake-module.nix b/nixosModules/clanCore/flake-module.nix index 725c89313..7d29f7b97 100644 --- a/nixosModules/clanCore/flake-module.nix +++ b/nixosModules/clanCore/flake-module.nix @@ -7,6 +7,7 @@ ./meshnamed ./networking.nix ./packages.nix + ./nix-settings.nix inputs.sops-nix.nixosModules.sops # just some example options. Can be removed later ./vm.nix diff --git a/nixosModules/clanCore/nix-settings.nix b/nixosModules/clanCore/nix-settings.nix new file mode 100644 index 000000000..7712ab652 --- /dev/null +++ b/nixosModules/clanCore/nix-settings.nix @@ -0,0 +1,28 @@ +{ lib, ... }: +# Taken from: +# https://github.com/nix-community/srvos/blob/main/nixos/common/nix.nix +{ + # Fallback quickly if substituters are not available. + nix.settings.connect-timeout = 5; + + # Enable flakes + nix.settings.experimental-features = [ + "nix-command" + "flakes" + "repl-flake" + ]; + + # The default at 10 is rarely enough. + nix.settings.log-lines = lib.mkDefault 25; + + # Avoid disk full issues + nix.settings.max-free = lib.mkDefault (3000 * 1024 * 1024); + nix.settings.min-free = lib.mkDefault (512 * 1024 * 1024); + + nix.daemonCPUSchedPolicy = lib.mkDefault "batch"; + nix.daemonIOSchedClass = lib.mkDefault "idle"; + nix.daemonIOSchedPriority = lib.mkDefault 7; + + # Avoid copying unnecessary stuff over SSH + nix.settings.builders-use-substitutes = true; +}