summary refs log tree commit diff stats
path: root/system/settings/configuration/nix.nix
blob: 6328f32eae602b5ea0c7b36efa5ab765b9949e46 (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
39
{ 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
      warn-dirty = false
    '';

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

  system.autoUpgrade = {
    enable = true;
    flags = [ "--max-jobs" "2" ];
    flake = "/home/alan/projects/alanpearce/nixfiles";
  };
  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}
    '';
  };
}