diff --git a/flake.lock b/flake.lock index 9264038..5c78185 100644 --- a/flake.lock +++ b/flake.lock @@ -225,6 +225,28 @@ "type": "github" } }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "hydra", + "nix-eval-jobs", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1719994518, + "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-registry": { "flake": false, "locked": { @@ -378,6 +400,26 @@ "type": "github" } }, + "hydra": { + "inputs": { + "lix": [ + "lix" + ], + "nix-eval-jobs": "nix-eval-jobs", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1721682989, + "narHash": "sha256-kjJiZ7m4HKqbZ2mxNQiB32/goKFb8BRi8OqC4wIU0OI=", + "rev": "4b107e6ff36bd89958fba36e0fe0340903e7cd13", + "type": "tarball", + "url": "https://git.lix.systems/api/v1/repos/lix-project/hydra/archive/4b107e6ff36bd89958fba36e0fe0340903e7cd13.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://git.lix.systems/lix-project/hydra/archive/main.tar.gz" + } + }, "impermanence": { "locked": { "lastModified": 1719091691, @@ -464,6 +506,34 @@ "url": "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz" } }, + "nix-eval-jobs": { + "inputs": { + "flake-parts": "flake-parts_2", + "lix": [ + "hydra", + "lix" + ], + "nix-github-actions": "nix-github-actions", + "nixpkgs": [ + "hydra", + "nixpkgs" + ], + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1721195872, + "narHash": "sha256-TlvRq634MSl22BWLmpTy2vdtKntbZlsUwdMq8Mp9AWs=", + "ref": "refs/heads/main", + "rev": "c057494450f2d1420726ddb0bab145a5ff4ddfdd", + "revCount": 608, + "type": "git", + "url": "https://git.lix.systems/lix-project/nix-eval-jobs" + }, + "original": { + "type": "git", + "url": "https://git.lix.systems/lix-project/nix-eval-jobs" + } + }, "nix-filter": { "locked": { "lastModified": 1710156097, @@ -480,6 +550,28 @@ "type": "github" } }, + "nix-github-actions": { + "inputs": { + "nixpkgs": [ + "hydra", + "nix-eval-jobs", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1720066371, + "narHash": "sha256-uPlLYH2S0ACj0IcgaK9Lsf4spmJoGejR9DotXiXSBZQ=", + "owner": "nix-community", + "repo": "nix-github-actions", + "rev": "622f829f5fe69310a866c8a6cd07e747c44ef820", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-github-actions", + "type": "github" + } + }, "nix-minecraft": { "inputs": { "flake-compat": [ @@ -548,6 +640,22 @@ } }, "nixpkgs": { + "locked": { + "lastModified": 1720691131, + "narHash": "sha256-CWT+KN8aTPyMIx8P303gsVxUnkinIz0a/Cmasz1jyIM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a046c1202e11b62cbede5385ba64908feb7bfac4", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { "locked": { "lastModified": 1722062969, "narHash": "sha256-QOS0ykELUmPbrrUGmegAUlpmUFznDQeR4q7rFhl8eQg=", @@ -672,6 +780,7 @@ "fork": "fork", "git-hooks": "git-hooks", "home-manager": "home-manager", + "hydra": "hydra", "impermanence": "impermanence", "latest": "latest", "lix": "lix", @@ -679,13 +788,13 @@ "nix-minecraft": "nix-minecraft", "nixos-hardware": "nixos-hardware", "nixos-wsl": "nixos-wsl", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "nixvim": "nixvim", "private": "private", "rust-overlay": "rust-overlay", "stable": "stable", "systems": "systems_2", - "treefmt-nix": "treefmt-nix", + "treefmt-nix": "treefmt-nix_2", "universe-cli": "universe-cli" } }, @@ -773,6 +882,28 @@ } }, "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "hydra", + "nix-eval-jobs", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1721059077, + "narHash": "sha256-gCICMMX7VMSKKt99giDDtRLkHJ0cwSgBtDijJAqTlto=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "0fb28f237f83295b4dd05e342f333b447c097398", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "treefmt-nix_2": { "inputs": { "nixpkgs": [ "nixpkgs" diff --git a/flake.nix b/flake.nix index 3ab279f..c716ac1 100644 --- a/flake.nix +++ b/flake.nix @@ -30,6 +30,8 @@ lix-module.url = "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz"; lix-module.inputs.nixpkgs.follows = "nixpkgs"; lix-module.inputs.lix.follows = "lix"; + hydra.url = "https://git.lix.systems/lix-project/hydra/archive/main.tar.gz"; + hydra.inputs.lix.follows = "lix"; ## Minecraft nix-minecraft.url = "github:Infinidoge/nix-minecraft"; @@ -179,6 +181,7 @@ # --- Domain-Specific Modules --- inputs.lix-module.nixosModules.default + inputs.hydra.nixosModules.overlayNixpkgsForThisHydra inputs.nix-minecraft.nixosModules.minecraft-servers ] ++ (self.lib.leaves ./modules); }) diff --git a/modules/vendored/hydra.nix b/modules/vendored/hydra.nix index 0450a85..bf0adff 100644 --- a/modules/vendored/hydra.nix +++ b/modules/vendored/hydra.nix @@ -320,7 +320,7 @@ in { keep-outputs = true; keep-derivations = true; - trusted-users = [ "hydra-queue-runner" ]; + extra-trusted-users = [ "hydra" "hydra-queue-runner" "hydra-www" ]; } (mkIf (versionOlder (getVersion config.nix.package.out) "2.4pre") { @@ -418,6 +418,7 @@ in systemd.services.hydra-queue-runner = { wantedBy = [ "multi-user.target" ]; requires = [ "hydra-init.service" ]; + wants = [ "network-online.target" ]; after = [ "hydra-init.service" "network.target" ]; path = [ hydra-package pkgs.nettools pkgs.openssh pkgs.bzip2 config.nix.package ]; restartTriggers = [ hydraConf ]; diff --git a/overlays/patches/hydra-force-allow-import-from-derivation.patch b/overlays/patches/hydra-force-allow-import-from-derivation.patch index 70bd690..d42c105 100644 --- a/overlays/patches/hydra-force-allow-import-from-derivation.patch +++ b/overlays/patches/hydra-force-allow-import-from-derivation.patch @@ -1,6 +1,6 @@ -From 800c20af32526d650645f1ded7d2d0f576b61e25 Mon Sep 17 00:00:00 2001 +From 36229ee2c47d0d5f03e5a1ef28d70cd66d878907 Mon Sep 17 00:00:00 2001 From: Infinidoge -Date: Tue, 21 May 2024 01:19:15 -0400 +Date: Sat, 27 Jul 2024 19:26:47 -0400 Subject: [PATCH] force allow import from derivation --- @@ -8,18 +8,18 @@ Subject: [PATCH] force allow import from derivation 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/script/hydra-eval-jobset b/src/script/hydra-eval-jobset -index 72a386f5..208d182b 100755 +index a03ed6dd..64b48fe2 100755 --- a/src/script/hydra-eval-jobset +++ b/src/script/hydra-eval-jobset @@ -372,7 +372,7 @@ sub evalJobs { - inputsToArgs($inputInfo)); - } + push @cmd, ("--max-jobs", 1); + push @cmd, "--meta"; + push @cmd, "--force-recurse"; +- push @cmd, ("--option", "allow-import-from-derivation", "false") if $config->{allow_import_from_derivation} // "true" ne "true"; ++ push @cmd, ("--option", "allow-import-from-derivation", "true"); + push @cmd, ("--workers", $config->{evaluator_workers} // 1); + push @cmd, ("--max-memory-size", $config->{evaluator_max_memory_size} // 4096); -- push @cmd, "--no-allow-import-from-derivation" if $config->{allow_import_from_derivation} // "true" ne "true"; -+ push @cmd, "--allow-import-from-derivation"; - - if (defined $ENV{'HYDRA_DEBUG'}) { - sub escape { -- -2.44.0 +2.45.2