summary refs log tree commit diff stats
path: root/system/settings/configuration/nix.nix
blob: f4756d5851cf99c311126a79bbe47ff1d77324c6 (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
{ config, pkgs, ... }:

{ nix = {
    buildCores = 0;

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

    trustedUsers = [ "@wheel" ];

    package = pkgs.nixFlakes;
    extraOptions = ''
      keep-outputs = true
      keep-derivations = true
      experimental-features = nix-command flakes
    '';

    autoOptimiseStore = true;
    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}
    '';
  };
}