diff --git a/.gitignore b/.gitignore
index 799db665..f8bf5718 100644
--- a/.gitignore
+++ b/.gitignore
@@ -38,6 +38,7 @@ t/jobs/declarative/project.json
hydra-config.h
hydra-config.h.in
result
+result-*
outputs
config
stamp-h1
diff --git a/Makefile.am b/Makefile.am
index 9e06ebdb..a28e3f33 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -5,8 +5,8 @@ endif
BOOTCLEAN_SUBDIRS = $(SUBDIRS)
DIST_SUBDIRS = $(SUBDIRS)
-EXTRA_DIST = hydra-module.nix
+EXTRA_DIST = nixos-modules/hydra.nix
-install-data-local: hydra-module.nix
+install-data-local: nixos-modules/hydra.nix
$(INSTALL) -d $(DESTDIR)$(datadir)/nix
- $(INSTALL_DATA) hydra-module.nix $(DESTDIR)$(datadir)/nix/
+ $(INSTALL_DATA) nixos-modules/hydra.nix $(DESTDIR)$(datadir)/nix/hydra-module.nix
diff --git a/flake.nix b/flake.nix
index 71fd6c6d..30aa61c0 100644
--- a/flake.nix
+++ b/flake.nix
@@ -15,9 +15,11 @@
systems = [ "x86_64-linux" "aarch64-linux" ];
forEachSystem = nixpkgs.lib.genAttrs systems;
+ overlayList = [ self.overlays.default nix.overlays.default ];
+
pkgsBySystem = forEachSystem (system: import nixpkgs {
inherit system;
- overlays = [ self.overlays.default nix.overlays.default ];
+ overlays = overlayList;
});
# NixOS configuration used for VM tests.
@@ -386,50 +388,8 @@
default = pkgsBySystem.${system}.hydra;
});
- nixosModules.hydra = {
- imports = [ ./hydra-module.nix ];
- nixpkgs.overlays = [ self.overlays.default nix.overlays.default ];
- };
-
- nixosModules.hydraTest = { pkgs, ... }: {
- imports = [ self.nixosModules.hydra ];
-
- services.hydra-dev.enable = true;
- services.hydra-dev.hydraURL = "http://hydra.example.org";
- services.hydra-dev.notificationSender = "admin@hydra.example.org";
-
- systemd.services.hydra-send-stats.enable = false;
-
- services.postgresql.enable = true;
- services.postgresql.package = pkgs.postgresql_11;
-
- # The following is to work around the following error from hydra-server:
- # [error] Caught exception in engine "Cannot determine local time zone"
- time.timeZone = "UTC";
-
- nix.extraOptions = ''
- allowed-uris = https://github.com/
- '';
- };
-
- nixosModules.hydraProxy = {
- services.httpd = {
- enable = true;
- adminAddr = "hydra-admin@example.org";
- extraConfig = ''
-
- Order deny,allow
- Allow from all
-
-
- ProxyRequests Off
- ProxyPreserveHost On
- ProxyPass /apache-errors !
- ErrorDocument 503 /apache-errors/503.html
- ProxyPass / http://127.0.0.1:3000/ retry=5 disablereuse=on
- ProxyPassReverse / http://127.0.0.1:3000/
- '';
- };
+ nixosModules = import ./nixos-modules {
+ overlays = overlayList;
};
nixosConfigurations.container = nixpkgs.lib.nixosSystem {
diff --git a/nixos-modules/default.nix b/nixos-modules/default.nix
new file mode 100644
index 00000000..6fc19d31
--- /dev/null
+++ b/nixos-modules/default.nix
@@ -0,0 +1,49 @@
+{ overlays }:
+
+rec {
+ hydra = {
+ imports = [ ./hydra.nix ];
+ nixpkgs = { inherit overlays; };
+ };
+
+ hydraTest = { pkgs, ... }: {
+ imports = [ hydra ];
+
+ services.hydra-dev.enable = true;
+ services.hydra-dev.hydraURL = "http://hydra.example.org";
+ services.hydra-dev.notificationSender = "admin@hydra.example.org";
+
+ systemd.services.hydra-send-stats.enable = false;
+
+ services.postgresql.enable = true;
+ services.postgresql.package = pkgs.postgresql_11;
+
+ # The following is to work around the following error from hydra-server:
+ # [error] Caught exception in engine "Cannot determine local time zone"
+ time.timeZone = "UTC";
+
+ nix.extraOptions = ''
+ allowed-uris = https://github.com/
+ '';
+ };
+
+ hydraProxy = {
+ services.httpd = {
+ enable = true;
+ adminAddr = "hydra-admin@example.org";
+ extraConfig = ''
+
+ Order deny,allow
+ Allow from all
+
+
+ ProxyRequests Off
+ ProxyPreserveHost On
+ ProxyPass /apache-errors !
+ ErrorDocument 503 /apache-errors/503.html
+ ProxyPass / http://127.0.0.1:3000/ retry=5 disablereuse=on
+ ProxyPassReverse / http://127.0.0.1:3000/
+ '';
+ };
+ };
+}
diff --git a/hydra-module.nix b/nixos-modules/hydra.nix
similarity index 100%
rename from hydra-module.nix
rename to nixos-modules/hydra.nix
diff --git a/package.nix b/package.nix
index 73ef9b3f..d5e6bb69 100644
--- a/package.nix
+++ b/package.nix
@@ -143,7 +143,7 @@ stdenv.mkDerivation (finalAttrs: {
./Makefile.am
./src
./doc
- ./hydra-module.nix
+ ./nixos-modules/hydra.nix
# These are always needed to appease Automake
./t/Makefile.am
./t/jobs/config.nix.in