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/flake.lock b/flake.lock index fbd5f57..11f30f8 100644 --- a/flake.lock +++ b/flake.lock @@ -155,11 +155,11 @@ ] }, "locked": { - "lastModified": 1729588208, - "narHash": "sha256-PNONdMd+sG7JWzNIDerX7oVZXL8FTVlSAZ1BmUo2HjE=", + "lastModified": 1729712798, + "narHash": "sha256-a+Aakkb+amHw4biOZ0iMo8xYl37uUL48YEXIC5PYJ/8=", "owner": "nix-community", "repo": "disko", - "rev": "4be2aadf13b67ffbb993deb73adff77c46b728fc", + "rev": "09a776702b004fdf9c41a024e1299d575ee18a7d", "type": "github" }, "original": { @@ -745,11 +745,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1729624485, - "narHash": "sha256-iEffyT68tEU5kHQuyP05QRH+JhWNNLAwHfgZAzXFS7o=", + "lastModified": 1729690929, + "narHash": "sha256-cTSekmupaDfrhlpLhBUBrU9mUzBaD6mYsMveTX0bKDg=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "22e8de2729f40d29a445c8baeaf22740b8b25daf", + "rev": "64d900abe40057393148bc0283d35c2254dd4f57", "type": "github" }, "original": { @@ -907,11 +907,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1729602958, - "narHash": "sha256-eKGQKlj1oShfR6uqE1RjB4CgQ3DBrMS4VPrGPDKq1J4=", + "lastModified": 1729699620, + "narHash": "sha256-f6S8JX5w9bPLMbaqR5dM5koybZntdSFfKyfq/LQU7rs=", "owner": "nix-community", "repo": "nixvim", - "rev": "b076f006c6b0cc6644a651bd21d4449cc3e7e56d", + "rev": "029eafd70d6e28919a9ec01a94a46b51c4ccff40", "type": "github" }, "original": { @@ -987,11 +987,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1729587807, - "narHash": "sha256-YOc4033a/j1TbdLfkaSOSX2SrvlmuM+enIFoveNTCz4=", + "lastModified": 1729695320, + "narHash": "sha256-Fm4cGAlaDwekQvYX0e6t0VjT6YJs3fRXtkyuE4/NzzU=", "owner": "Mic92", "repo": "sops-nix", - "rev": "26642e8f193f547e72d38cd4c0c4e45b49236d27", + "rev": "d089e742fb79259b9c4dd9f18e9de1dd4fa3c1ec", "type": "github" }, "original": { 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";