summaryrefslogtreecommitdiff
path: root/modules/nix.nix
blob: 6de07bb2135c3377ecd8ea9365049a9ffdd6b551 (plain) (blame)
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
{ config, ... }:
{
  nix = {
    settings = {
      auto-optimise-store = true;
      http-connections = 0;
      warn-dirty = false;
      log-lines = 50;
      sandbox = true;
      sandbox-fallback = false;
      extra-sandbox-paths = [ config.programs.ccache.cacheDir ];
      keep-going = true;
      accept-flake-config = false;

      system-features = [
        "nixos-test"
        "kvm"
        "recursive-nix"
        "big-parallel"
      ];

      trusted-users = [
        "root"
        "@wheel"
        "nix-builder"
      ];

      allowed-users = [
        "root"
        "@wheel"
        "nix-builder"
      ];

      substituters = [
        "https://cache.nixos.org/"
        "https://nix-community.cachix.org"
        "https://hyprland.cachix.org"
        "https://nyx.chaotic.cx/"
        "https://nixpkgs-wayland.cachix.org"
        "https://cuda-maintainers.cachix.org"
        "https://nixpkgs-unfree.cachix.org"
      ];

      trusted-public-keys = [
        "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
        "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
        "nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8="
        "nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA="
        "cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
        "nixpkgs-unfree.cachix.org-1:hqvoInulhbV4nJ9yJOEr+4wxhDV4xq2d1DK7S6Nj6rs="
      ];

      experimental-features = [
        "nix-command"
        "flakes"
        "recursive-nix"
        "ca-derivations"
        "auto-allocate-uids"
        "cgroups"
        "repl-flake"
        "no-url-literals"
        "dynamic-derivations"
      ];
    };

    gc = {
      automatic = true;
      dates = "03:00";
      options = "--delete-older-than 3d";
    };

    optimise = {
      automatic = true;
      dates = [ "04:00" ];
    };
  };
}