{ config, lib, nixpkgs, ... }: { nix = { # expose all flake inputs through nix Path and registry registry = { nixpkgs.flake = nixpkgs; }; nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry; distributedBuilds = true; settings = { auto-optimise-store = true; experimental-features = [ "nix-command" "flakes" "repl-flake" ]; substituters = [ "https://cache.rfive.de" "https://cache.ifsr.de" ]; trusted-public-keys = [ "cache.rfive.de:of5d+o6mfGXQSR3lk6ApfDBr4ampAUaNHux1O/XY3Tw=" "cache.ifsr.de:y55KBAMF4YkjIzXwYOKVk9fcQS+CZ9RM1zAAMYQJtsg=" ]; }; buildMachines = [ # { # hostName = "quitte.ifsr.de"; # sshUser = "rouven.seifert"; # system = "x86_64-linux"; # protocol = "ssh-ng"; # supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ]; # maxJobs = 4; # speedFactor = 10; # } { hostName = "fujitsu.vpn.rfive.de"; system = "x86_64-linux"; protocol = "ssh-ng"; supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ]; maxJobs = 4; speedFactor = 5; } ]; extraOptions = '' builders-use-substitutes = true ''; }; }