From cca25c7b66c44e0ec826d466bd48f2463df03fe9 Mon Sep 17 00:00:00 2001 From: makefu Date: Sun, 25 Oct 2015 18:06:46 +0100 Subject: wry: listen for graphs.retiolum --- makefu/1systems/wry.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'makefu') 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" ] ; -- cgit v1.2.3 From 642583145200f5a2cb8be1b38707e2b2ea3dc3e5 Mon Sep 17 00:00:00 2001 From: makefu Date: Sun, 25 Oct 2015 21:54:59 +0100 Subject: k 3 tinc_graphs: is now completely self-contained --- makefu/5pkgs/tinc_graphs/default.nix | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 makefu/5pkgs/tinc_graphs/default.nix (limited to 'makefu') diff --git a/makefu/5pkgs/tinc_graphs/default.nix b/makefu/5pkgs/tinc_graphs/default.nix deleted file mode 100644 index 62a787d30..000000000 --- a/makefu/5pkgs/tinc_graphs/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{stdenv,fetchurl,pkgs,python3Packages, ... }: - -python3Packages.buildPythonPackage rec { - name = "tinc_graphs-${version}"; - version = "0.3.6"; - 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"; - }; - preFixup = with pkgs;'' - wrapProgram $out/bin/build-graphs --prefix PATH : "$out/bin" - wrapProgram $out/bin/all-the-graphs --prefix PATH : "${imagemagick}/bin:${graphviz}/bin:$out/bin" - wrapProgram $out/bin/tinc-stats2json --prefix PATH : "${tinc}/bin" - ''; - - meta = { - homepage = http://krebsco.de/; - description = "Create Graphs from Tinc Stats"; - license = stdenv.lib.licenses.wtfpl; - }; -} - -- cgit v1.2.3 From cb1b101dfa2c8e0aa9a3ef0c64788912e0148085 Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 26 Oct 2015 00:02:51 +0100 Subject: tinc_graphs: clean up mv {makefu,krebs} --- makefu/5pkgs/default.nix | 1 - 1 file changed, 1 deletion(-) (limited to 'makefu') 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 {}; } -- cgit v1.2.3 From 20ad77468131b7c69c5b3a26ea149ae7fdc0173b Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 26 Oct 2015 00:47:10 +0100 Subject: m 1 pnp: make urlwatch verbose, update url list --- makefu/1systems/pnp.nix | 2 ++ makefu/2configs/urlwatch.nix | 2 ++ 2 files changed, 4 insertions(+) (limited to 'makefu') 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/ ]; }; -- cgit v1.2.3 From 3708839857669e3c7fc9899e324350ff55a34586 Mon Sep 17 00:00:00 2001 From: makefu Date: Tue, 27 Oct 2015 18:11:13 +0100 Subject: 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 (limited to 'makefu') 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) ]; + }; + +} -- cgit v1.2.3 From fe4f5b98b91f6bacb036d57b5322fb4e09c22f14 Mon Sep 17 00:00:00 2001 From: makefu Date: Tue, 27 Oct 2015 18:12:05 +0100 Subject: 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(-) (limited to 'makefu') 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 = { -- cgit v1.2.3 From bd09f983913ed6e0181d2a9bc4e92e1e8fa4c4fe Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 28 Oct 2015 15:05:15 +0100 Subject: 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 (limited to 'makefu') 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; +} -- cgit v1.2.3 From 85f48e73b223ae3d4cddf577b66188954750d608 Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 28 Oct 2015 15:05:48 +0100 Subject: m 2 urlwatch: replace dynamic with static page for bepasty --- makefu/2configs/urlwatch.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'makefu') 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/ ]; -- cgit v1.2.3 From c6ca11062ab3a1e2f6903a08ba57bf394bfa05e3 Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 28 Oct 2015 15:06:41 +0100 Subject: m 1 gum: prepare stockholm --- makefu/1systems/gum.nix | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 makefu/1systems/gum.nix (limited to 'makefu') 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 +} -- cgit v1.2.3 From 2a7fab786fb3da081849dbfb85acde957571218c Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 28 Oct 2015 15:09:31 +0100 Subject: m 2 sources: add system tag --- makefu/2configs/base-sources.nix | 1 + makefu/2configs/unstable-sources.nix | 1 + 2 files changed, 2 insertions(+) (limited to 'makefu') 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; -- cgit v1.2.3 From 6147e3069ac3df5c4c652c47d2c1ee459493d784 Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 28 Oct 2015 17:43:36 +0100 Subject: 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 (limited to 'makefu') 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"; +} -- cgit v1.2.3 From 23424a3a2ae7fd489547c453374d6ffc551c5483 Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 28 Oct 2015 21:27:39 +0100 Subject: m 5 tw-upload-plugin: use new version --- makefu/5pkgs/tw-upload-plugin/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'makefu') 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"; } -- cgit v1.2.3 From 84ebd8c02132131d893fd9bb92ea523e59272649 Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 28 Oct 2015 21:31:07 +0100 Subject: m 1 wry: serve euer wiki --- makefu/1systems/wry.nix | 6 +- makefu/2configs/nginx/euer.wiki.nix | 114 ++++++++++++++++++++++++++++++++++++ 2 files changed, 118 insertions(+), 2 deletions(-) create mode 100644 makefu/2configs/nginx/euer.wiki.nix (limited to 'makefu') 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: 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 (limited to 'makefu') 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/; + ''); + }; + }; + }; +} -- cgit v1.2.3 From 6410fd0f8557658fa5e180844def32f8bda7313d Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 29 Oct 2015 10:55:54 +0100 Subject: 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(-) (limited to 'makefu') 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 { -- cgit v1.2.3 From 699822f572162e4ddcc0fa7f5690142cba1c8c5d Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 5 Nov 2015 12:28:25 +0100 Subject: 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(-) (limited to 'makefu') 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; } -- cgit v1.2.3 From f02a96efb22d10b529483a7e14301cd46b58a40d Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 5 Nov 2015 12:31:09 +0100 Subject: 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(-) (limited to 'makefu') 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: Fri, 6 Nov 2015 11:01:49 +0100 Subject: 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 (limited to 'makefu') 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; -- cgit v1.2.3 From 288324507c03548286f37e1810cebb22813b8001 Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 6 Nov 2015 23:54:27 +0100 Subject: 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 | 115 ---------------------------- makefu/2configs/default.nix | 142 +++++++++++++++++++++++++++++++++++ makefu/2configs/unstable-sources.nix | 16 +--- 11 files changed, 159 insertions(+), 197 deletions(-) delete mode 100644 makefu/2configs/base-sources.nix delete mode 100644 makefu/2configs/base.nix create mode 100644 makefu/2configs/default.nix (limited to 'makefu') 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/base.nix deleted file mode 100644 index 4e38c27f8..000000000 --- a/makefu/2configs/base.nix +++ /dev/null @@ -1,115 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; -{ - imports = [ - { - users.extraUsers = - mapAttrs (_: h: { hashedPassword = h; }) - (import ); - } - ./vim.nix - ]; - krebs.enable = true; - krebs.search-domain = "retiolum"; - - - users.extraUsers = { - root = { - openssh.authorizedKeys.keys = [ config.krebs.users.makefu.pubkey ]; - }; - makefu = { - uid = 9001; - group = "users"; - home = "/home/makefu"; - createHome = true; - useDefaultShell = true; - extraGroups = [ - "wheel" - ]; - openssh.authorizedKeys.keys = [ config.krebs.users.makefu.pubkey ]; - }; - }; - - networking.hostName = config.krebs.build.host.name; - nix.maxJobs = config.krebs.build.host.cores; - - time.timeZone = "Europe/Berlin"; - #nix.maxJobs = 1; - - services.openssh.enable = true; - nix.useChroot = true; - - users.mutableUsers = false; - - boot.tmpOnTmpfs = true; - - networking.firewall.rejectPackets = true; - networking.firewall.allowPing = true; - - systemd.tmpfiles.rules = [ - "d /tmp 1777 root root - -" - ]; - - environment.variables.EDITOR = mkForce "vim"; - - environment.systemPackages = with pkgs; [ - jq - git - vim - gnumake - rxvt_unicode.terminfo - htop - ]; - - programs.bash = { - enableCompletion = true; - interactiveShellInit = '' - HISTCONTROL='erasedups:ignorespace' - HISTSIZE=900001 - HISTFILESIZE=$HISTSIZE - - shopt -s checkhash - shopt -s histappend histreedit histverify - shopt -s no_empty_cmd_completion - ''; - - promptInit = '' - case $UID in - 0) PS1='\[\e[1;31m\]\w\[\e[0m\] ' ;; - 9001) PS1='\[\e[1;32m\]\w\[\e[0m\] ' ;; - *) PS1='\[\e[1;35m\]\u \[\e[1;32m\]\w\[\e[0m\] ' ;; - esac - if test -n "$SSH_CLIENT"; then - PS1='\[\033[35m\]\h'" $PS1" - fi - ''; - }; - - environment.shellAliases = { - lsl = "ls -lAtr"; - }; - - nixpkgs.config.packageOverrides = pkgs: { - nano = pkgs.runCommand "empty" {} "mkdir -p $out"; - }; - - services.cron.enable = false; - services.nscd.enable = false; - - security.setuidPrograms = [ "sendmail" ]; - services.journald.extraConfig = '' - SystemMaxUse=1G - RuntimeMaxUse=128M - ''; - # Enable IPv6 Privacy Extensions - boot.kernel.sysctl = { - "net.ipv6.conf.all.use_tempaddr" = 2; - "net.ipv6.conf.default.use_tempaddr" = 2; - }; - - i18n = { - consoleKeyMap = "us"; - defaultLocale = "en_US.UTF-8"; - }; -} diff --git a/makefu/2configs/default.nix b/makefu/2configs/default.nix new file mode 100644 index 000000000..3d9174788 --- /dev/null +++ b/makefu/2configs/default.nix @@ -0,0 +1,142 @@ +{ config, lib, pkgs, ... }: + +with lib; +{ + system.stateVersion = "15.09"; + + imports = [ + { + users.extraUsers = + mapAttrs (_: h: { hashedPassword = h; }) + (import ); + } + ./vim.nix + ]; + + + 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 ]; + }; + makefu = { + uid = 9001; + group = "users"; + home = "/home/makefu"; + createHome = true; + useDefaultShell = true; + extraGroups = [ + "wheel" + ]; + openssh.authorizedKeys.keys = [ config.krebs.users.makefu.pubkey ]; + }; + }; + + networking.hostName = config.krebs.build.host.name; + nix.maxJobs = config.krebs.build.host.cores; + + time.timeZone = "Europe/Berlin"; + #nix.maxJobs = 1; + + services.openssh.enable = true; + nix.useChroot = true; + + users.mutableUsers = false; + + boot.tmpOnTmpfs = true; + + networking.firewall.rejectPackets = true; + networking.firewall.allowPing = true; + + systemd.tmpfiles.rules = [ + "d /tmp 1777 root root - -" + ]; + + environment.variables.EDITOR = mkForce "vim"; + + environment.systemPackages = with pkgs; [ + jq + git + gnumake + rxvt_unicode.terminfo + htop + ]; + + programs.bash = { + enableCompletion = true; + interactiveShellInit = '' + HISTCONTROL='erasedups:ignorespace' + HISTSIZE=900001 + HISTFILESIZE=$HISTSIZE + + shopt -s checkhash + shopt -s histappend histreedit histverify + shopt -s no_empty_cmd_completion + ''; + + promptInit = '' + case $UID in + 0) PS1='\[\e[1;31m\]\w\[\e[0m\] ' ;; + 9001) PS1='\[\e[1;32m\]\w\[\e[0m\] ' ;; + *) PS1='\[\e[1;35m\]\u \[\e[1;32m\]\w\[\e[0m\] ' ;; + esac + if test -n "$SSH_CLIENT"; then + PS1='\[\033[35m\]\h'" $PS1" + fi + ''; + }; + + environment.shellAliases = { + lsl = "ls -lAtr"; + }; + + nixpkgs.config.packageOverrides = pkgs: { + nano = pkgs.runCommand "empty" {} "mkdir -p $out"; + }; + + services.cron.enable = false; + services.nscd.enable = false; + + security.setuidPrograms = [ "sendmail" ]; + services.journald.extraConfig = '' + SystemMaxUse=1G + RuntimeMaxUse=128M + ''; + # Enable IPv6 Privacy Extensions + boot.kernel.sysctl = { + "net.ipv6.conf.all.use_tempaddr" = 2; + "net.ipv6.conf.default.use_tempaddr" = 2; + }; + + i18n = { + consoleKeyMap = "us"; + defaultLocale = "en_US.UTF-8"; + }; +} 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 ../.. ; - }; - }; } -- cgit v1.2.3