diff --git a/modules/services/default.nix b/modules/services/default.nix index b77947c..847b79d 100644 --- a/modules/services/default.nix +++ b/modules/services/default.nix @@ -2,8 +2,42 @@ { services.getty.autologinUser = "root"; + services.hydra = { + enable = true; + hydraURL = "http://hydra.riscv.tunstall.xyz/"; + notificationSender = "unused@localhost"; + extraConfig = '' + # NixOS Hydra bans IFD therefore so shall we + allow_import_from_derivation = false + + # Limit the evaluator memory usage a bit + evaluator_workers = 2 + evaluator_max_memory_size = 2048 + max_concurrent_evals = 1 + + # The default Git timeout (600) is too low to fetch Nixpkgs + + timeout = 86400 + + ''; + }; + + services.nginx = { + enable = true; + recommendedGzipSettings = true; + recommendedOptimisation = true; + recommendedProxySettings = true; + recommendedTlsSettings = true; + + virtualHosts."hydra.riscv.tunstall.xyz" = { + locations."/".proxyPass = "http://localhost:3000/"; + }; + }; + services.openssh = { enable = true; settings.PermitRootLogin = "yes"; }; + + networking.firewall.allowedTCPPorts = [ 80 ]; } diff --git a/overlays/riscv-fixes.nix b/overlays/riscv-fixes.nix index 1f2605f..fc17198 100644 --- a/overlays/riscv-fixes.nix +++ b/overlays/riscv-fixes.nix @@ -16,6 +16,17 @@ in { NIX_CFLAGS_COMPILE = "${NIX_CFLAGS_COMPILE} -Wno-error=cast-align"; }); + folly = super.folly.overrideAttrs ({ meta ? {}, ... }: { + meta = meta // { + platforms = (meta.platforms or []) ++ [ "riscv64-linux" ]; + }; + }); + + gbenchmark = dontCheck super.gbenchmark; + + # The default gn does not recognise RISC-V + gn = self.gn1924; + haskell = super.haskell // { packages = super.haskell.packages // { ghc964 = super.haskell.packages.ghc964.override { @@ -27,7 +38,10 @@ in { }; }; + hydra_unstable = dontCheck super.hydra_unstable; + libbsd = dontCheck super.libbsd; + libopus = dontCheck super.libopus; libuv = dontCheck super.libuv; # Fails in ./configure when LuaJIT isn't available @@ -38,12 +52,24 @@ in { ''; }); + perlPackages = super.perlPackages.overrideScope (plSelf: plSuper: { + Test2Harness = dontCheck plSuper.Test2Harness; + UUID4Tiny = dontCheck plSuper.UUID4Tiny; + }); + pixman = dontCheck super.pixman; protobuf = dontCheck super.protobuf; pythonPackagesExtensions = super.pythonPackagesExtensions ++ [ (pySelf: pySuper: { + executing = pyDontCheck pySuper.executing; + httplib2 = pyDontCheck pySuper.httplib2; + hypothesis = pyDontCheck pySuper.hypothesis; + numpy = pyDontCheck pySuper.numpy; + paramiko = pyDontCheck pySuper.paramiko; + sh = pyDontCheck pySuper.sh; sphinx = pyDontCheck pySuper.sphinx; + tornado = pyDontCheck pySuper.tornado; }) ]; }