From 709ebf6bbcc2e0d4644ed35cd42db47c4f2e78c5 Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 23 Oct 2015 15:31:31 +0200 Subject: [PATCH 01/56] krebs 3 zone-generation: for consistency, add newline at the end --- krebs/3modules/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/krebs/3modules/default.nix b/krebs/3modules/default.nix index 075db1826..bc858f668 100644 --- a/krebs/3modules/default.nix +++ b/krebs/3modules/default.nix @@ -105,8 +105,8 @@ let # Implements environment.etc."zones/" environment.etc = let - stripEmptyLines = s: concatStringsSep "\n" - (remove "\n" (remove "" (splitString "\n" s))); + stripEmptyLines = s: (concatStringsSep "\n" + (remove "\n" (remove "" (splitString "\n" s)))) + "\n"; all-zones = foldAttrs (sum: current: sum + "\n" +current ) "" ([cfg.zone-head-config] ++ combined-hosts); combined-hosts = (mapAttrsToList (name: value: value.extraZones) cfg.hosts ); From 1f943991347be375cb29f764628999c184c064f9 Mon Sep 17 00:00:00 2001 From: lassulus Date: Fri, 23 Oct 2015 16:36:05 +0200 Subject: [PATCH 02/56] l 2 git: add kimsufi-check & realwallpaper --- lass/2configs/git.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lass/2configs/git.nix b/lass/2configs/git.nix index 2164b2e33..7e8fc03c7 100644 --- a/lass/2configs/git.nix +++ b/lass/2configs/git.nix @@ -33,6 +33,8 @@ let web-routes-wai-custom = {}; go = {}; newsbot-js = {}; + kimsufi-check = {}; + realwallpaper = {}; }; restricted-repos = mapAttrs make-restricted-repo ( From beca36faf241f610b05379295801a102c696273d Mon Sep 17 00:00:00 2001 From: lassulus Date: Fri, 23 Oct 2015 16:37:25 +0200 Subject: [PATCH 03/56] lass 2 base: nixpkgs rev 33bdc01 -> 0da65a5 --- lass/2configs/base.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/2configs/base.nix b/lass/2configs/base.nix index 6fa9c5b2d..c4c817ab6 100644 --- a/lass/2configs/base.nix +++ b/lass/2configs/base.nix @@ -50,7 +50,7 @@ with lib; source = { git.nixpkgs = { url = https://github.com/Lassulus/nixpkgs; - rev = "33bdc011f5360288cd10b9fda90da2950442b2ab"; + rev = "0da65a5324b1e25d323f982bb0ef2c7fcab9f057"; }; dir.secrets = { host = config.krebs.hosts.mors; From e6d08eeeb6e7737e8a2594efd579d40525fb21dc Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 24 Oct 2015 16:04:22 +0200 Subject: [PATCH 04/56] l 2 base: nixpkgs rev 0da65a5 -> 763ad33 --- lass/2configs/base.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/2configs/base.nix b/lass/2configs/base.nix index c4c817ab6..0685a85dc 100644 --- a/lass/2configs/base.nix +++ b/lass/2configs/base.nix @@ -50,7 +50,7 @@ with lib; source = { git.nixpkgs = { url = https://github.com/Lassulus/nixpkgs; - rev = "0da65a5324b1e25d323f982bb0ef2c7fcab9f057"; + rev = "763ad3372a9719f1187d800edbbb21a82180b143"; }; dir.secrets = { host = config.krebs.hosts.mors; From cca25c7b66c44e0ec826d466bd48f2463df03fe9 Mon Sep 17 00:00:00 2001 From: makefu Date: Sun, 25 Oct 2015 18:06:46 +0100 Subject: [PATCH 05/56] wry: listen for graphs.retiolum --- krebs/3modules/makefu/default.nix | 1 + makefu/1systems/wry.nix | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/krebs/3modules/makefu/default.nix b/krebs/3modules/makefu/default.nix index d328033cc..e36a083f2 100644 --- a/krebs/3modules/makefu/default.nix +++ b/krebs/3modules/makefu/default.nix @@ -185,6 +185,7 @@ with lib; addrs6 = ["42:6e1e:cc8a:7cef:827:f938:8c64:baad"]; aliases = [ "graphs.wry.retiolum" + "graphs.retiolum" "paste.wry.retiolum" "paste.retiolum" "wry.retiolum" diff --git a/makefu/1systems/wry.nix b/makefu/1systems/wry.nix index 6627d87b5..3baf31dc5 100644 --- a/makefu/1systems/wry.nix +++ b/makefu/1systems/wry.nix @@ -47,7 +47,7 @@ in { # TODO: remove hard-coded hostname complete = { listen = [ "${internal-ip}:80" ]; - server-names = [ "graphs.wry" ]; + server-names = [ "graphs.wry" "graphs.retiolum" "graphs.wry.retiolum" ]; }; anonymous = { listen = [ "${external-ip}:80" ] ; From 15b90300e045c3c09fb010552daf68ac226db5b8 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 25 Oct 2015 21:02:33 +0100 Subject: [PATCH 06/56] m 2 bepasty-server: fix indent --- makefu/2configs/bepasty-dual.nix | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/makefu/2configs/bepasty-dual.nix b/makefu/2configs/bepasty-dual.nix index fb170957a..fb90f4c9f 100644 --- a/makefu/2configs/bepasty-dual.nix +++ b/makefu/2configs/bepasty-dual.nix @@ -31,17 +31,17 @@ with lib; nginx = { server-names = [ "paste.krebsco.de" ]; extraConfig = '' - ssl_session_cache shared:SSL:1m; - ssl_session_timeout 10m; - ssl_certificate /root/secrets/wildcard.krebsco.de.crt; - ssl_certificate_key /root/secrets/wildcard.krebsco.de.key; - ssl_verify_client off; - proxy_ssl_session_reuse off; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers RC4:HIGH:!aNULL:!MD5; - ssl_prefer_server_ciphers on; - if ($scheme = http){ - return 301 https://$server_name$request_uri; + ssl_session_cache shared:SSL:1m; + ssl_session_timeout 10m; + ssl_certificate /root/secrets/wildcard.krebsco.de.crt; + ssl_certificate_key /root/secrets/wildcard.krebsco.de.key; + ssl_verify_client off; + proxy_ssl_session_reuse off; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers RC4:HIGH:!aNULL:!MD5; + ssl_prefer_server_ciphers on; + if ($scheme = http){ + return 301 https://$server_name$request_uri; }''; }; defaultPermissions = "read"; From ace11d79badafce313b17c968701739513e95982 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 25 Oct 2015 21:13:45 +0100 Subject: [PATCH 07/56] l 2 base: nixpkgs 763ad33 -> 6d31e9b --- lass/2configs/base.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/2configs/base.nix b/lass/2configs/base.nix index 0685a85dc..fe6aa8361 100644 --- a/lass/2configs/base.nix +++ b/lass/2configs/base.nix @@ -50,7 +50,7 @@ with lib; source = { git.nixpkgs = { url = https://github.com/Lassulus/nixpkgs; - rev = "763ad3372a9719f1187d800edbbb21a82180b143"; + rev = "6d31e9b81dcd4ab927bb3dc91b612dd5abfa2f80"; }; dir.secrets = { host = config.krebs.hosts.mors; From 642583145200f5a2cb8be1b38707e2b2ea3dc3e5 Mon Sep 17 00:00:00 2001 From: makefu Date: Sun, 25 Oct 2015 21:54:59 +0100 Subject: [PATCH 08/56] k 3 tinc_graphs: is now completely self-contained --- krebs/3modules/tinc_graphs.nix | 7 +++++-- {makefu => krebs}/5pkgs/tinc_graphs/default.nix | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) rename {makefu => krebs}/5pkgs/tinc_graphs/default.nix (89%) diff --git a/krebs/3modules/tinc_graphs.nix b/krebs/3modules/tinc_graphs.nix index a6c628353..e415d20ab 100644 --- a/krebs/3modules/tinc_graphs.nix +++ b/krebs/3modules/tinc_graphs.nix @@ -95,8 +95,12 @@ let ExecStartPre = pkgs.writeScript "tinc_graphs-init" '' #!/bin/sh + mkdir -p "${internal_dir}" "${external_dir}" if ! test -e "${cfg.workingDir}/internal/index.html"; then - cp -fr "$(${pkgs.tinc_graphs}/bin/tincstats-static-dir)/internal/" "${internal_dir}" + cp -fr "$(${pkgs.tinc_graphs}/bin/tincstats-static-dir)/internal/." "${internal_dir}" + fi + if ! test -e "${cfg.workingDir}/external/index.html"; then + cp -fr "$(${pkgs.tinc_graphs}/bin/tincstats-static-dir)/external/." "${external_dir}" fi ''; @@ -118,7 +122,6 @@ let users.extraUsers.tinc_graphs = { uid = 3925439960; #genid tinc_graphs home = "/var/spool/tinc_graphs"; - createHome = true; }; krebs.nginx.servers = mkIf cfg.nginx.enable { diff --git a/makefu/5pkgs/tinc_graphs/default.nix b/krebs/5pkgs/tinc_graphs/default.nix similarity index 89% rename from makefu/5pkgs/tinc_graphs/default.nix rename to krebs/5pkgs/tinc_graphs/default.nix index 62a787d30..3040cabe8 100644 --- a/makefu/5pkgs/tinc_graphs/default.nix +++ b/krebs/5pkgs/tinc_graphs/default.nix @@ -2,14 +2,14 @@ python3Packages.buildPythonPackage rec { name = "tinc_graphs-${version}"; - version = "0.3.6"; + version = "0.3.8"; propagatedBuildInputs = with pkgs;[ python3Packages.pygeoip ## ${geolite-legacy}/share/GeoIP/GeoIPCity.dat ]; src = fetchurl { url = "https://pypi.python.org/packages/source/t/tinc_graphs/tinc_graphs-${version}.tar.gz"; - sha256 = "0ghdx9aaipmppvc2b6cgks4nxw6zsb0fhjrmnisbx7rz0vjvzc74"; + sha256 = "0jc014ipx9pbx5dwi9s5n921c2c26m5vvzrvpjmca550gpdqd5f4"; }; preFixup = with pkgs;'' wrapProgram $out/bin/build-graphs --prefix PATH : "$out/bin" From cb1b101dfa2c8e0aa9a3ef0c64788912e0148085 Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 26 Oct 2015 00:02:51 +0100 Subject: [PATCH 09/56] tinc_graphs: clean up mv {makefu,krebs} --- krebs/5pkgs/tinc_graphs/default.nix | 4 ++-- makefu/5pkgs/default.nix | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/krebs/5pkgs/tinc_graphs/default.nix b/krebs/5pkgs/tinc_graphs/default.nix index 3040cabe8..e5f1e40e8 100644 --- a/krebs/5pkgs/tinc_graphs/default.nix +++ b/krebs/5pkgs/tinc_graphs/default.nix @@ -2,14 +2,14 @@ python3Packages.buildPythonPackage rec { name = "tinc_graphs-${version}"; - version = "0.3.8"; + version = "0.3.9"; propagatedBuildInputs = with pkgs;[ python3Packages.pygeoip ## ${geolite-legacy}/share/GeoIP/GeoIPCity.dat ]; src = fetchurl { url = "https://pypi.python.org/packages/source/t/tinc_graphs/tinc_graphs-${version}.tar.gz"; - sha256 = "0jc014ipx9pbx5dwi9s5n921c2c26m5vvzrvpjmca550gpdqd5f4"; + sha256 = "0hjmkiclvyjb3707285x4b8mk5aqjcvh383hvkad1h7p1n61qrfx"; }; preFixup = with pkgs;'' wrapProgram $out/bin/build-graphs --prefix PATH : "$out/bin" diff --git a/makefu/5pkgs/default.nix b/makefu/5pkgs/default.nix index 7945b6ebd..b9661e1cd 100644 --- a/makefu/5pkgs/default.nix +++ b/makefu/5pkgs/default.nix @@ -7,6 +7,5 @@ in alsa-hdspmixer = callPackage ./alsa-tools { alsaToolTarget="hdspmixer";}; alsa-hdspconf = callPackage ./alsa-tools { alsaToolTarget="hdspconf";}; alsa-hdsploader = callPackage ./alsa-tools { alsaToolTarget="hdsploader";}; - tinc_graphs = callPackage ./tinc_graphs {}; awesomecfg = callPackage ./awesomecfg {}; } From 526adba3c81d267266946e7fc96a4a3b51cab366 Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 26 Oct 2015 00:04:15 +0100 Subject: [PATCH 10/56] k 3 urlwatch: add verbose flag --- krebs/3modules/urlwatch.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/krebs/3modules/urlwatch.nix b/krebs/3modules/urlwatch.nix index 80d9f5e93..206bc5697 100644 --- a/krebs/3modules/urlwatch.nix +++ b/krebs/3modules/urlwatch.nix @@ -56,6 +56,13 @@ let https://nixos.org/channels/nixos-unstable/git-revision ]; }; + verbose = mkOption { + type = types.bool; + default = false; + description = '' + verbose output of urlwatch + ''; + }; }; urlsFile = toFile "urls" (concatStringsSep "\n" cfg.urls); @@ -106,7 +113,7 @@ let cd /tmp - urlwatch -e --urls="$urlsFile" > changes 2>&1 || : + urlwatch -e ${optionalString cfg.verbose "-v"} --urls="$urlsFile" > changes || : if test -s changes; then date=$(date -R) From 20ad77468131b7c69c5b3a26ea149ae7fdc0173b Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 26 Oct 2015 00:47:10 +0100 Subject: [PATCH 11/56] m 1 pnp: make urlwatch verbose, update url list --- makefu/1systems/pnp.nix | 2 ++ makefu/2configs/urlwatch.nix | 2 ++ 2 files changed, 4 insertions(+) diff --git a/makefu/1systems/pnp.nix b/makefu/1systems/pnp.nix index e7ceca60d..80600e988 100644 --- a/makefu/1systems/pnp.nix +++ b/makefu/1systems/pnp.nix @@ -32,6 +32,8 @@ # ../2configs/graphite-standalone.nix ]; + krebs.urlwatch.verbose = true; + krebs.Reaktor.enable = true; krebs.Reaktor.debug = true; krebs.Reaktor.nickname = "Reaktor|bot"; diff --git a/makefu/2configs/urlwatch.nix b/makefu/2configs/urlwatch.nix index 933cb93c5..01e5e8be5 100644 --- a/makefu/2configs/urlwatch.nix +++ b/makefu/2configs/urlwatch.nix @@ -10,6 +10,8 @@ https://api.github.com/repos/ovh/python-ovh/tags https://api.github.com/repos/embray/d2to1/tags http://git.sysphere.org/vicious/log/?qt=grep&q=Next+release + https://github.com/bepasty/bepasty-server/tags + https://pypi.python.org/simple/xstatic/ ]; }; From 8c9c74a03bfc1aa7b74bd1d4098851075608f311 Mon Sep 17 00:00:00 2001 From: makefu Date: Tue, 27 Oct 2015 18:10:32 +0100 Subject: [PATCH 12/56] k 5 collectd-connect-time: initial commit --- krebs/5pkgs/collectd-connect-time/default.nix | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 krebs/5pkgs/collectd-connect-time/default.nix diff --git a/krebs/5pkgs/collectd-connect-time/default.nix b/krebs/5pkgs/collectd-connect-time/default.nix new file mode 100644 index 000000000..bff4928cc --- /dev/null +++ b/krebs/5pkgs/collectd-connect-time/default.nix @@ -0,0 +1,15 @@ +{lib, pkgs, pythonPackages, fetchurl, ... }: + +pythonPackages.buildPythonPackage rec { + name = "collectd-connect-time-${version}"; + version = "0.1.1"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/c/collectd-connect-time/collectd-connect-time-${version}.tar.gz"; + sha256 = "0j2glcm4qjry1hqgci84ifj83xjpannl5yckyjadc8s9vyf0mp99"; + }; + meta = { + homepage = https://pypi.python.org/pypi/collectd-connect-time/; + description = "TCP Connection time plugin for collectd"; + license = lib.licenses.wtfpl; + }; +} From 3708839857669e3c7fc9899e324350ff55a34586 Mon Sep 17 00:00:00 2001 From: makefu Date: Tue, 27 Oct 2015 18:11:13 +0100 Subject: [PATCH 13/56] m 2 collectd: add first sample howto configure collectd with collectd-connect-time --- makefu/2configs/collectd/collectd-base.nix | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 makefu/2configs/collectd/collectd-base.nix diff --git a/makefu/2configs/collectd/collectd-base.nix b/makefu/2configs/collectd/collectd-base.nix new file mode 100644 index 000000000..7909c1be5 --- /dev/null +++ b/makefu/2configs/collectd/collectd-base.nix @@ -0,0 +1,42 @@ +{ config, lib, pkgs, ... }: + +# graphite-web on port 8080 +# carbon cache on port 2003 (tcp/udp) +with lib; +let + connect-time-cfg = with pkgs; writeText "collectd-connect-time.cfg" '' + LoadPlugin python + + ModulePath "${collectd-connect-time}/lib/${python.libPrefix}/site-packages/" + Import "collectd_connect_time" + + target "wry.retiolum" "localhost" "google.com" + interval 30 + + + ''; + graphite-cfg = pkgs.writeText "collectd-graphite-cfg" '' + LoadPlugin write_graphite + + + Host "heidi.retiolum" + Port "2003" + Prefix "retiolum." + EscapeCharacter "_" + StoreRates false + AlwaysAppendDS false + + + ''; +in { + imports = [ ]; + + nixpkgs.config.packageOverrides = pkgs: with pkgs; { + collectd = pkgs.collectd.override { python= pkgs.python; }; + }; + services.collectd = { + enable = true; + include = [ (toString connect-time-cfg) (toString graphite-cfg) ]; + }; + +} From fe4f5b98b91f6bacb036d57b5322fb4e09c22f14 Mon Sep 17 00:00:00 2001 From: makefu Date: Tue, 27 Oct 2015 18:12:05 +0100 Subject: [PATCH 14/56] m 12 collectd: wry uses cherry-picked collectd to enable python support --- makefu/1systems/wry.nix | 3 +++ makefu/2configs/unstable-sources.nix | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/makefu/1systems/wry.nix b/makefu/1systems/wry.nix index 6627d87b5..fc98179e4 100644 --- a/makefu/1systems/wry.nix +++ b/makefu/1systems/wry.nix @@ -19,6 +19,9 @@ in { # Reaktor ../2configs/Reaktor/simpleExtend.nix + + # collectd + ../2configs/collectd/collectd-base.nix ]; krebs.build = { diff --git a/makefu/2configs/unstable-sources.nix b/makefu/2configs/unstable-sources.nix index f2d28dcaf..5cb4e8016 100644 --- a/makefu/2configs/unstable-sources.nix +++ b/makefu/2configs/unstable-sources.nix @@ -4,7 +4,7 @@ krebs.build.source = { git.nixpkgs = { url = https://github.com/makefu/nixpkgs; - rev = "984d33884d63d404ff2da76920b8bc8b15471552"; + rev = "15b5bbfbd1c8a55e7d9e05dd9058dc102fac04fe"; # cherry-picked collectd }; dir.secrets = { From d394cd26de014c718431b970c7d8e47a725a8202 Mon Sep 17 00:00:00 2001 From: makefu Date: Tue, 27 Oct 2015 18:59:46 +0100 Subject: [PATCH 15/56] k 5 collectd-connect-time: bump to 0.2.0 --- krebs/5pkgs/collectd-connect-time/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/krebs/5pkgs/collectd-connect-time/default.nix b/krebs/5pkgs/collectd-connect-time/default.nix index bff4928cc..c94bf21a6 100644 --- a/krebs/5pkgs/collectd-connect-time/default.nix +++ b/krebs/5pkgs/collectd-connect-time/default.nix @@ -2,10 +2,10 @@ pythonPackages.buildPythonPackage rec { name = "collectd-connect-time-${version}"; - version = "0.1.1"; + version = "0.2.0"; src = fetchurl { url = "https://pypi.python.org/packages/source/c/collectd-connect-time/collectd-connect-time-${version}.tar.gz"; - sha256 = "0j2glcm4qjry1hqgci84ifj83xjpannl5yckyjadc8s9vyf0mp99"; + sha256 = "1l63pi79z6vg4xf744a71g5rxgsngpkc96a7y4ha2x798r55g7v6"; }; meta = { homepage = https://pypi.python.org/pypi/collectd-connect-time/; From bbd28caa40c06574653fc8364157721c562eabbb Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 28 Oct 2015 00:42:36 +0100 Subject: [PATCH 16/56] krebs 5 collectd-connect-time: bump version (again) --- krebs/5pkgs/collectd-connect-time/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/krebs/5pkgs/collectd-connect-time/default.nix b/krebs/5pkgs/collectd-connect-time/default.nix index c94bf21a6..b07a119db 100644 --- a/krebs/5pkgs/collectd-connect-time/default.nix +++ b/krebs/5pkgs/collectd-connect-time/default.nix @@ -2,10 +2,10 @@ pythonPackages.buildPythonPackage rec { name = "collectd-connect-time-${version}"; - version = "0.2.0"; + version = "0.2.1"; src = fetchurl { url = "https://pypi.python.org/packages/source/c/collectd-connect-time/collectd-connect-time-${version}.tar.gz"; - sha256 = "1l63pi79z6vg4xf744a71g5rxgsngpkc96a7y4ha2x798r55g7v6"; + sha256 = "0611h53ww9lk1qm27njsffckkibirmq7p8cxlq02dgl1zbh7583d"; }; meta = { homepage = https://pypi.python.org/pypi/collectd-connect-time/; From bd09f983913ed6e0181d2a9bc4e92e1e8fa4c4fe Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 28 Oct 2015 15:05:15 +0100 Subject: [PATCH 17/56] m 2 headless: init --- makefu/1systems/pnp.nix | 1 + makefu/1systems/wry.nix | 3 +-- makefu/2configs/headless.nix | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 makefu/2configs/headless.nix diff --git a/makefu/1systems/pnp.nix b/makefu/1systems/pnp.nix index 80600e988..9c7be3b79 100644 --- a/makefu/1systems/pnp.nix +++ b/makefu/1systems/pnp.nix @@ -11,6 +11,7 @@ ../2configs/base.nix ../2configs/base-sources.nix ../2configs/tinc-basic-retiolum.nix + ../2configs/headless.nix # HW/FS diff --git a/makefu/1systems/wry.nix b/makefu/1systems/wry.nix index 3baf31dc5..1c6f35503 100644 --- a/makefu/1systems/wry.nix +++ b/makefu/1systems/wry.nix @@ -11,6 +11,7 @@ in { ../../tv/2configs/CAC-CentOS-7-64bit.nix ../2configs/base.nix ../2configs/unstable-sources.nix + ../2configs/headless.nix ../2configs/tinc-basic-retiolum.nix ../2configs/bepasty-dual.nix @@ -67,6 +68,4 @@ in { }; - # based on ../../tv/2configs/CAC-Developer-2.nix - sound.enable = false; } diff --git a/makefu/2configs/headless.nix b/makefu/2configs/headless.nix new file mode 100644 index 000000000..33847c5e1 --- /dev/null +++ b/makefu/2configs/headless.nix @@ -0,0 +1,4 @@ +_: +{ + sound.enable = false; +} From 85f48e73b223ae3d4cddf577b66188954750d608 Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 28 Oct 2015 15:05:48 +0100 Subject: [PATCH 18/56] m 2 urlwatch: replace dynamic with static page for bepasty --- makefu/2configs/urlwatch.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/makefu/2configs/urlwatch.nix b/makefu/2configs/urlwatch.nix index 01e5e8be5..cd05f0114 100644 --- a/makefu/2configs/urlwatch.nix +++ b/makefu/2configs/urlwatch.nix @@ -10,7 +10,7 @@ https://api.github.com/repos/ovh/python-ovh/tags https://api.github.com/repos/embray/d2to1/tags http://git.sysphere.org/vicious/log/?qt=grep&q=Next+release - https://github.com/bepasty/bepasty-server/tags + https://pypi.python.org/simple/bepasty/ https://pypi.python.org/simple/xstatic/ ]; From c6ca11062ab3a1e2f6903a08ba57bf394bfa05e3 Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 28 Oct 2015 15:06:41 +0100 Subject: [PATCH 19/56] m 1 gum: prepare stockholm --- krebs/3modules/makefu/default.nix | 3 ++- makefu/1systems/gum.nix | 44 +++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 makefu/1systems/gum.nix diff --git a/krebs/3modules/makefu/default.nix b/krebs/3modules/makefu/default.nix index e36a083f2..7c0aacbb7 100644 --- a/krebs/3modules/makefu/default.nix +++ b/krebs/3modules/makefu/default.nix @@ -214,9 +214,10 @@ with lib; extraZones = { "krebsco.de" = '' - omo IN A ${head nets.internet.addrs4} euer IN A ${head nets.internet.addrs4} + euer.blog IN A ${head nets.internet.addrs4} gum IN A ${head nets.internet.addrs4} + euer.wiki IN A ${head nets.internet.addrs4} ''; }; nets = { diff --git a/makefu/1systems/gum.nix b/makefu/1systems/gum.nix new file mode 100644 index 000000000..c4fa064b3 --- /dev/null +++ b/makefu/1systems/gum.nix @@ -0,0 +1,44 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + external-ip = head config.krebs.build.host.nets.internet.addrs4; + internal-ip = head config.krebs.build.host.nets.retiolum.addrs4; +in { + imports = [ + # TODO: copy this config or move to krebs + ../2configs/base.nix + ../2configs/base-sources.nix + ../2configs/tinc-basic-retiolum.nix + ../2configs/headless.nix + # ../2configs/iodined.nix + + # Reaktor + ../2configs/Reaktor/simpleExtend.nix + ]; + + krebs.build = { + user = config.krebs.users.makefu; + target = "root@gum.krebsco.de"; + host = config.krebs.hosts.gum; + }; + + krebs.Reaktor.enable = true; + + # prepare graphs + krebs.nginx.enable = true; + + networking = { + firewall.allowPing = true; + firewall.allowedTCPPorts = [ 80 443 655 ]; + firewall.allowedUDPPorts = [ 655 ]; + interfaces.enp2s1.ip4 = [{ + address = external-ip; + prefixLength = 24; + }]; + defaultGateway = "195.154.108.1"; + nameservers = [ "8.8.8.8" ]; + }; + + # based on ../../tv/2configs/CAC-Developer-2.nix +} From 2a7fab786fb3da081849dbfb85acde957571218c Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 28 Oct 2015 15:09:31 +0100 Subject: [PATCH 20/56] m 2 sources: add system tag --- makefu/2configs/base-sources.nix | 1 + makefu/2configs/unstable-sources.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/makefu/2configs/base-sources.nix b/makefu/2configs/base-sources.nix index 7e6bebec3..65c6e8e76 100644 --- a/makefu/2configs/base-sources.nix +++ b/makefu/2configs/base-sources.nix @@ -1,6 +1,7 @@ { config, lib, pkgs, ... }: { + system.stateVersion = "15.09"; krebs.build.source = { git.nixpkgs = { #url = https://github.com/NixOS/nixpkgs; diff --git a/makefu/2configs/unstable-sources.nix b/makefu/2configs/unstable-sources.nix index f2d28dcaf..173060515 100644 --- a/makefu/2configs/unstable-sources.nix +++ b/makefu/2configs/unstable-sources.nix @@ -1,6 +1,7 @@ { config, lib, pkgs, ... }: { + system.stateVersion = "15.09"; krebs.build.source = { git.nixpkgs = { url = https://github.com/makefu/nixpkgs; From 6147e3069ac3df5c4c652c47d2c1ee459493d784 Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 28 Oct 2015 17:43:36 +0100 Subject: [PATCH 21/56] m 5 tw-upload-plugin: init --- makefu/5pkgs/default.nix | 1 + makefu/5pkgs/tw-upload-plugin/default.nix | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 100644 makefu/5pkgs/tw-upload-plugin/default.nix diff --git a/makefu/5pkgs/default.nix b/makefu/5pkgs/default.nix index b9661e1cd..436c52fcd 100644 --- a/makefu/5pkgs/default.nix +++ b/makefu/5pkgs/default.nix @@ -8,4 +8,5 @@ in alsa-hdspconf = callPackage ./alsa-tools { alsaToolTarget="hdspconf";}; alsa-hdsploader = callPackage ./alsa-tools { alsaToolTarget="hdsploader";}; awesomecfg = callPackage ./awesomecfg {}; + tw-upload-plugin = callPackage ./tw-upload-plugin {}; } diff --git a/makefu/5pkgs/tw-upload-plugin/default.nix b/makefu/5pkgs/tw-upload-plugin/default.nix new file mode 100644 index 000000000..e73aea585 --- /dev/null +++ b/makefu/5pkgs/tw-upload-plugin/default.nix @@ -0,0 +1,8 @@ +{pkgs}: + +pkgs.fetchFromGitHub { + owner = "makefu"; + repo = "tw-upload-plugin"; + rev = "4a99de"; + sha256 = "0y7bqzi4fmm3lxb7pbgicph5r31xlvkkz4a1pklsrb7vjwsyb91m"; +} From 23424a3a2ae7fd489547c453374d6ffc551c5483 Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 28 Oct 2015 21:27:39 +0100 Subject: [PATCH 22/56] m 5 tw-upload-plugin: use new version --- makefu/5pkgs/tw-upload-plugin/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/makefu/5pkgs/tw-upload-plugin/default.nix b/makefu/5pkgs/tw-upload-plugin/default.nix index e73aea585..a68dc09dc 100644 --- a/makefu/5pkgs/tw-upload-plugin/default.nix +++ b/makefu/5pkgs/tw-upload-plugin/default.nix @@ -3,6 +3,6 @@ pkgs.fetchFromGitHub { owner = "makefu"; repo = "tw-upload-plugin"; - rev = "4a99de"; - sha256 = "0y7bqzi4fmm3lxb7pbgicph5r31xlvkkz4a1pklsrb7vjwsyb91m"; + rev = "a00aac"; + sha256 = "0kazqs24kzjxqzr33kg1jbfx8xyvmrnrdxh6g27kgkgbl1d2qknh"; } From 84ebd8c02132131d893fd9bb92ea523e59272649 Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 28 Oct 2015 21:31:07 +0100 Subject: [PATCH 23/56] m 1 wry: serve euer wiki --- krebs/3modules/makefu/default.nix | 5 +- makefu/1systems/wry.nix | 6 +- makefu/2configs/nginx/euer.wiki.nix | 114 ++++++++++++++++++++++++++++ 3 files changed, 121 insertions(+), 4 deletions(-) create mode 100644 makefu/2configs/nginx/euer.wiki.nix diff --git a/krebs/3modules/makefu/default.nix b/krebs/3modules/makefu/default.nix index 7c0aacbb7..2d33b9275 100644 --- a/krebs/3modules/makefu/default.nix +++ b/krebs/3modules/makefu/default.nix @@ -164,6 +164,7 @@ with lib; dc = "makefu"; #dc = "cac"; extraZones = { "krebsco.de" = '' + wiki.euer IN A ${head nets.internet.addrs4} wry IN A ${head nets.internet.addrs4} io IN NS wry.krebsco.de. graphs IN A ${head nets.internet.addrs4} @@ -189,6 +190,7 @@ with lib; "paste.wry.retiolum" "paste.retiolum" "wry.retiolum" + "wiki.makefu.retiolum" ]; tinc.pubkey = '' -----BEGIN RSA PUBLIC KEY----- @@ -215,9 +217,8 @@ with lib; extraZones = { "krebsco.de" = '' euer IN A ${head nets.internet.addrs4} - euer.blog IN A ${head nets.internet.addrs4} + share.euer IN A ${head nets.internet.addrs4} gum IN A ${head nets.internet.addrs4} - euer.wiki IN A ${head nets.internet.addrs4} ''; }; nets = { diff --git a/makefu/1systems/wry.nix b/makefu/1systems/wry.nix index 1c6f35503..24ec16c64 100644 --- a/makefu/1systems/wry.nix +++ b/makefu/1systems/wry.nix @@ -20,6 +20,9 @@ in { # Reaktor ../2configs/Reaktor/simpleExtend.nix + + # other nginx + ../2configs/nginx/euer.wiki.nix ]; krebs.build = { @@ -28,8 +31,6 @@ in { host = config.krebs.hosts.wry; }; - - krebs.Reaktor.enable = true; # bepasty to listen only on the correct interfaces @@ -59,6 +60,7 @@ in { networking = { firewall.allowPing = true; firewall.allowedTCPPorts = [ 53 80 443 ]; + firewall.allowedUDPPorts = [ 655 ]; interfaces.enp2s1.ip4 = [{ address = external-ip; prefixLength = 24; diff --git a/makefu/2configs/nginx/euer.wiki.nix b/makefu/2configs/nginx/euer.wiki.nix new file mode 100644 index 000000000..1e1834b1b --- /dev/null +++ b/makefu/2configs/nginx/euer.wiki.nix @@ -0,0 +1,114 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + ssl_cert = "/root/secrets/wildcard.krebsco.de.crt"; + ssl_key = "/root/secrets/wildcard.krebsco.de.key"; + user = config.services.nginx.user; + group = config.services.nginx.group; + fpm-socket = "/var/run/php5-fpm.sock"; + hostname = config.krebs.build.host.name; + tw-upload = pkgs.tw-upload-plugin; + base-dir = "/var/www/wiki.euer"; + base-cfg = "${base-dir}/twconf.ini"; + wiki-dir = "${base-dir}/store/"; + backup-dir = "${base-dir}/backup/"; + # contains: + # user1 = pass1 + # userN = passN + tw-pass-file = "/root/secrets/tw-pass.ini"; + external-ip = head config.krebs.build.host.nets.internet.addrs4; + internal-ip = head config.krebs.build.host.nets.retiolum.addrs4; +in { + services.phpfpm = { + # phpfpm does not have an enable option + poolConfigs = { + euer-wiki = '' + user = ${user} + group = ${group} + listen = ${fpm-socket} + listen.owner = ${user} + listen.group = ${group} + env[twconf] = ${base-cfg}; + pm = dynamic + pm.max_children = 5 + pm.start_servers = 2 + pm.min_spare_servers = 1 + pm.max_spare_servers = 3 + chdir = / + # errors to journal + php_admin_value[error_log] = 'stderr' + php_admin_flag[log_errors] = on + catch_workers_output = yes + ''; + }; + }; + + systemd.services.prepare-tw = { + wantedBy = [ "local-fs.target" ]; + before = [ "phpfpm.service" ]; + serviceConfig = { + ExecStart = pkgs.writeScript "prepare-tw-service" '' + #!/bin/sh + mkdir -p "${wiki-dir}" "${backup-dir}" + + # write the base configuration + cat > "${base-cfg}" < Date: Thu, 29 Oct 2015 09:28:27 +0100 Subject: [PATCH 24/56] m 2 euer.blog: init (untested) --- makefu/2configs/nginx/euer.blog.nix | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 makefu/2configs/nginx/euer.blog.nix diff --git a/makefu/2configs/nginx/euer.blog.nix b/makefu/2configs/nginx/euer.blog.nix new file mode 100644 index 000000000..a8be1993b --- /dev/null +++ b/makefu/2configs/nginx/euer.blog.nix @@ -0,0 +1,29 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + ssl_cert = "/root/secrets/wildcard.krebsco.de.crt"; + ssl_key = "/root/secrets/wildcard.krebsco.de.key"; + hostname = krebs.build.host.name; +in { + krebs.nginx = { + enable = mkDefault true; + servers = { + euer-blog = { + listen = [ "80" "443 ssl" ]; + server-names = [ "euer.krebsco.de" "euer.blog.krebsco.de" "blog.${hostname}" ]; + extraConfig = '' + gzip on; + gzip_buffers 4 32k; + gzip_types text/plain application/x-javascript text/css; + ssl_certificate ${ssl_cert}; + ssl_certificate_key ${ssl_key}; + default_type text/plain; + ''; + locations = singleton (nameValuePair "/" '' + root /var/www/euer.blog/; + ''); + }; + }; + }; +} From 6410fd0f8557658fa5e180844def32f8bda7313d Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 29 Oct 2015 10:55:54 +0100 Subject: [PATCH 25/56] m 2 *: s,/root/secrets,, --- makefu/2configs/bepasty-dual.nix | 14 +++++++++----- makefu/2configs/nginx/euer.blog.nix | 5 +++-- makefu/2configs/nginx/euer.wiki.nix | 7 ++++--- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/makefu/2configs/bepasty-dual.nix b/makefu/2configs/bepasty-dual.nix index fb170957a..123ae3cf9 100644 --- a/makefu/2configs/bepasty-dual.nix +++ b/makefu/2configs/bepasty-dual.nix @@ -11,7 +11,11 @@ # bepasty-secret.nix <- contains single string with lib; -{ +let + sec = toString ; + # secKey is nothing worth protecting on a local machine + secKey = import ; +in { krebs.nginx.enable = mkDefault true; krebs.bepasty = { @@ -24,7 +28,7 @@ with lib; server-names = [ "paste.retiolum" "paste.${config.krebs.build.host.name}" ]; }; defaultPermissions = "admin,list,create,read,delete"; - secretKey = import ; + secretKey = secKey; }; external = { @@ -33,8 +37,8 @@ with lib; extraConfig = '' ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; - ssl_certificate /root/secrets/wildcard.krebsco.de.crt; - ssl_certificate_key /root/secrets/wildcard.krebsco.de.key; + ssl_certificate ${sec}/wildcard.krebsco.de.crt; + ssl_certificate_key ${sec}/wildcard.krebsco.de.key; ssl_verify_client off; proxy_ssl_session_reuse off; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; @@ -45,7 +49,7 @@ with lib; }''; }; defaultPermissions = "read"; - secretKey = import ; + secretKey = secKey; }; }; }; diff --git a/makefu/2configs/nginx/euer.blog.nix b/makefu/2configs/nginx/euer.blog.nix index a8be1993b..e97050ec4 100644 --- a/makefu/2configs/nginx/euer.blog.nix +++ b/makefu/2configs/nginx/euer.blog.nix @@ -2,8 +2,9 @@ with lib; let - ssl_cert = "/root/secrets/wildcard.krebsco.de.crt"; - ssl_key = "/root/secrets/wildcard.krebsco.de.key"; + sec = toString ; + ssl_cert = "${sec}/wildcard.krebsco.de.crt"; + ssl_key = "${sec}/wildcard.krebsco.de.key"; hostname = krebs.build.host.name; in { krebs.nginx = { diff --git a/makefu/2configs/nginx/euer.wiki.nix b/makefu/2configs/nginx/euer.wiki.nix index 1e1834b1b..fbcfe2047 100644 --- a/makefu/2configs/nginx/euer.wiki.nix +++ b/makefu/2configs/nginx/euer.wiki.nix @@ -2,8 +2,9 @@ with lib; let - ssl_cert = "/root/secrets/wildcard.krebsco.de.crt"; - ssl_key = "/root/secrets/wildcard.krebsco.de.key"; + sec = toString ; + ssl_cert = "${sec}/wildcard.krebsco.de.crt"; + ssl_key = "${sec}/wildcard.krebsco.de.key"; user = config.services.nginx.user; group = config.services.nginx.group; fpm-socket = "/var/run/php5-fpm.sock"; @@ -16,7 +17,7 @@ let # contains: # user1 = pass1 # userN = passN - tw-pass-file = "/root/secrets/tw-pass.ini"; + tw-pass-file = "${sec}/tw-pass.ini"; external-ip = head config.krebs.build.host.nets.internet.addrs4; internal-ip = head config.krebs.build.host.nets.retiolum.addrs4; in { From 2ba85cff334bed105181b0e2704a5cec6b20a8b9 Mon Sep 17 00:00:00 2001 From: lassulus Date: Thu, 29 Oct 2015 15:12:46 +0100 Subject: [PATCH 26/56] k 3 l: echelon has 2 cores --- krebs/3modules/lass/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/krebs/3modules/lass/default.nix b/krebs/3modules/lass/default.nix index 498282b03..6896f34aa 100644 --- a/krebs/3modules/lass/default.nix +++ b/krebs/3modules/lass/default.nix @@ -33,7 +33,7 @@ let in { hosts = addNames { echelon = { - cores = 4; + cores = 2; dc = "lass"; #dc = "cac"; nets = rec { internet = { From 546469e18d24252360279ea276eb9a502670c712 Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 30 Oct 2015 15:28:12 +0100 Subject: [PATCH 27/56] shared wolf: enable collectd towards heidi --- shared/1systems/wolf.nix | 1 + shared/2configs/collectd-base.nix | 41 +++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 shared/2configs/collectd-base.nix diff --git a/shared/1systems/wolf.nix b/shared/1systems/wolf.nix index aeaeee288..73552e705 100644 --- a/shared/1systems/wolf.nix +++ b/shared/1systems/wolf.nix @@ -5,6 +5,7 @@ with lib; { imports = [ + ../2configs/collectd-base.nix ]; krebs.build.host = config.krebs.hosts.wolf; diff --git a/shared/2configs/collectd-base.nix b/shared/2configs/collectd-base.nix new file mode 100644 index 000000000..b2ec40b28 --- /dev/null +++ b/shared/2configs/collectd-base.nix @@ -0,0 +1,41 @@ +{ config, lib, pkgs, ... }: + +# TODO: krebs.collectd.plugins +with lib; +let + connect-time-cfg = with pkgs; writeText "collectd-connect-time.conf" '' + LoadPlugin python + + ModulePath "${collectd-connect-time}/lib/${python.libPrefix}/site-packages/" + Import "collectd_connect_time" + + target "heidi.retiolum:8080" "localhost" "google.com" "google.de" "omo.retiolum" "gum.retiolum" "gum.krebsco.de" + interval 10 + + + ''; + graphite-cfg = pkgs.writeText "collectd-graphite.conf" '' + LoadPlugin write_graphite + + + Host "heidi.retiolum" + Port "2003" + Prefix "retiolum." + EscapeCharacter "_" + StoreRates false + AlwaysAppendDS false + + + ''; +in { + imports = [ ]; + + nixpkgs.config.packageOverrides = pkgs: with pkgs; { + collectd = pkgs.collectd.override { python= pkgs.python; }; + }; + services.collectd = { + enable = true; + include = [ (toString connect-time-cfg) (toString graphite-cfg) ]; + }; + +} From 8dd8ddb27dd7504e80a145a41a631be1a305e9ad Mon Sep 17 00:00:00 2001 From: lassulus Date: Fri, 30 Oct 2015 16:05:51 +0100 Subject: [PATCH 28/56] lass: add prism host --- krebs/3modules/lass/default.nix | 33 +++++++++++++ krebs/Zhosts/prism | 12 +++++ lass/1systems/prism.nix | 88 +++++++++++++++++++++++++++++++++ 3 files changed, 133 insertions(+) create mode 100644 krebs/Zhosts/prism create mode 100644 lass/1systems/prism.nix diff --git a/krebs/3modules/lass/default.nix b/krebs/3modules/lass/default.nix index 6896f34aa..0be166255 100644 --- a/krebs/3modules/lass/default.nix +++ b/krebs/3modules/lass/default.nix @@ -66,6 +66,39 @@ in { ssh.privkey.path = ; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL21QDOEFdODFh6WAfNp6odrXo15pEsDQuGJfMu/cKzK"; }; + prism = { + cores = 4; + dc = "lass"; #dc = "cac"; + nets = rec { + internet = { + addrs4 = ["213.239.205.240"]; + aliases = [ + "prism.internet" + ]; + }; + retiolum = { + via = internet; + addrs4 = ["10.243.0.103"]; + addrs6 = ["42:0000:0000:0000:0000:0000:0000:15ab"]; + aliases = [ + "prism.retiolum" + "cgit.prism.retiolum" + ]; + tinc.pubkey = '' + -----BEGIN RSA PUBLIC KEY----- + MIIBCgKCAQEAvzhoBsxUaEwm7ctiw3xvLFP2RoVaiHnF+Sm4J8E4DOerPToXxlyl + kxvMPaRnhtiO6MK0Vv2+VswKIeRkMm5YuD5MG7wni4vUKcRx9cCgKji/s0vGqLhl + JKK9i23q7epvQ32Is/e3P+fQ5KM50EO+TWACNaroCNoyJvZ/G8BWXw6WnIOsuX0I + AoPW2ol8/sdZxeK4hCe/aQz6y0AEvigpvPkHx+TE5fkBeIeqhiKTIWpEqjU4wXx5 + jP2izYuaIsHAihU8mm03xRxT4+4IHYt6ddrhNeBuJBsATLkDgULdQyOoEzmXCm2j + anGRBZoYVazxn7d8mKBdE09ZNc1ijULZgwIDAQAB + -----END RSA PUBLIC KEY----- + ''; + }; + }; + ssh.privkey.path = ; + ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINKVjJrM7fHfHpvZXEA3hmX4JliHl6h6Q8AGOPcu+9fF"; + }; fastpoke = { dc = "lass"; nets = rec { diff --git a/krebs/Zhosts/prism b/krebs/Zhosts/prism new file mode 100644 index 000000000..4c875631f --- /dev/null +++ b/krebs/Zhosts/prism @@ -0,0 +1,12 @@ +Address = 213.239.205.240 +Subnet = 10.243.0.103 +Subnet = 42:0000:0000:0000:0000:0000:0000:15ab + +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAvzhoBsxUaEwm7ctiw3xvLFP2RoVaiHnF+Sm4J8E4DOerPToXxlyl +kxvMPaRnhtiO6MK0Vv2+VswKIeRkMm5YuD5MG7wni4vUKcRx9cCgKji/s0vGqLhl +JKK9i23q7epvQ32Is/e3P+fQ5KM50EO+TWACNaroCNoyJvZ/G8BWXw6WnIOsuX0I +AoPW2ol8/sdZxeK4hCe/aQz6y0AEvigpvPkHx+TE5fkBeIeqhiKTIWpEqjU4wXx5 +jP2izYuaIsHAihU8mm03xRxT4+4IHYt6ddrhNeBuJBsATLkDgULdQyOoEzmXCm2j +anGRBZoYVazxn7d8mKBdE09ZNc1ijULZgwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/lass/1systems/prism.nix b/lass/1systems/prism.nix new file mode 100644 index 000000000..570cdfb7c --- /dev/null +++ b/lass/1systems/prism.nix @@ -0,0 +1,88 @@ +{ config, lib, pkgs, ... }: + +let + inherit (lib) head; + + ip = (head config.krebs.build.host.nets.internet.addrs4); +in { + imports = [ + ../2configs/base.nix + ../2configs/downloading.nix + { + users.extraGroups = { + # ● systemd-tmpfiles-setup.service - Create Volatile Files and Directories + # Loaded: loaded (/nix/store/2l33gg7nmncqkpysq9f5fxyhlw6ncm2j-systemd-217/example/systemd/system/systemd-tmpfiles-setup.service) + # Active: failed (Result: exit-code) since Mon 2015-03-16 10:29:18 UTC; 4s ago + # Docs: man:tmpfiles.d(5) + # man:systemd-tmpfiles(8) + # Process: 19272 ExecStart=/nix/store/2l33gg7nmncqkpysq9f5fxyhlw6ncm2j-systemd-217/bin/systemd-tmpfiles --create --remove --boot --exclude-prefix=/dev (code=exited, status=1/FAILURE) + # Main PID: 19272 (code=exited, status=1/FAILURE) + # + # Mar 16 10:29:17 cd systemd-tmpfiles[19272]: [/usr/lib/tmpfiles.d/legacy.conf:26] Unknown group 'lock'. + # Mar 16 10:29:18 cd systemd-tmpfiles[19272]: Two or more conflicting lines for /var/log/journal configured, ignoring. + # Mar 16 10:29:18 cd systemd-tmpfiles[19272]: Two or more conflicting lines for /var/log/journal/7b35116927d74ea58785e00b47ac0f0d configured, ignoring. + # Mar 16 10:29:18 cd systemd[1]: systemd-tmpfiles-setup.service: main process exited, code=exited, status=1/FAILURE + # Mar 16 10:29:18 cd systemd[1]: Failed to start Create Volatile Files and Directories. + # Mar 16 10:29:18 cd systemd[1]: Unit systemd-tmpfiles-setup.service entered failed state. + # Mar 16 10:29:18 cd systemd[1]: systemd-tmpfiles-setup.service failed. + # warning: error(s) occured while switching to the new configuration + lock.gid = 10001; + }; + } + { + networking.interfaces.et0.ip4 = [ + { + address = ip; + prefixLength = 24; + } + ]; + networking.defaultGateway = "213.239.205.225"; + networking.nameservers = [ + "8.8.8.8" + ]; + services.udev.extraRules = '' + SUBSYSTEM=="net", ATTR{address}=="54:04:a6:7e:f4:06", NAME="et0" + ''; + + } + { + #boot.loader.gummiboot.enable = true; + #boot.loader.efi.canTouchEfiVariables = true; + boot.loader.grub = { + devices = [ + "/dev/sda" + "/dev/sdb" + ]; + splashImage = null; + }; + + boot.initrd.availableKernelModules = [ + "ata_piix" + "vmw_pvscsi" + ]; + + fileSystems."/" = { + device = "/dev/pool/nix"; + fsType = "ext4"; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/7ca12d8c-606d-41ce-b10d-62b654e50e36"; + }; + + fileSystems."/var/download" = { + device = "/dev/pool/download"; + }; + + } + { + sound.enable = false; + } + { + #workaround for server dying after 6-7h + boot.kernelPackages = pkgs.linuxPackages_4_2; + } + ]; + + krebs.build.host = config.krebs.hosts.prism; +} From b5d527abcc4516ce797ae037e8e74d78fd34e35a Mon Sep 17 00:00:00 2001 From: lassulus Date: Fri, 30 Oct 2015 18:21:26 +0100 Subject: [PATCH 29/56] krebs 4 infest prepare.sh: add centos 6 support --- krebs/4lib/infest/prepare.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/krebs/4lib/infest/prepare.sh b/krebs/4lib/infest/prepare.sh index 94c9b0fb5..8e922ed99 100644 --- a/krebs/4lib/infest/prepare.sh +++ b/krebs/4lib/infest/prepare.sh @@ -11,6 +11,10 @@ prepare() {( ;; centos) case $VERSION_ID in + 6) + prepare_centos "$@" + exit + ;; 7) prepare_centos "$@" exit From 885c284dd51cb28441bf5ad8353639110b0db9d8 Mon Sep 17 00:00:00 2001 From: lassulus Date: Fri, 30 Oct 2015 18:22:25 +0100 Subject: [PATCH 30/56] krebs 4 infest prepare.sh: add support for debian --- krebs/4lib/infest/prepare.sh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/krebs/4lib/infest/prepare.sh b/krebs/4lib/infest/prepare.sh index 8e922ed99..8297ba1e6 100644 --- a/krebs/4lib/infest/prepare.sh +++ b/krebs/4lib/infest/prepare.sh @@ -21,6 +21,18 @@ prepare() {( ;; esac ;; + debian) + case $VERSION_ID in + 7) + prepare_debian "$@" + exit + ;; + 8) + prepare_debian "$@" + exit + ;; + esac + ;; esac elif test -e /etc/centos-release; then case $(cat /etc/centos-release) in @@ -48,6 +60,14 @@ prepare_centos() { prepare_common } +prepare_debian() { + apt-get update + type bzip2 2>/dev/null || apt-get install bzip2 + type git 2>/dev/null || apt-get install git + type rsync 2>/dev/null || apt-get install rsync + prepare_common +} + prepare_common() { if ! getent group nixbld >/dev/null; then From ce08a1c112acb69f42814036e99b292e912291d1 Mon Sep 17 00:00:00 2001 From: lassulus Date: Fri, 30 Oct 2015 18:22:56 +0100 Subject: [PATCH 31/56] krebs 4 infest prepare.sh: update pacman database --- krebs/4lib/infest/prepare.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/krebs/4lib/infest/prepare.sh b/krebs/4lib/infest/prepare.sh index 8297ba1e6..182a068ef 100644 --- a/krebs/4lib/infest/prepare.sh +++ b/krebs/4lib/infest/prepare.sh @@ -47,6 +47,7 @@ prepare() {( )} prepare_arch() { + pacman -Sy type bzip2 2>/dev/null || pacman -S --noconfirm bzip2 type git 2>/dev/null || pacman -S --noconfirm git type rsync 2>/dev/null || pacman -S --noconfirm rsync From 6b30265be2b954317262c046bd1c53787ee3984a Mon Sep 17 00:00:00 2001 From: lassulus Date: Fri, 30 Oct 2015 18:28:52 +0100 Subject: [PATCH 32/56] l 1 echelon: add user satan --- lass/1systems/echelon.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/lass/1systems/echelon.nix b/lass/1systems/echelon.nix index 94c793b08..dc0ca0274 100644 --- a/lass/1systems/echelon.nix +++ b/lass/1systems/echelon.nix @@ -47,6 +47,23 @@ in { { predicate = "-i retiolum -p udp --dport 53"; target = "ACCEPT"; } ]; } + { + users.extraUsers = { + satan = { + name = "satan"; + uid = 1338; + home = "/home/satan"; + group = "users"; + createHome = true; + useDefaultShell = true; + extraGroups = [ + ]; + openssh.authorizedKeys.keys = [ + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+l3ajjOd80uJBM8oHO9HRbtA5hK6hvrpxxnk7qWW7OloT9IXcoM8bbON755vK0O6XyxZo1JZ1SZ7QIaOREGVIRDjcbJbqD3O+nImc6Rzxnrz7hvE+tuav9Yylwcw5HeQi82UIMGTEAwMHwLvsW6R/xyMCuOTbbzo9Ib8vlJ8IPDECY/05RhL7ZYFR0fdphI7jq7PobnO8WEpCZDhMvSYjO9jf3ac53wyghT3gH7AN0cxTR9qgQlPHhTbw+nZEI0sUKtrIhjfVE80wgK3NQXZZj7YAplRs/hYwSi7i8V0+8CBt2epc/5RKnJdDHFQnaTENq9kYQPOpUCP6YUwQIo8X nineinchnade@gmail.com" + ]; + }; + }; + } ]; krebs.build.host = config.krebs.hosts.echelon; From db889e085d8b4b15cab83116562085ab27bc0acb Mon Sep 17 00:00:00 2001 From: lassulus Date: Fri, 30 Oct 2015 18:35:21 +0100 Subject: [PATCH 33/56] lass 2 base*: reorganize groups --- lass/2configs/base.nix | 2 -- lass/2configs/baseX.nix | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lass/2configs/base.nix b/lass/2configs/base.nix index fe6aa8361..057af7bc4 100644 --- a/lass/2configs/base.nix +++ b/lass/2configs/base.nix @@ -27,8 +27,6 @@ with lib; createHome = true; useDefaultShell = true; extraGroups = [ - "audio" - "wheel" ]; openssh.authorizedKeys.keys = map readFile [ ../../krebs/Zpubkeys/lass.ssh.pub diff --git a/lass/2configs/baseX.nix b/lass/2configs/baseX.nix index 1f5c3de55..3be3676aa 100644 --- a/lass/2configs/baseX.nix +++ b/lass/2configs/baseX.nix @@ -8,6 +8,8 @@ in { ./urxvt.nix ]; + users.extraUsers.mainUser.extraGroups = [ "audio" ]; + time.timeZone = "Europe/Berlin"; virtualisation.libvirtd.enable = true; From 6bf12a65f534103771f51e74b7d750dd1ce42d29 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 31 Oct 2015 00:10:43 +0100 Subject: [PATCH 34/56] l 2 downloading: allow login via ssh --- lass/2configs/downloading.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lass/2configs/downloading.nix b/lass/2configs/downloading.nix index 5052da5c8..b8b20d0ed 100644 --- a/lass/2configs/downloading.nix +++ b/lass/2configs/downloading.nix @@ -1,5 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: +with lib; { imports = [ ../3modules/folderPerms.nix @@ -10,9 +11,13 @@ name = "download"; home = "/var/download"; createHome = true; + useDefaultShell = true; extraGroups = [ "download" ]; + openssh.authorizedKeys.keys = map readFile [ + ../../krebs/Zpubkeys/lass.ssh.pub + ]; }; transmission = { From 7fc5c721f41869bf45a2da776db63950f905b7a0 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 31 Oct 2015 00:11:45 +0100 Subject: [PATCH 35/56] l 2 downloading: open ports for transmission --- lass/2configs/downloading.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lass/2configs/downloading.nix b/lass/2configs/downloading.nix index b8b20d0ed..553a3a557 100644 --- a/lass/2configs/downloading.nix +++ b/lass/2configs/downloading.nix @@ -48,6 +48,7 @@ with lib; rpc-username = "download"; #add rpc-password in secrets rpc-password = "test123"; + peer-port = 51413; }; }; @@ -55,6 +56,8 @@ with lib; enable = true; tables.filter.INPUT.rules = [ { predicate = "-p tcp --dport 9091"; target = "ACCEPT"; } + { predicate = "-p tcp --dport 51413"; target = "ACCEPT"; } + { predicate = "-p udp --dport 51413"; target = "ACCEPT"; } ]; }; From 611f8ef25b4c3984f2f7de7362c4869d1f2f124f Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 31 Oct 2015 00:12:15 +0100 Subject: [PATCH 36/56] l 2 retiolum: connect to prism instead of fastpoke --- lass/2configs/retiolum.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lass/2configs/retiolum.nix b/lass/2configs/retiolum.nix index 7f0bcc5e8..d26a2f4c4 100644 --- a/lass/2configs/retiolum.nix +++ b/lass/2configs/retiolum.nix @@ -16,7 +16,7 @@ enable = true; hosts = ../../krebs/Zhosts; connectTo = [ - "fastpoke" + "prism" "cloudkrebs" "echelon" "pigstarter" From 95999d2ef4b426c68c5d4875554ff8c3e10669e0 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 31 Oct 2015 15:09:11 +0100 Subject: [PATCH 37/56] l 1 prism: add git.nix --- lass/1systems/prism.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lass/1systems/prism.nix b/lass/1systems/prism.nix index 570cdfb7c..bb22b471f 100644 --- a/lass/1systems/prism.nix +++ b/lass/1systems/prism.nix @@ -8,6 +8,7 @@ in { imports = [ ../2configs/base.nix ../2configs/downloading.nix + ../2configs/git.nix { users.extraGroups = { # ● systemd-tmpfiles-setup.service - Create Volatile Files and Directories From 10fc9eb4ee5151bee86026cd81a73d333551b612 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 31 Oct 2015 15:09:43 +0100 Subject: [PATCH 38/56] l 2: get ssh-keys via api --- lass/2configs/base.nix | 8 ++++---- lass/2configs/downloading.nix | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lass/2configs/base.nix b/lass/2configs/base.nix index 057af7bc4..11bc4f089 100644 --- a/lass/2configs/base.nix +++ b/lass/2configs/base.nix @@ -15,8 +15,8 @@ with lib; { users.extraUsers = { root = { - openssh.authorizedKeys.keys = map readFile [ - ../../krebs/Zpubkeys/lass.ssh.pub + openssh.authorizedKeys.keys = [ + config.krebs.users.lass.pubkey ]; }; mainUser = { @@ -28,8 +28,8 @@ with lib; useDefaultShell = true; extraGroups = [ ]; - openssh.authorizedKeys.keys = map readFile [ - ../../krebs/Zpubkeys/lass.ssh.pub + openssh.authorizedKeys.keys = [ + config.krebs.users.lass.pubkey ]; }; }; diff --git a/lass/2configs/downloading.nix b/lass/2configs/downloading.nix index 553a3a557..b9f3449e4 100644 --- a/lass/2configs/downloading.nix +++ b/lass/2configs/downloading.nix @@ -15,8 +15,8 @@ with lib; extraGroups = [ "download" ]; - openssh.authorizedKeys.keys = map readFile [ - ../../krebs/Zpubkeys/lass.ssh.pub + openssh.authorizedKeys.keys = [ + config.krebs.users.lass.pubkey ]; }; From e8d41346d34cf24652e8e77fab6bb0a0dd86a199 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 31 Oct 2015 15:11:15 +0100 Subject: [PATCH 39/56] l 2 downloading: get rpc-password from secrets --- lass/2configs/downloading.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lass/2configs/downloading.nix b/lass/2configs/downloading.nix index b9f3449e4..e80b74007 100644 --- a/lass/2configs/downloading.nix +++ b/lass/2configs/downloading.nix @@ -1,7 +1,10 @@ { config, lib, pkgs, ... }: with lib; -{ + +let + rpc-password = import ; +in { imports = [ ../3modules/folderPerms.nix ]; @@ -46,8 +49,7 @@ with lib; rpc-authentication-required = true; rpc-whitelist-enabled = false; rpc-username = "download"; - #add rpc-password in secrets - rpc-password = "test123"; + inherit rpc-password; peer-port = 51413; }; }; From 7135eba64ded221d1068daba6cbbd95274b3818c Mon Sep 17 00:00:00 2001 From: makefu Date: Sun, 1 Nov 2015 00:21:27 +0100 Subject: [PATCH 40/56] collectd-connect-time: bump to 0.3.0 --- krebs/5pkgs/collectd-connect-time/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/krebs/5pkgs/collectd-connect-time/default.nix b/krebs/5pkgs/collectd-connect-time/default.nix index b07a119db..525388029 100644 --- a/krebs/5pkgs/collectd-connect-time/default.nix +++ b/krebs/5pkgs/collectd-connect-time/default.nix @@ -2,10 +2,10 @@ pythonPackages.buildPythonPackage rec { name = "collectd-connect-time-${version}"; - version = "0.2.1"; + version = "0.3.0"; src = fetchurl { url = "https://pypi.python.org/packages/source/c/collectd-connect-time/collectd-connect-time-${version}.tar.gz"; - sha256 = "0611h53ww9lk1qm27njsffckkibirmq7p8cxlq02dgl1zbh7583d"; + sha256 = "0vvrf9py9bwc8hk3scxwg4x2j8jlp2qva0mv4q8d9m4b4mk99c95"; }; meta = { homepage = https://pypi.python.org/pypi/collectd-connect-time/; From f171c53dd883f57bd0acb6cc6bf0dd1b90ce83ef Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 1 Nov 2015 19:52:49 +0100 Subject: [PATCH 41/56] k 3 l: use rsa keys in prism --- krebs/3modules/lass/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/krebs/3modules/lass/default.nix b/krebs/3modules/lass/default.nix index 0be166255..2ad4353bd 100644 --- a/krebs/3modules/lass/default.nix +++ b/krebs/3modules/lass/default.nix @@ -96,8 +96,8 @@ in { ''; }; }; - ssh.privkey.path = ; - ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINKVjJrM7fHfHpvZXEA3hmX4JliHl6h6Q8AGOPcu+9fF"; + ssh.privkey.path = ; + ssh.pubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQChm4sqQ2bUZj+2YnTf6G5HHRTpSe1jTUhJRnwcYPYZKF+CBqBncipRpuGlGXEsptNa+7ZMcQC0ySsz5SUOMt3Ih+NehVe/qt3VtRz0l0MgOWmH2qBwKK9Y4IuxrJQzUmP4UGlOGlFj9DORssSMOyFIG4eZ9k2qMn3xal0NVRfGTShKlouWsiUILZ8I+sDNE00z8DAYesgc1yazvRnjzvLkRxdNdpYiAFBbmXMpPKK95McRJaWsuNSeal9kd5p5PagWcgN4DZ6+ebzz3NKnmzk4j+vuHX0U9lTXBqKMlzzmM2YNLRtDPfrtJNyHqLpZUpFhJKqZCD+4/0zdrzRfC7Th+5czzUCSvHiKPVsqw5eOdiQX6EyzNAF5zpkpRp//QdUNNXC5/Ku6GKCO491+TuA8VCha0fOwBONccTLUI/hGNmCh88mLbukVoeGJrbYNCOA/6kEz7ZLEveU4i+TT7okhDElMsNk+AWCZ8/NdJQNX3/K6+JJ9qAn+/yC8LdjgYYJ2oU/aw5/HyOgiQ0z4n9UfQ7j+nHysY9CQb1b3guX7yjJoc3KpNXCXEztuIRHjFD1EP8NRTSmGjsa/VjLmTLSsqjD+7IE5mT0tO5RJvmagDgdJSr/iR5D9zjW7hx7ttvektrlp9g0v3CiCFVaW4l95hGYT0HaNBLJ5R0YHm0lD+Q=="; }; fastpoke = { dc = "lass"; From f18a958ce57d2a91af9ba547cbf8cb21e19b99f8 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 1 Nov 2015 19:57:05 +0100 Subject: [PATCH 42/56] l 2: add ts3.nix --- lass/2configs/ts3.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 lass/2configs/ts3.nix diff --git a/lass/2configs/ts3.nix b/lass/2configs/ts3.nix new file mode 100644 index 000000000..5b92d0919 --- /dev/null +++ b/lass/2configs/ts3.nix @@ -0,0 +1,19 @@ +{ config, ... }: + +{ + services.teamspeak3 = { + enable = true; + }; + + krebs.iptables.tables.filter.INPUT.rules = [ + #voice port + { predicate = "-p tcp --dport 9987"; target = "ACCEPT"; } + { predicate = "-p udp --dport 9987"; target = "ACCEPT"; } + ##file transfer port + #{ predicate = "-p tcp --dport 30033"; target = "ACCEPT"; } + #{ predicate = "-p udp --dport 30033"; target = "ACCEPT"; } + ##query port + #{ predicate = "-p tcp --dport 10011"; target = "ACCEPT"; } + #{ predicate = "-p udp --dport 10011"; target = "ACCEPT"; } + ]; +} From a7621594563dc92684e0b9cc31a85645a4b8d3fd Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 1 Nov 2015 19:58:59 +0100 Subject: [PATCH 43/56] l 1 prism: activate ts3 server --- lass/1systems/prism.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lass/1systems/prism.nix b/lass/1systems/prism.nix index bb22b471f..ae90251cc 100644 --- a/lass/1systems/prism.nix +++ b/lass/1systems/prism.nix @@ -9,6 +9,7 @@ in { ../2configs/base.nix ../2configs/downloading.nix ../2configs/git.nix + ../2configs/ts3.nix { users.extraGroups = { # ● systemd-tmpfiles-setup.service - Create Volatile Files and Directories From cb5e5f452c320d0f75bd46a82fd6afc96e11d73e Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 1 Nov 2015 20:00:19 +0100 Subject: [PATCH 44/56] l 1 mors: add hashPassword to systemPackages --- lass/1systems/mors.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lass/1systems/mors.nix b/lass/1systems/mors.nix index b0b8ff573..7db3f8333 100644 --- a/lass/1systems/mors.nix +++ b/lass/1systems/mors.nix @@ -156,6 +156,7 @@ get genid teamspeak_client + hashPassword ]; #TODO: fix this shit From fd42a107a517d0f67005efcd9ed4f1400ffdb154 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 1 Nov 2015 20:00:43 +0100 Subject: [PATCH 45/56] l 1 prism: allowUnfree for ts3 --- lass/1systems/prism.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lass/1systems/prism.nix b/lass/1systems/prism.nix index ae90251cc..87334c3c2 100644 --- a/lass/1systems/prism.nix +++ b/lass/1systems/prism.nix @@ -84,6 +84,9 @@ in { #workaround for server dying after 6-7h boot.kernelPackages = pkgs.linuxPackages_4_2; } + { + nixpkgs.config.allowUnfree = true; + } ]; krebs.build.host = config.krebs.hosts.prism; From 8995bdd5fc7ea8ef54b4e30ceb50825ba23054ba Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 5 Nov 2015 08:27:11 +0100 Subject: [PATCH 46/56] k Zhosts gum: remove paste.krebsco.de alias --- krebs/Zhosts/gum | 1 - 1 file changed, 1 deletion(-) diff --git a/krebs/Zhosts/gum b/krebs/Zhosts/gum index f1eaa4eab..d43bb0d08 100644 --- a/krebs/Zhosts/gum +++ b/krebs/Zhosts/gum @@ -2,7 +2,6 @@ Address= 195.154.108.70 Address= 195.154.108.70 53 Subnet = 10.243.0.211 Subnet = 42:f9f0:0000:0000:0000:0000:0000:70d2 -Aliases = paste -----BEGIN RSA PUBLIC KEY----- MIIBCgKCAQEAvgvzx3rT/3zLuCkzXk1ZkYBkG4lltxrLOLNivohw2XAzrYDIw/ZY From 31816a8e7010fab9504f2d13e786723e086d177f Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 5 Nov 2015 12:13:20 +0100 Subject: [PATCH 47/56] update collectd targets --- shared/1systems/wolf.nix | 2 +- shared/2configs/collectd-base.nix | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/shared/1systems/wolf.nix b/shared/1systems/wolf.nix index 73552e705..60d1e8ce8 100644 --- a/shared/1systems/wolf.nix +++ b/shared/1systems/wolf.nix @@ -27,7 +27,7 @@ with lib; krebs.build.source = { git.nixpkgs = { url = https://github.com/NixOS/nixpkgs; - rev = "e916273209560b302ab231606babf5ce1c481f08"; + rev = "6d31e9b81dcd4ab927bb3dc91b612dd5abfa2f80"; }; dir.secrets = { host = config.krebs.current.host; diff --git a/shared/2configs/collectd-base.nix b/shared/2configs/collectd-base.nix index b2ec40b28..3b792bf23 100644 --- a/shared/2configs/collectd-base.nix +++ b/shared/2configs/collectd-base.nix @@ -9,7 +9,7 @@ let ModulePath "${collectd-connect-time}/lib/${python.libPrefix}/site-packages/" Import "collectd_connect_time" - target "heidi.retiolum:8080" "localhost" "google.com" "google.de" "omo.retiolum" "gum.retiolum" "gum.krebsco.de" + target "localhost:22" "google.com" "google.de" "gum.retiolum:22" "gum.krebsco.de" "heidi.shack:22" "10.42.0.1:22" "heise.de" "t-online.de" interval 10 @@ -18,7 +18,7 @@ let LoadPlugin write_graphite - Host "heidi.retiolum" + Host "heidi.shack" Port "2003" Prefix "retiolum." EscapeCharacter "_" From 4050b21d16f9b7d0de9515526cac9a7b65993fef Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 5 Nov 2015 12:27:50 +0100 Subject: [PATCH 48/56] k 5 translate-shell: init at 0.9.0.9 --- krebs/5pkgs/translate-shell/default.nix | 43 +++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 krebs/5pkgs/translate-shell/default.nix diff --git a/krebs/5pkgs/translate-shell/default.nix b/krebs/5pkgs/translate-shell/default.nix new file mode 100644 index 000000000..00ab226e5 --- /dev/null +++ b/krebs/5pkgs/translate-shell/default.nix @@ -0,0 +1,43 @@ +{stdenv, fetchurl,pkgs,... }: +let + s = + rec { + baseName="translate-shell"; + version="0.9.0.9"; + name="${baseName}-${version}"; + url=https://github.com/soimort/translate-shell/archive/v0.9.0.9.tar.gz; + sha256="1269j4yr9dr1d8c5kmysbzfplbgdg8apqnzs5w57d29sd7gz2i34"; + }; + searchpath = with pkgs; stdenv.lib.makeSearchPath "bin" [ + fribidi + gawk + bash + curl + less + ]; + buildInputs = [ + pkgs.makeWrapper + ]; +in +stdenv.mkDerivation { + inherit (s) name version; + inherit buildInputs; + src = fetchurl { + inherit (s) url sha256; + }; + # TODO: maybe mplayer + installPhase = '' + mkdir -p $out/bin + make PREFIX=$out install + wrapProgram $out/bin/trans --suffix PATH : "${searchpath}" + ''; + + meta = { + inherit (s) version; + description = ''translate using google api''; + license = stdenv.lib.licenses.free; + maintainers = [stdenv.lib.maintainers.makefu]; + platforms = stdenv.lib.platforms.linux ; + }; +} + From 699822f572162e4ddcc0fa7f5690142cba1c8c5d Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 5 Nov 2015 12:28:25 +0100 Subject: [PATCH 49/56] m 1 wry: use new import layout for CAC from tv --- makefu/1systems/wry.nix | 7 +++++-- makefu/2configs/headless.nix | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/makefu/1systems/wry.nix b/makefu/1systems/wry.nix index c90b84451..90710c857 100644 --- a/makefu/1systems/wry.nix +++ b/makefu/1systems/wry.nix @@ -8,7 +8,8 @@ let in { imports = [ # TODO: copy this config or move to krebs - ../../tv/2configs/CAC-CentOS-7-64bit.nix + ../../tv/2configs/hw/CAC.nix + ../../tv/2configs/fs/CAC-CentOS-7-64bit.nix ../2configs/base.nix ../2configs/unstable-sources.nix ../2configs/headless.nix @@ -23,6 +24,8 @@ in { # other nginx ../2configs/nginx/euer.wiki.nix + ../2configs/nginx/euer.blog.nix + # collectd ../2configs/collectd/collectd-base.nix ]; @@ -71,5 +74,5 @@ in { nameservers = [ "8.8.8.8" ]; }; - + environment.systemPackages = [ pkgs.translate-shell ]; } diff --git a/makefu/2configs/headless.nix b/makefu/2configs/headless.nix index 33847c5e1..772ca3771 100644 --- a/makefu/2configs/headless.nix +++ b/makefu/2configs/headless.nix @@ -1,4 +1,4 @@ -_: +{lib,... }: { - sound.enable = false; + sound.enable = lib.mkForce false; } From f02a96efb22d10b529483a7e14301cd46b58a40d Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 5 Nov 2015 12:31:09 +0100 Subject: [PATCH 50/56] m 2 nginx/euer*: prepare folders if they do not exist --- makefu/2configs/nginx/euer.blog.nix | 34 +++++++++++++++++++++++++---- makefu/2configs/nginx/euer.wiki.nix | 13 ++++++----- 2 files changed, 38 insertions(+), 9 deletions(-) diff --git a/makefu/2configs/nginx/euer.blog.nix b/makefu/2configs/nginx/euer.blog.nix index e97050ec4..c6724c617 100644 --- a/makefu/2configs/nginx/euer.blog.nix +++ b/makefu/2configs/nginx/euer.blog.nix @@ -5,14 +5,40 @@ let sec = toString ; ssl_cert = "${sec}/wildcard.krebsco.de.crt"; ssl_key = "${sec}/wildcard.krebsco.de.key"; - hostname = krebs.build.host.name; + hostname = config.krebs.build.host.name; + user = config.services.nginx.user; + group = config.services.nginx.group; + external-ip = head config.krebs.build.host.nets.internet.addrs4; + internal-ip = head config.krebs.build.host.nets.retiolum.addrs4; + base-dir = "/var/www/blog.euer"; in { + # Prepare Blog directory + systemd.services.prepare-euer-blog = { + wantedBy = [ "local-fs.target" ]; + before = [ "nginx.service" ]; + serviceConfig = { + # do nothing if the base dir already exists + ExecStart = pkgs.writeScript "prepare-euer-blog-service" '' + #!/bin/sh + if ! test -d "${base-dir}" ;then + mkdir -p "${base-dir}" + chown ${user}:${group} "${base-dir}" + chmod 700 "${base-dir}" + fi + ''; + Type = "oneshot"; + RemainAfterExit = "yes"; + TimeoutSec = "0"; + }; + }; + krebs.nginx = { enable = mkDefault true; servers = { euer-blog = { - listen = [ "80" "443 ssl" ]; - server-names = [ "euer.krebsco.de" "euer.blog.krebsco.de" "blog.${hostname}" ]; + listen = [ "${external-ip}:80" "${external-ip}:443 ssl" + "${internal-ip}:80" "${internal-ip}:443 ssl" ]; + server-names = [ "euer.krebsco.de" "blog.euer.krebsco.de" "blog.${hostname}" ]; extraConfig = '' gzip on; gzip_buffers 4 32k; @@ -22,7 +48,7 @@ in { default_type text/plain; ''; locations = singleton (nameValuePair "/" '' - root /var/www/euer.blog/; + root ${base-dir}; ''); }; }; diff --git a/makefu/2configs/nginx/euer.wiki.nix b/makefu/2configs/nginx/euer.wiki.nix index fbcfe2047..2b5fa6ead 100644 --- a/makefu/2configs/nginx/euer.wiki.nix +++ b/makefu/2configs/nginx/euer.wiki.nix @@ -51,18 +51,21 @@ in { serviceConfig = { ExecStart = pkgs.writeScript "prepare-tw-service" '' #!/bin/sh - mkdir -p "${wiki-dir}" "${backup-dir}" + if ! test -d "${base-dir}" ;then + mkdir -p "${wiki-dir}" "${backup-dir}" - # write the base configuration - cat > "${base-cfg}" < "${base-cfg}" < Date: Thu, 5 Nov 2015 12:31:54 +0100 Subject: [PATCH 51/56] k 3 makefu: wry handles blog and wiki --- krebs/3modules/makefu/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/krebs/3modules/makefu/default.nix b/krebs/3modules/makefu/default.nix index 2d33b9275..194676265 100644 --- a/krebs/3modules/makefu/default.nix +++ b/krebs/3modules/makefu/default.nix @@ -164,6 +164,7 @@ with lib; dc = "makefu"; #dc = "cac"; extraZones = { "krebsco.de" = '' + euer IN A ${head nets.internet.addrs4} wiki.euer IN A ${head nets.internet.addrs4} wry IN A ${head nets.internet.addrs4} io IN NS wry.krebsco.de. @@ -191,6 +192,9 @@ with lib; "paste.retiolum" "wry.retiolum" "wiki.makefu.retiolum" + "wiki.wry.retiolum" + "blog.makefu.retiolum" + "blog.wry.retiolum" ]; tinc.pubkey = '' -----BEGIN RSA PUBLIC KEY----- @@ -216,7 +220,6 @@ with lib; extraZones = { "krebsco.de" = '' - euer IN A ${head nets.internet.addrs4} share.euer IN A ${head nets.internet.addrs4} gum IN A ${head nets.internet.addrs4} ''; From 77e36a7a196e378881150b01c370c35625f08946 Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 5 Nov 2015 16:13:10 +0100 Subject: [PATCH 52/56] krebs 5 krebspaste: initial commit --- krebs/5pkgs/bepasty-client-cli/default.nix | 22 ++++++++++++++++++++++ krebs/5pkgs/krebspaste/default.nix | 9 +++++++++ 2 files changed, 31 insertions(+) create mode 100644 krebs/5pkgs/bepasty-client-cli/default.nix create mode 100644 krebs/5pkgs/krebspaste/default.nix diff --git a/krebs/5pkgs/bepasty-client-cli/default.nix b/krebs/5pkgs/bepasty-client-cli/default.nix new file mode 100644 index 000000000..990f99af6 --- /dev/null +++ b/krebs/5pkgs/bepasty-client-cli/default.nix @@ -0,0 +1,22 @@ +{ lib, pkgs, pythonPackages, fetchurl, ... }: + +with pythonPackages; buildPythonPackage rec { + name = "bepasty-client-cli-${version}"; + version = "0.3.0"; + propagatedBuildInputs = [ + python_magic + click + requests2 + ]; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/b/bepasty-client-cli/bepasty-client-cli-${version}.tar.gz"; + sha256 = "002kcplyfnmr5pn2ywdfilss0rmbm8wcdzz8hzp03ksy2zr4sdbw"; + }; + + meta = { + homepage = https://github.com/bepasty/bepasty-client-cli; + description = "CLI client for bepasty-server"; + license = lib.licenses.bsd2; + }; +} diff --git a/krebs/5pkgs/krebspaste/default.nix b/krebs/5pkgs/krebspaste/default.nix new file mode 100644 index 000000000..13920ad08 --- /dev/null +++ b/krebs/5pkgs/krebspaste/default.nix @@ -0,0 +1,9 @@ +{ writeScriptBin, pkgs }: + +# TODO: add krebs CA to toolchain, remove --insecure +# TODO: use `wrapProgram --add-flags` instead? + +writeScriptBin "krebspaste" '' + #! /bin/sh + exec ${pkgs.bepasty-client-cli}/bin/bepasty-cli --insecure --url http://paste.retiolum "$@" +'' From 12597b1febb0bc47cf98529a12e5fc6af1d8f5a4 Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 5 Nov 2015 16:21:09 +0100 Subject: [PATCH 53/56] k 5 krebspaste: resolve TODO, retiolum is always secure --- krebs/5pkgs/krebspaste/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/krebs/5pkgs/krebspaste/default.nix b/krebs/5pkgs/krebspaste/default.nix index 13920ad08..fb318af83 100644 --- a/krebs/5pkgs/krebspaste/default.nix +++ b/krebs/5pkgs/krebspaste/default.nix @@ -1,9 +1,7 @@ { writeScriptBin, pkgs }: -# TODO: add krebs CA to toolchain, remove --insecure # TODO: use `wrapProgram --add-flags` instead? - writeScriptBin "krebspaste" '' #! /bin/sh - exec ${pkgs.bepasty-client-cli}/bin/bepasty-cli --insecure --url http://paste.retiolum "$@" + exec ${pkgs.bepasty-client-cli}/bin/bepasty-cli --url http://paste.retiolum "$@" '' From e8ad43c082e54151517c45c4825e31354803e4c8 Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 6 Nov 2015 10:59:40 +0100 Subject: [PATCH 54/56] k 4 makefu: add filepimp --- krebs/3modules/makefu/default.nix | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/krebs/3modules/makefu/default.nix b/krebs/3modules/makefu/default.nix index 2d33b9275..a9279b027 100644 --- a/krebs/3modules/makefu/default.nix +++ b/krebs/3modules/makefu/default.nix @@ -210,6 +210,30 @@ with lib; }; }; }; + filepimp = rec { + cores = 1; + dc = "makefu"; #nas + + nets = { + retiolum = { + addrs4 = ["10.243.153.102"]; + addrs6 = ["42:4b0b:d990:55ba:8da8:630f:dc0e:aae0"]; + aliases = [ + "filepimp.retiolum" + ]; + tinc.pubkey = '' + -----BEGIN RSA PUBLIC KEY----- + MIIBCgKCAQEAvgvzx3rT/3zLuCkzXk1ZkYBkG4lltxrLOLNivohw2XAzrYDIw/ZY + BTDDcD424EkNOF6g/3tIRWqvVGZ1u12WQ9A/R+2F7i1SsaE4nTxdNlQ5rjy80gO3 + i1ZubMkTGwd1OYjJytYdcMTwM9V9/8QYFiiWqh77Xxu/FhY6PcQqwHxM7SMyZCJ7 + 09gtZuR16ngKnKfo2tw6C3hHQtWCfORVbWQq5cmGzCb4sdIKow5BxUC855MulNsS + u5l+G8wX+UbDI85VSDAtOP4QaSFzLL+U0aaDAmq0NO1QiODJoCo0iPhULZQTFZUa + OMDYHHfqzluEI7n8ENI4WwchDXH+MstsgwIDAQAB + -----END RSA PUBLIC KEY----- + ''; + }; + }; + }; gum = rec { cores = 1; dc = "online.net"; #root-server From 2dcb2918d1cd159d9282096ef3b5cecc4239bfbc Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 6 Nov 2015 11:01:49 +0100 Subject: [PATCH 55/56] m 1,2: refactor, remove overhead for fs/hw, add filepimp --- makefu/1systems/filepimp.nix | 41 ++++++++++++++++++++ makefu/1systems/pnp.nix | 2 + makefu/1systems/repunit.nix | 15 +------ makefu/2configs/fs/cac-boot-partition.nix | 2 - makefu/2configs/fs/sda-crypto-root.nix | 4 +- makefu/2configs/fs/single-partition-ext4.nix | 10 +++++ makefu/2configs/fs/vm-single-partition.nix | 15 ++----- makefu/2configs/hw/tp-x2x0.nix | 2 + 8 files changed, 61 insertions(+), 30 deletions(-) create mode 100644 makefu/1systems/filepimp.nix create mode 100644 makefu/2configs/fs/single-partition-ext4.nix diff --git a/makefu/1systems/filepimp.nix b/makefu/1systems/filepimp.nix new file mode 100644 index 000000000..fabecec83 --- /dev/null +++ b/makefu/1systems/filepimp.nix @@ -0,0 +1,41 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ config, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ../2configs/base.nix + ../2configs/fs/vm-single-partition.nix + ../2configs/fs/single-partition-ext4.nix + ../2configs/tinc-basic-retiolum.nix + ../2configs/base-sources.nix + ]; + krebs.build.host = config.krebs.hosts.filepimp; + krebs.build.user = config.krebs.users.makefu; + krebs.build.target = "root@filepimp"; + + # AMD N54L + boot = { + loader.grub.device = "/dev/sda"; + + initrd.availableKernelModules = [ + "usb_storage" + "ahci" + "xhci_hcd" + "ata_piix" + "uhci_hcd" + "ehci_pci" + ]; + + kernelModules = [ ]; + extraModulePackages = [ ]; + }; + + hardware.enableAllFirmware = true; + hardware.cpu.amd.updateMicrocode = true; + + networking.firewall.allowPing = true; +} diff --git a/makefu/1systems/pnp.nix b/makefu/1systems/pnp.nix index 9c7be3b79..27c5ff2e1 100644 --- a/makefu/1systems/pnp.nix +++ b/makefu/1systems/pnp.nix @@ -14,6 +14,8 @@ ../2configs/headless.nix # HW/FS + + # enables virtio kernel modules in initrd ../2configs/fs/vm-single-partition.nix diff --git a/makefu/1systems/repunit.nix b/makefu/1systems/repunit.nix index d98ff17c1..2e132f308 100644 --- a/makefu/1systems/repunit.nix +++ b/makefu/1systems/repunit.nix @@ -9,26 +9,13 @@ [ # Include the results of the hardware scan. ../2configs/base.nix + ../2configs/base-sources.nix ../2configs/cgit-retiolum.nix ]; krebs.build.host = config.krebs.hosts.repunit; krebs.build.user = config.krebs.users.makefu; krebs.build.target = "root@repunit"; - krebs.build.deps = { - nixpkgs = { - url = https://github.com/NixOS/nixpkgs; - #url = https://github.com/makefu/nixpkgs; - rev = "13576925552b1d0751498fdda22e91a055a1ff6c"; - }; - secrets = { - url = "/home/makefu/secrets/${config.krebs.build.host.name}"; - }; - stockholm = { - url = toString ../..; - }; - }; - boot.loader.grub.enable = true; boot.loader.grub.version = 2; boot.loader.grub.device = "/dev/vda"; diff --git a/makefu/2configs/fs/cac-boot-partition.nix b/makefu/2configs/fs/cac-boot-partition.nix index fdf4b89d8..cec004582 100644 --- a/makefu/2configs/fs/cac-boot-partition.nix +++ b/makefu/2configs/fs/cac-boot-partition.nix @@ -18,6 +18,4 @@ with lib; hardware.enableAllFirmware = true; nixpkgs.config.allowUnfree = true; - hardware.cpu.amd.updateMicrocode = true; - } diff --git a/makefu/2configs/fs/sda-crypto-root.nix b/makefu/2configs/fs/sda-crypto-root.nix index 54db87547..2bfe26960 100644 --- a/makefu/2configs/fs/sda-crypto-root.nix +++ b/makefu/2configs/fs/sda-crypto-root.nix @@ -6,8 +6,8 @@ with lib; { boot = { - loader.grub.enable =true; - loader.grub.version =2; + loader.grub.enable = true; + loader.grub.version = 2; loader.grub.device = "/dev/sda"; initrd.luks.devices = [ { name = "luksroot"; device = "/dev/sda2"; allowDiscards=true; }]; diff --git a/makefu/2configs/fs/single-partition-ext4.nix b/makefu/2configs/fs/single-partition-ext4.nix new file mode 100644 index 000000000..1970c949f --- /dev/null +++ b/makefu/2configs/fs/single-partition-ext4.nix @@ -0,0 +1,10 @@ +{config, ...}: +{ + boot.loader.grub.enable = assert config.boot.loader.grub.device != ""; true; + boot.loader.grub.version = 2; + + fileSystems."/" = { + device = "/dev/disk/by-label/nixos"; + fsType = "ext4"; + }; +} diff --git a/makefu/2configs/fs/vm-single-partition.nix b/makefu/2configs/fs/vm-single-partition.nix index 78a5e7175..27e28cb68 100644 --- a/makefu/2configs/fs/vm-single-partition.nix +++ b/makefu/2configs/fs/vm-single-partition.nix @@ -3,18 +3,9 @@ # vda1 ext4 (label nixos) -> only root partition with lib; { - boot.loader.grub.enable = true; - boot.loader.grub.version = 2; + imports = [ + ./single-partition-ext4.nix + ]; boot.loader.grub.device = "/dev/vda"; - fileSystems."/" = { - device = "/dev/disk/by-label/nixos"; - fsType = "ext4"; - }; - - hardware.enableAllFirmware = true; - nixpkgs.config.allowUnfree = true; - hardware.cpu.amd.updateMicrocode = true; - - } diff --git a/makefu/2configs/hw/tp-x2x0.nix b/makefu/2configs/hw/tp-x2x0.nix index aa2fc2050..047895ce6 100644 --- a/makefu/2configs/hw/tp-x2x0.nix +++ b/makefu/2configs/hw/tp-x2x0.nix @@ -8,6 +8,8 @@ with lib; hardware.enableAllFirmware = true; nixpkgs.config.allowUnfree = true; + hardware.cpu.intel.updateMicrocode = true; + zramSwap.enable = true; zramSwap.numDevices = 2; From 288324507c03548286f37e1810cebb22813b8001 Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 6 Nov 2015 23:54:27 +0100 Subject: [PATCH 56/56] m 2: base -> default, rm base-sources --- makefu/1systems/filepimp.nix | 5 +--- makefu/1systems/gum.nix | 8 +----- makefu/1systems/pnp.nix | 4 --- makefu/1systems/pornocauster.nix | 22 +++++++-------- makefu/1systems/repunit.nix | 4 --- makefu/1systems/tsp.nix | 11 -------- makefu/1systems/wry.nix | 8 ++---- makefu/2configs/base-sources.nix | 21 --------------- makefu/2configs/{base.nix => default.nix} | 33 ++++++++++++++++++++--- makefu/2configs/unstable-sources.nix | 16 ++--------- 10 files changed, 47 insertions(+), 85 deletions(-) delete mode 100644 makefu/2configs/base-sources.nix rename makefu/2configs/{base.nix => default.nix} (73%) diff --git a/makefu/1systems/filepimp.nix b/makefu/1systems/filepimp.nix index fabecec83..fb1a57552 100644 --- a/makefu/1systems/filepimp.nix +++ b/makefu/1systems/filepimp.nix @@ -7,15 +7,12 @@ { imports = [ # Include the results of the hardware scan. - ../2configs/base.nix + ../2configs/default.nix ../2configs/fs/vm-single-partition.nix ../2configs/fs/single-partition-ext4.nix ../2configs/tinc-basic-retiolum.nix - ../2configs/base-sources.nix ]; krebs.build.host = config.krebs.hosts.filepimp; - krebs.build.user = config.krebs.users.makefu; - krebs.build.target = "root@filepimp"; # AMD N54L boot = { diff --git a/makefu/1systems/gum.nix b/makefu/1systems/gum.nix index c4fa064b3..85cf4c533 100644 --- a/makefu/1systems/gum.nix +++ b/makefu/1systems/gum.nix @@ -7,8 +7,6 @@ let in { imports = [ # TODO: copy this config or move to krebs - ../2configs/base.nix - ../2configs/base-sources.nix ../2configs/tinc-basic-retiolum.nix ../2configs/headless.nix # ../2configs/iodined.nix @@ -17,11 +15,7 @@ in { ../2configs/Reaktor/simpleExtend.nix ]; - krebs.build = { - user = config.krebs.users.makefu; - target = "root@gum.krebsco.de"; - host = config.krebs.hosts.gum; - }; + krebs.build.host = config.krebs.hosts.gum; krebs.Reaktor.enable = true; diff --git a/makefu/1systems/pnp.nix b/makefu/1systems/pnp.nix index 27c5ff2e1..161bfa3e9 100644 --- a/makefu/1systems/pnp.nix +++ b/makefu/1systems/pnp.nix @@ -8,8 +8,6 @@ imports = [ # Include the results of the hardware scan. # Base - ../2configs/base.nix - ../2configs/base-sources.nix ../2configs/tinc-basic-retiolum.nix ../2configs/headless.nix @@ -45,8 +43,6 @@ }; krebs.build.host = config.krebs.hosts.pnp; - krebs.build.user = config.krebs.users.makefu; - krebs.build.target = "root@pnp"; nixpkgs.config.packageOverrides = pkgs: { tinc = pkgs.tinc_pre; }; diff --git a/makefu/1systems/pornocauster.nix b/makefu/1systems/pornocauster.nix index 97cf86a4e..8624cb2d1 100644 --- a/makefu/1systems/pornocauster.nix +++ b/makefu/1systems/pornocauster.nix @@ -6,12 +6,8 @@ { imports = [ # Include the results of the hardware scan. - ../2configs/base.nix ../2configs/main-laptop.nix #< base-gui - # configures sources - ../2configs/base-sources.nix - # Krebs ../2configs/tinc-basic-retiolum.nix #../2configs/disable_v6.nix @@ -23,7 +19,8 @@ ../2configs/exim-retiolum.nix ../2configs/mail-client.nix #../2configs/virtualization.nix - ../2configs/virtualization-virtualbox.nix + ../2configs/virtualization.nix + #../2configs/virtualization-virtualbox.nix ../2configs/wwan.nix # services @@ -34,16 +31,19 @@ ../2configs/hw/tp-x220.nix # mount points ../2configs/fs/sda-crypto-root-home.nix + # ../2configs/mediawiki.nix + #../2configs/wordpress.nix ]; - krebs.Reaktor.enable = true; - krebs.Reaktor.debug = true; - krebs.Reaktor.nickname = "makefu|r"; + #krebs.Reaktor.enable = true; + #krebs.Reaktor.nickname = "makefu|r"; krebs.build.host = config.krebs.hosts.pornocauster; - krebs.build.user = config.krebs.users.makefu; - krebs.build.target = "root@pornocauster"; - environment.systemPackages = with pkgs;[ get ]; + environment.systemPackages = with pkgs;[ + get + virtmanager + gnome3.dconf + ]; services.logind.extraConfig = "HandleLidSwitch=ignore"; # configure pulseAudio to provide a HDMI sink as well diff --git a/makefu/1systems/repunit.nix b/makefu/1systems/repunit.nix index 2e132f308..a069cc36f 100644 --- a/makefu/1systems/repunit.nix +++ b/makefu/1systems/repunit.nix @@ -8,13 +8,9 @@ imports = [ # Include the results of the hardware scan. - ../2configs/base.nix - ../2configs/base-sources.nix ../2configs/cgit-retiolum.nix ]; krebs.build.host = config.krebs.hosts.repunit; - krebs.build.user = config.krebs.users.makefu; - krebs.build.target = "root@repunit"; boot.loader.grub.enable = true; boot.loader.grub.version = 2; diff --git a/makefu/1systems/tsp.nix b/makefu/1systems/tsp.nix index 3c2bb2eda..990db65d2 100644 --- a/makefu/1systems/tsp.nix +++ b/makefu/1systems/tsp.nix @@ -6,7 +6,6 @@ { imports = [ # Include the results of the hardware scan. - ../2configs/base.nix ../2configs/base-gui.nix ../2configs/tinc-basic-retiolum.nix ../2configs/fs/sda-crypto-root.nix @@ -21,19 +20,9 @@ ]; # not working in vm krebs.build.host = config.krebs.hosts.tsp; - krebs.build.user = config.krebs.users.makefu; - krebs.build.target = "root@tsp"; - networking.firewall.allowedTCPPorts = [ 25 ]; - krebs.build.deps = { - nixpkgs = { - url = https://github.com/NixOS/nixpkgs; - #url = https://github.com/makefu/nixpkgs; - rev = "13576925552b1d0751498fdda22e91a055a1ff6c"; - }; - }; } diff --git a/makefu/1systems/wry.nix b/makefu/1systems/wry.nix index 90710c857..ba94972fb 100644 --- a/makefu/1systems/wry.nix +++ b/makefu/1systems/wry.nix @@ -10,7 +10,6 @@ in { # TODO: copy this config or move to krebs ../../tv/2configs/hw/CAC.nix ../../tv/2configs/fs/CAC-CentOS-7-64bit.nix - ../2configs/base.nix ../2configs/unstable-sources.nix ../2configs/headless.nix ../2configs/tinc-basic-retiolum.nix @@ -30,11 +29,7 @@ in { ../2configs/collectd/collectd-base.nix ]; - krebs.build = { - user = config.krebs.users.makefu; - target = "root@wry"; - host = config.krebs.hosts.wry; - }; + krebs.build.host = config.krebs.hosts.wry; krebs.Reaktor.enable = true; @@ -62,6 +57,7 @@ in { }; }; }; + networking = { firewall.allowPing = true; firewall.allowedTCPPorts = [ 53 80 443 ]; diff --git a/makefu/2configs/base-sources.nix b/makefu/2configs/base-sources.nix deleted file mode 100644 index 65c6e8e76..000000000 --- a/makefu/2configs/base-sources.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ config, lib, pkgs, ... }: - -{ - system.stateVersion = "15.09"; - krebs.build.source = { - git.nixpkgs = { - #url = https://github.com/NixOS/nixpkgs; - url = https://github.com/makefu/nixpkgs; - rev = "78340b042463fd35caa587b0db2e400e5666dbe1"; # nixos-15.09 + cherry-picked iodine - }; - - dir.secrets = { - host = config.krebs.hosts.pornocauster; - path = "/home/makefu/secrets/${config.krebs.build.host.name}/"; - }; - dir.stockholm = { - host = config.krebs.hosts.pornocauster; - path = toString ../.. ; - }; - }; -} diff --git a/makefu/2configs/base.nix b/makefu/2configs/default.nix similarity index 73% rename from makefu/2configs/base.nix rename to makefu/2configs/default.nix index 4e38c27f8..3d9174788 100644 --- a/makefu/2configs/base.nix +++ b/makefu/2configs/default.nix @@ -2,6 +2,8 @@ with lib; { + system.stateVersion = "15.09"; + imports = [ { users.extraUsers = @@ -10,10 +12,36 @@ with lib; } ./vim.nix ]; - krebs.enable = true; - krebs.search-domain = "retiolum"; + krebs = { + enable = true; + search-domain = "retiolum"; + build = { + target = mkDefault "root@${config.krebs.build.host.name}"; + user = config.krebs.users.makefu; + source = { + git.nixpkgs = { + #url = https://github.com/NixOS/nixpkgs; + url = mkDefault https://github.com/makefu/nixpkgs; + rev = mkDefault "78340b042463fd35caa587b0db2e400e5666dbe1"; # nixos-15.09 + cherry-picking + target-path = "/var/src/nixpkgs"; + }; + + dir.secrets = { + host = config.krebs.hosts.pornocauster; + path = "/home/makefu/secrets/${config.krebs.build.host.name}/"; + }; + + dir.stockholm = { + host = config.krebs.hosts.pornocauster; + path = "/home/makefu/stockholm" ; + target-path = "/var/src/stockholm"; + }; + }; + }; + }; + users.extraUsers = { root = { openssh.authorizedKeys.keys = [ config.krebs.users.makefu.pubkey ]; @@ -56,7 +84,6 @@ with lib; environment.systemPackages = with pkgs; [ jq git - vim gnumake rxvt_unicode.terminfo htop diff --git a/makefu/2configs/unstable-sources.nix b/makefu/2configs/unstable-sources.nix index 7bd5f50cb..7a9a8a81c 100644 --- a/makefu/2configs/unstable-sources.nix +++ b/makefu/2configs/unstable-sources.nix @@ -1,20 +1,8 @@ -{ config, lib, pkgs, ... }: +_: { - system.stateVersion = "15.09"; - krebs.build.source = { - git.nixpkgs = { + krebs.build.source.git.nixpkgs = { url = https://github.com/makefu/nixpkgs; rev = "15b5bbfbd1c8a55e7d9e05dd9058dc102fac04fe"; # cherry-picked collectd }; - - dir.secrets = { - host = config.krebs.hosts.pornocauster; - path = "/home/makefu/secrets/${config.krebs.build.host.name}/"; - }; - dir.stockholm = { - host = config.krebs.hosts.pornocauster; - path = toString ../.. ; - }; - }; }