summaryrefslogtreecommitdiff
path: root/modules/core/nix/default.nix
blob: 7f60e3162c48c38868830f6901247365cb2eb751 (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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
{
  inputs,
  pkgs,
  lib,
  ...
}:
{
  imports = [
    ./distributed-builds.nix
    ./extended-support.nix
    ./nh.nix
  ];

  nix = {
    optimise.automatic = true;
    registry.nixpkgs.flake = inputs.nixpkgs;
    package = pkgs.nixVersions.git;
    nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
    channel.enable = false;

    settings = {
      auto-optimise-store = true;
      http-connections = 0;
      warn-dirty = false;
      log-lines = 30;
      sandbox-fallback = false;
      keep-going = true;
      connect-timeout = 5;
      stalled-download-timeout = 20;
      auto-allocate-uids = true;
      use-cgroups = pkgs.stdenv.isLinux;
      builders-use-substitutes = true;
      nix-path = lib.mkForce "nixpkgs=flake:nixpkgs";
      flake-registry = "${inputs.flake-registry}/flake-registry.json";
      trusted-users = [ "@wheel" ];
      max-jobs = "auto";
      keep-outputs = true;

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

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

      extra-substituters = [
        "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"
        # "https://cache.flox.dev"
        "https://cache.iog.io"
        "https://ezkea.cachix.org"
        "https://nix-gaming.cachix.org"
        "https://tsutsumi.cachix.org"
        "https://devenv.cachix.org"
      ];

      extra-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="
        # "flox-cache-public-1:7F4OyH7ZCnFhcze3fJdfyXYLQw/aV7GEed86nQ7IsOs="
        "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
        "ezkea.cachix.org-1:ioBmUbJTZIKsHmWWXPe1FSFbeVe+afhfgqgTSNd34eI="
        "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="
        "tsutsumi.cachix.org-1:MojIlGI60CT5EoyuTgjB4VRVgf/uUvakZVWoYJThQNk="
        "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw="
      ];

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