diff --git a/config/profiles/builder.nix b/config/profiles/builder.nix index 8e81522..6cbc427 100644 --- a/config/profiles/builder.nix +++ b/config/profiles/builder.nix @@ -7,7 +7,7 @@ nix.extraOptions = '' min-free = ${builtins.toString (16384 * 1024 * 1024)} max-free = ${builtins.toString (32768 * 1024 * 1024)} - max-substitution-jobs = 20 + max-substitution-jobs = 30 max-silent-time = 14400 ''; nix.sshServe = { diff --git a/config/services/hydra/default.nix b/config/services/hydra/default.nix index 404be76..e3cea02 100644 --- a/config/services/hydra/default.nix +++ b/config/services/hydra/default.nix @@ -43,6 +43,11 @@ }; }; + systemd.services.hydra-evaluator.serviceConfig = { + MemoryHigh = "250G"; + MemoryMax = "254G"; + }; + kyouma.nginx.defaultForbidden = "hydra.kyouma.net"; kyouma.nginx.virtualHosts = { "hydra.kyouma.net".locations."/".proxyPass = "http://localhost:3000"; diff --git a/config/services/hydra/nix-config.nix b/config/services/hydra/nix-config.nix index 18bfc0e..6359fc5 100644 --- a/config/services/hydra/nix-config.nix +++ b/config/services/hydra/nix-config.nix @@ -1,12 +1,14 @@ { config, lib, ... }: { - nix.buildMachines = [ + nix.buildMachines = let + base = [ "nixos-test" "benchmark" "big-parallel" "kvm" ]; + in [ { hostName = "localhost"; protocol = null; maxJobs = 0; speedFactor = 0; systems = [ "x86_64-linux" ]; - supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ]; + supportedFeatures = base; } { hostName = "integra.kyouma.net"; @@ -14,20 +16,20 @@ maxJobs = 2; speedFactor = 4; systems = [ "aarch64-linux" ]; - supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ]; + supportedFeatures = base; sshKey = config.sops.secrets."services/hydra/id_ed25519_hydra".path; } { - hostName = "build-worker-04.nyantec.com"; - sshUser = "nix-ssh"; - maxJobs = 4; - speedFactor = 18; - systems = [ "x86_64-linux" "riscv64-linux" ]; - supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" "gccarch-x86-64" "gccarch-x86-64-v2" "gccarch-x86-64-v3" ]; + hostName = "schrodinger.kyouma.net"; + sshUser = "root"; + maxJobs = 2; + speedFactor = 20; + systems = [ "riscv64-linux" ]; + supportedFeatures = base ++ [ "gccarch-rv64imac" "gccarch-rv64imacfd" ]; sshKey = config.sops.secrets."services/hydra/id_ed25519_hydra".path; } - ] ++ lib.forEach [ "01" "02" "03" "05" "06" "07" "08" "09" ] (num: { - hostName = "build-worker-${num}"; + ] ++ lib.forEach (lib.genList (i: i + 1) 8) (num: { + hostName = "build-worker-0${toString num}"; sshUser = "root"; maxJobs = 2; speedFactor = 20; @@ -35,6 +37,8 @@ supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "gccarch-x86-64" "gccarch-x86-64-v2" "gccarch-x86-64-v3" ]; sshKey = config.sops.secrets."services/hydra/id_ed25519_hydra".path; }); + nix.distributedBuilds = true; + nixpkgs.config.allowUnsupportedSystem = true; nix.gc.options = lib.mkForce "--delete-older-than 90d"; nix.settings = { allowed-uris = [ @@ -49,6 +53,7 @@ "build-worker-03.nyantec.com".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEGqTY74c5g15DSNPNM2Wdr5jAwS7BFgX1XRnhtGOnJc"; "build-worker-04.nyantec.com".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICOq+5I+nlAN2lJoOtoXrYEDuZ/TMPMa43pIlablYigK"; "integra.kyouma.net".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIBwEQiSfaDrUAwgul4mktusBPcIVxI4pLNDh9DPopVU"; + "schrodinger.kyouma.net".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKo7vZ6lS1wx76YsbAdhOsGcc20YMAW52ep8SZ/FCHDp"; "localhost".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPNVavo3YHVsrYwXRVISu7kDoknn+5inFGySn4azlB8P"; "[build-worker-kyoumanet.fly.dev]:2201".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDL2M97UBHg9aUfjDUxzmzg1r0ga0m3/stummBVwuEAB"; "[build-worker-kyoumanet.fly.dev]:2202".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOTwVKL0P0chPM2Gz23rbT94844+w1CGJdCaZdzfjThz"; @@ -59,31 +64,10 @@ "[build-worker-kyoumanet.fly.dev]:2207".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL9z95a6Fn/dB+iNigEYpuJdBnBwCkIZYaKHcFbGP+RY"; "[build-worker-kyoumanet.fly.dev]:2208".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAk+FNMhTfAVqk3MfLp4QiG/i5ti53DlpnC0q+sOvU9O"; }; - extraConfig = '' - Host build-worker-01 + extraConfig = lib.concatLines (lib.genList (i: '' + Host build-worker-0${toString (i + 1)} Hostname build-worker-kyoumanet.fly.dev - Port 2201 - Host build-worker-02 - Hostname build-worker-kyoumanet.fly.dev - Port 2202 - Host build-worker-03 - Hostname build-worker-kyoumanet.fly.dev - Port 2203 - Host build-worker-05 - Hostname build-worker-kyoumanet.fly.dev - Port 2204 - Host build-worker-06 - Hostname build-worker-kyoumanet.fly.dev - Port 2205 - Host build-worker-07 - Hostname build-worker-kyoumanet.fly.dev - Port 2206 - Host build-worker-08 - Hostname build-worker-kyoumanet.fly.dev - Port 2207 - Host build-worker-09 - Hostname build-worker-kyoumanet.fly.dev - Port 2208 - ''; + Port 220${toString (i + 1)} + '') 8); }; } diff --git a/modules/graphical/default.nix b/modules/graphical/default.nix index 516e2f0..388aa65 100644 --- a/modules/graphical/default.nix +++ b/modules/graphical/default.nix @@ -162,7 +162,7 @@ in { style.package = with pkgs; [ libsForQt5.qtstyleplugin-kvantum qt6Packages.qtstyleplugin-kvantum - (catppuccin-kvantum.override { accent = "Mauve"; variant = "Macchiato"; }) + (catppuccin-kvantum.override { accent = "mauve"; variant = "macchiato"; }) ]; }; gtk.iconTheme.name = "Adwaita";