summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2017-04-17 16:06:27 +0200
committermakefu <github@syntax-fehler.de>2017-04-17 16:06:27 +0200
commitfdefa2b20cfa2037fc866ac68fb53b668bb60a17 (patch)
treefe2ea8d366b5761c2523d7091774a630f0bd74e9
parent35c7e1c37545dd96c90d54191ba835eb0ceeac8e (diff)
parent9cb758c1cbabdfc8f186d78d52992510766f934e (diff)
Merge remote-tracking branch 'tv/master'
-rw-r--r--shared/1systems/wolf.nix12
-rw-r--r--shared/2configs/shack-drivedroid.nix55
-rw-r--r--shared/2configs/shack-nix-cacher.nix37
-rw-r--r--tv/2configs/default.nix2
4 files changed, 56 insertions, 50 deletions
diff --git a/shared/1systems/wolf.nix b/shared/1systems/wolf.nix
index 722a08812..0b4448022 100644
--- a/shared/1systems/wolf.nix
+++ b/shared/1systems/wolf.nix
@@ -1,20 +1,18 @@
-{ config, lib, pkgs, ... }:
-
+{ config, pkgs, ... }:
let
shack-ip = config.krebs.build.host.nets.shack.ip4.addr;
- internal-ip = config.krebs.build.host.nets.retiolum.ip4.addr;
in
{
imports = [
../.
<nixpkgs/nixos/modules/profiles/qemu-guest.nix>
+ ../2configs/cgit-mirror.nix
../2configs/collectd-base.nix
- ../2configs/shack-nix-cacher.nix
+ ../2configs/graphite.nix
+ ../2configs/repo-sync.nix
../2configs/shack-drivedroid.nix
+ ../2configs/shack-nix-cacher.nix
../2configs/shared-buildbot.nix
- ../2configs/cgit-mirror.nix
- ../2configs/repo-sync.nix
- ../2configs/graphite.nix
../2configs/share-shack.nix
];
# use your own binary cache, fallback use cache.nixos.org (which is used by
diff --git a/shared/2configs/shack-drivedroid.nix b/shared/2configs/shack-drivedroid.nix
index 3581f9e96..12e4a39c3 100644
--- a/shared/2configs/shack-drivedroid.nix
+++ b/shared/2configs/shack-drivedroid.nix
@@ -1,44 +1,49 @@
-{ pkgs, lib, config, ... }:
+{ config, pkgs, ... }:
with import <stockholm/lib>;
let
- repodir = "/var/srv/drivedroid";
- srepodir = shell.escape repodir;
+ root = "/var/srv/drivedroid";
in
{
environment.systemPackages = [ pkgs.drivedroid-gen-repo ];
- systemd.services.drivedroid = {
+ services.nginx = {
+ enable = mkDefault true;
+ virtualHosts.shack-drivedroid = {
+ serverAliases = [
+ "drivedroid.shack"
+ ];
+ # TODO: prepare this somehow
+ locations."/".extraConfig = ''
+ root ${root};
+ index main.json;
+ '';
+ };
+ };
+
+ systemd.services.drivedroid-gen-repo = {
description = "generates drivedroid repo file";
- restartIfChanged = true;
+ path = [
+ pkgs.coreutils
+ pkgs.drivedroid-gen-repo
+ pkgs.inotify-tools
+ ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "simple";
Restart = "always";
- ExecStartPre = pkgs.writeScript "prepare-drivedroid-gen-repo" ''
- #!/bin/sh
- mkdir -p ${srepodir}/repos
+ ExecStartPre = pkgs.writeDash "prepare-drivedroid-gen-repo" ''
+ mkdir -p ${root}/repos
'';
- ExecStart = pkgs.writeScript "start-drivedroid-gen-repo" ''
- #!/bin/sh
+ ExecStart = pkgs.writeDash "start-drivedroid-gen-repo" ''
+ set -efu
+ cd ${root}
while sleep 60; do
- ${pkgs.inotify-tools}/bin/inotifywait -r ${srepodir} && ${pkgs.drivedroid-gen-repo}/bin/drivedroid-gen-repo --chdir "${srepodir}" repos/ > "${srepodir}/main.json"
+ if inotifywait -r .; then
+ drivedroid-gen-repo repos > main.json
+ fi
done
'';
};
};
-
- krebs.nginx = {
- enable = lib.mkDefault true;
- servers = {
- drivedroid-repo = {
- server-names = [ "drivedroid.shack" ];
- # TODO: prepare this somehow
- locations = lib.singleton (lib.nameValuePair "/" ''
- root ${repodir};
- index main.json;
- '');
- };
- };
- };
}
diff --git a/shared/2configs/shack-nix-cacher.nix b/shared/2configs/shack-nix-cacher.nix
index 7519bb3ac..4fcbf3a4e 100644
--- a/shared/2configs/shack-nix-cacher.nix
+++ b/shared/2configs/shack-nix-cacher.nix
@@ -1,25 +1,28 @@
-{ pkgs, lib, ... }:
-
+{ config, pkgs, ... }:
+with import <stockholm/lib>;
+let
+ cfg = config.krebs.apt-cacher-ng;
+in
{
- krebs.nginx = {
- enable = lib.mkDefault true;
- servers = {
- apt-cacher-ng = {
- server-names = [ "acng.shack" ];
- locations = lib.singleton (lib.nameValuePair "/" ''
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_pass http://localhost:3142/;
- '');
- };
- };
- };
-
krebs.apt-cacher-ng = {
enable = true;
port = 3142;
bindAddress = "localhost";
cacheExpiration = 30;
};
+
+ services.nginx = {
+ enable = mkDefault true;
+ virtualHosts.shack-nix-cacher = {
+ serverAliases = [
+ "acng.shack"
+ ];
+ locations."/".extraConfig = ''
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_pass http://localhost:${toString cfg.port}/;
+ '';
+ };
+ };
}
diff --git a/tv/2configs/default.nix b/tv/2configs/default.nix
index cbbd5c439..ede73f4e5 100644
--- a/tv/2configs/default.nix
+++ b/tv/2configs/default.nix
@@ -14,7 +14,7 @@ with import <stockholm/lib>;
stockholm.file = "/home/tv/stockholm";
nixpkgs.git = {
url = https://github.com/NixOS/nixpkgs;
- ref = "5acb454e2ad3e3783e63b86a9a31e800d2507e66"; # nixos-17.03
+ ref = "b647a67dfee066b75d2f54b789f7646016662071"; # nixos-17.03
};
} // optionalAttrs host.secure {
secrets-master.file = "/home/tv/secrets/master";