2022-06-12 15:39:15 +00:00
|
|
|
{
|
|
|
|
pkgs,
|
|
|
|
lib,
|
|
|
|
config,
|
|
|
|
system,
|
2023-12-18 09:14:07 +00:00
|
|
|
attic,
|
2022-06-12 15:39:15 +00:00
|
|
|
...
|
2023-10-09 15:17:39 +00:00
|
|
|
}: {
|
2022-01-27 16:16:42 +00:00
|
|
|
imports = [
|
|
|
|
./workarounds
|
|
|
|
];
|
2022-01-14 13:03:14 +00:00
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
nix = {
|
2022-02-08 08:55:28 +00:00
|
|
|
settings = {
|
|
|
|
sandbox = true;
|
2023-01-14 19:58:07 +00:00
|
|
|
trusted-users = ["@wheel" "remote-build"];
|
2022-04-12 09:37:53 +00:00
|
|
|
require-sigs = true;
|
2022-02-08 09:48:37 +00:00
|
|
|
builders-use-substitutes = true;
|
2022-03-03 07:50:45 +00:00
|
|
|
substituters = [
|
2023-12-18 09:14:07 +00:00
|
|
|
"https://attic.chir.rs/chir-rs/"
|
|
|
|
"https://hydra.int.chir.rs"
|
2024-05-06 15:16:37 +00:00
|
|
|
"https://cache.lix.systems"
|
2022-04-12 09:33:58 +00:00
|
|
|
];
|
|
|
|
trusted-public-keys = [
|
|
|
|
"nixcache:8KKuGz95Pk4UJ5W/Ni+pN+v+LDTkMMFV4yrGmAYgkDg="
|
|
|
|
"hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs="
|
2023-12-18 12:19:57 +00:00
|
|
|
"chir-rs:rzK1Czm3RqBbZLnXYrLM6JyOhfr6Z/8lhACIPO/LNFQ="
|
2023-03-05 20:51:07 +00:00
|
|
|
"riscv:TZX1ReuoIGt7QiSQups+92ym8nKJUSV0O2NkS4HAqH8="
|
2023-06-18 06:22:04 +00:00
|
|
|
"cache.ztier.link-1:3P5j2ZB9dNgFFFVkCQWT3mh0E+S3rIWtZvoql64UaXM="
|
2024-05-06 15:16:37 +00:00
|
|
|
"cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o="
|
2022-03-03 07:50:45 +00:00
|
|
|
];
|
2022-02-08 08:55:28 +00:00
|
|
|
};
|
2022-01-14 13:03:14 +00:00
|
|
|
extraOptions = ''
|
2022-04-18 14:07:18 +00:00
|
|
|
experimental-features = nix-command flakes ca-derivations
|
2023-12-08 13:20:12 +00:00
|
|
|
builders-use-substitutes = true
|
2022-01-14 13:03:14 +00:00
|
|
|
'';
|
|
|
|
gc = {
|
|
|
|
automatic = true;
|
|
|
|
dates = "weekly";
|
|
|
|
options = "--delete-older-than 7d";
|
|
|
|
};
|
2023-05-21 17:32:58 +00:00
|
|
|
buildMachines = with lib;
|
|
|
|
mkMerge [
|
|
|
|
(mkIf (config.networking.hostName != "instance-20221213-1915") [
|
|
|
|
{
|
|
|
|
hostName = "build-aarch64";
|
|
|
|
systems = [
|
|
|
|
"aarch64-linux"
|
2023-10-19 08:02:43 +00:00
|
|
|
"riscv32-linux"
|
|
|
|
"riscv64-linux"
|
2023-05-21 17:32:58 +00:00
|
|
|
];
|
|
|
|
maxJobs = 4;
|
|
|
|
speedFactor = 1;
|
|
|
|
supportedFeatures = ["nixos-test" "benchmark" "ca-derivations" "gccarch-armv8-a" "gccarch-armv8.1-a" "gccarch-armv8.2-a" "big-parallel"];
|
|
|
|
}
|
|
|
|
])
|
2023-10-19 08:02:43 +00:00
|
|
|
(mkIf (config.networking.hostName != "nas") [
|
|
|
|
{
|
|
|
|
hostName = "build-nas";
|
|
|
|
systems = [
|
2023-12-08 13:20:12 +00:00
|
|
|
"i686-linux"
|
|
|
|
"x86_64-linux"
|
2023-10-19 08:02:43 +00:00
|
|
|
"armv7l-linux"
|
|
|
|
"powerpc-linux"
|
|
|
|
"powerpc64-linux"
|
|
|
|
"powerpc64le-linux"
|
|
|
|
"wasm32-wasi"
|
|
|
|
"riscv32-linux"
|
|
|
|
"riscv64-linux"
|
|
|
|
];
|
|
|
|
maxJobs = 12;
|
|
|
|
speedFactor = 1;
|
|
|
|
supportedFeatures = [
|
|
|
|
"kvm"
|
|
|
|
"nixos-test"
|
|
|
|
"big-parallel"
|
|
|
|
"benchmark"
|
|
|
|
"gccarch-znver1"
|
|
|
|
"gccarch-skylake"
|
|
|
|
"ca-derivations"
|
|
|
|
];
|
|
|
|
}
|
|
|
|
])
|
2023-12-06 16:28:12 +00:00
|
|
|
(mkIf (config.networking.hostName != "rainbow-resort") [
|
|
|
|
{
|
|
|
|
hostName = "build-rainbow-resort";
|
|
|
|
systems = [
|
2023-12-08 13:20:12 +00:00
|
|
|
"i686-linux"
|
|
|
|
"x86_64-linux"
|
2023-12-06 16:28:12 +00:00
|
|
|
"armv7l-linux"
|
|
|
|
"powerpc-linux"
|
|
|
|
"powerpc64-linux"
|
|
|
|
"powerpc64le-linux"
|
|
|
|
"wasm32-wasi"
|
|
|
|
"riscv32-linux"
|
|
|
|
"riscv64-linux"
|
|
|
|
];
|
|
|
|
maxJobs = 16;
|
|
|
|
speedFactor = 1;
|
|
|
|
supportedFeatures = [
|
|
|
|
"kvm"
|
|
|
|
"nixos-test"
|
|
|
|
"big-parallel"
|
|
|
|
"benchmark"
|
2023-12-08 13:20:12 +00:00
|
|
|
"gccarch-skylake-avx512"
|
|
|
|
"gccarch-znver3"
|
2023-12-06 16:28:12 +00:00
|
|
|
"gccarch-znver2"
|
|
|
|
"gccarch-znver1"
|
|
|
|
"gccarch-skylake"
|
|
|
|
"ca-derivations"
|
|
|
|
];
|
|
|
|
}
|
|
|
|
])
|
2023-10-19 08:02:43 +00:00
|
|
|
(mkIf (config.networking.hostName != "vf2") [
|
|
|
|
{
|
|
|
|
hostName = "build-riscv";
|
|
|
|
systems = [
|
|
|
|
"riscv32-linux"
|
|
|
|
"riscv64-linux"
|
|
|
|
];
|
|
|
|
maxJobs = 4;
|
|
|
|
speedFactor = 2;
|
|
|
|
supportedFeatures = [
|
|
|
|
"nixos-test"
|
|
|
|
"big-parallel"
|
|
|
|
"benchmark"
|
|
|
|
"ca-derivations"
|
|
|
|
# There are many more combinations but i simply do not care lol
|
|
|
|
"gccarch-rv64gc_zba_zbb"
|
|
|
|
"gccarch-rv64gc_zba"
|
|
|
|
"gccarch-rv64gc_zbb"
|
|
|
|
"gccarch-rv64gc"
|
|
|
|
"gccarch-rv32gc_zba_zbb"
|
|
|
|
"gccarch-rv32gc_zba"
|
|
|
|
"gccarch-rv32gc_zbb"
|
|
|
|
"gccarch-rv32gc"
|
|
|
|
"native-riscv"
|
|
|
|
];
|
|
|
|
}
|
|
|
|
])
|
2023-05-21 17:32:58 +00:00
|
|
|
];
|
2022-02-08 09:48:37 +00:00
|
|
|
distributedBuilds = true;
|
2022-01-14 13:03:14 +00:00
|
|
|
};
|
2023-07-08 07:14:28 +00:00
|
|
|
systemd.services.nix-daemon.environment.TMPDIR = "/build";
|
2024-05-06 08:44:19 +00:00
|
|
|
system.autoUpgrade = {
|
|
|
|
enable = true;
|
|
|
|
flake = "github:DarkKirb/nixos-config";
|
|
|
|
flags = [
|
|
|
|
"--no-write-lock-file"
|
|
|
|
"-L" # print build logs
|
2023-11-10 08:19:08 +00:00
|
|
|
];
|
2024-05-06 08:44:19 +00:00
|
|
|
dates = "hourly";
|
|
|
|
randomizedDelaySec = "1h";
|
2022-01-14 13:07:01 +00:00
|
|
|
};
|
2022-01-14 13:03:14 +00:00
|
|
|
}
|