summary refs log tree commit diff stats
path: root/modules/configuration/nix.nix
blob: 15cbb7a801efdc4dd019add1b7f5656652fb0ff8 (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 = {
    buildCores = 0;

    daemonNiceLevel = 10;
    daemonIONiceLevel = 4;

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

  nixpkgs.config = {
    packageOverrides = pkgs: {
      unstable = import <nixos-unstable> {
        config = config.nixpkgs.config;
      };
    };
  };

  environment.systemPackages = with pkgs; [
    cachix
  ];

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