about summary refs log tree commit diff
path: root/modules/nix/default.nix
blob: c004e83b22172eec19d1d942292bee62b1901ca0 (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
{ config, pkgs, options, lib, ... }:

let
  # Most of the standard Darwin-detection methods cause infinite recursion.
  isDarwin = options.environment ? "darwinConfig";

in {
  nix.nixPath = [
    "nixos-config=/run/current-system/nixlib/sys/${config.networking.hostName}.nix"
    "/run/current-system/nixlib"
  ];

  nix.settings.auto-optimise-store = true;
  nix.daemonCPUSchedPolicy = "idle";
  nix.settings.trusted-users = [ "@wheel" ];

  nix.settings.substituters = [ "https://cache.dataaturservice.se/spectrum/" ];
  nix.settings.trusted-public-keys = [
    "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
    "spectrum-os.org-1:rnnSumz3+Dbs5uewPlwZSTP0k3g/5SRG4hD7Wbr9YuQ="
  ];

  system.extraSystemBuilderCmds = ''
    ln -s ${lib.cleanSource ../..} $out/nixlib
  '';

  nixpkgs.overlays =
    let
      inherit (builtins) attrNames readDir;
      dir = ../../overlays;
      names = attrNames (readDir dir);
    in
      map (o: import "${dir}/${o}") names;

  services = lib.optionalAttrs isDarwin
    { nix-daemon.enable = true; };
}