summary refs log tree commit diff stats
path: root/system/settings/configuration/nix.nix
blob: 7ae8f7f6c0f778afee9a5ce6e306d8bdfa9b50a4 (plain)
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
{
  config,
  pkgs,
  ...
}: {
  nix = {
    settings = {
      cores = 0;
      auto-optimise-store = true;
      trusted-users = ["@wheel"];
    };

    daemonCPUSchedPolicy = "idle";
    daemonIOSchedClass = "idle";

    extraOptions = ''
      keep-outputs = true
      keep-derivations = true
      experimental-features = nix-command flakes
    '';

    gc = {
      automatic = true;
      options = "--delete-older-than 14d";
    };
  };

  system.autoUpgrade = {
    enable = true;
    flags = ["--max-jobs" "2"];
  };
  systemd.services.nixos-upgrade = {
    script = pkgs.lib.mkForce ''
      ${pkgs.nix}/bin/nix-channel --update
      ${config.system.build.nixos-rebuild}/bin/nixos-rebuild boot --no-build-output ${toString config.system.autoUpgrade.flags}
    '';
  };
}