summaryrefslogtreecommitdiffstats
path: root/krebs/2configs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2020-12-02 00:45:50 +0100
committertv <tv@krebsco.de>2020-12-02 00:45:50 +0100
commitd60b1b793f3a1635c1fe30aa11b64831fd665b4f (patch)
treed484b1315dab9b6c3d230118f6e33b0888f0aca5 /krebs/2configs
parent29827720520b6a4885dbdcb3237070e6e45dd910 (diff)
parent813eefa3c55fd1cd234b0adb1da7286bd761b579 (diff)
Merge remote-tracking branch 'prism/master' into master
Diffstat (limited to 'krebs/2configs')
-rw-r--r--krebs/2configs/default.nix1
-rw-r--r--krebs/2configs/gitlab-runner-shackspace.nix33
-rw-r--r--krebs/2configs/nscd-fix.nix24
-rw-r--r--krebs/2configs/reaktor2.nix2
-rw-r--r--krebs/2configs/shack/gitlab-runner.nix62
-rw-r--r--krebs/2configs/shack/glados/default.nix19
-rw-r--r--krebs/2configs/shack/glados/deps/dwd_pollen.nix32
-rw-r--r--krebs/2configs/shack/mqtt_sub.nix2
-rw-r--r--krebs/2configs/shack/share.nix3
-rw-r--r--krebs/2configs/tor/initrd.nix50
10 files changed, 101 insertions, 127 deletions
diff --git a/krebs/2configs/default.nix b/krebs/2configs/default.nix
index 3442272ec..f56f6045a 100644
--- a/krebs/2configs/default.nix
+++ b/krebs/2configs/default.nix
@@ -43,7 +43,6 @@ with import <stockholm/lib>;
];
};
services.cron.enable = false;
- services.nscd.enable = false;
services.ntp.enable = false;
users.mutableUsers = false;
diff --git a/krebs/2configs/gitlab-runner-shackspace.nix b/krebs/2configs/gitlab-runner-shackspace.nix
deleted file mode 100644
index f4247b6da..000000000
--- a/krebs/2configs/gitlab-runner-shackspace.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ config, pkgs, ... }:
-let
- url = "https://git.shackspace.de/";
- # generate token from CI-token via:
- ## gitlab-runner register
- ## cat /etc/gitlab-runner/config.toml
- token = import <secrets/shackspace-gitlab-ci-token.nix> ;
-in {
- systemd.services.gitlab-runner.path = [
- "/run/wrappers" # /run/wrappers/bin/su
- "/" # /bin/sh
- ];
- systemd.services.gitlab-runner.serviceConfig.PrivateTmp = true;
- virtualisation.docker.enable = true;
- services.gitlab-runner = {
- enable = true;
- # configFile, configOptions and gracefulTimeout not yet in stable
- # gracefulTimeout = "120min";
- configFile = pkgs.writeText "gitlab-runner.cfg" ''
- concurrent = 1
- check_interval = 0
-
- [[runners]]
- name = "krebs-shell"
- url = "${url}"
- token = "${token}"
- executor = "shell"
- shell = "sh"
- environment = ["PATH=/bin:/run/wrappers/bin:/etc/per-user/gitlab-runner/bin:/etc/per-user-pkgs/gitlab-runner/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin"]
- [runners.cache]
- '';
- };
-}
diff --git a/krebs/2configs/nscd-fix.nix b/krebs/2configs/nscd-fix.nix
deleted file mode 100644
index 8e5909e72..000000000
--- a/krebs/2configs/nscd-fix.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-with import <stockholm/lib>;
-{ pkgs, ... }: let
-
- enable = versionOlderThan "19.03";
-
- versionOlderThan = v:
- compareVersions
- (versions.majorMinor version)
- (versions.majorMinor v)
- == -1;
-
- warning = ''
- Using custom services.nscd.config because
- https://github.com/NixOS/nixpkgs/pull/50316
- '';
-
-in
- optionalAttrs enable (trace warning {
- services.nscd.enable = mkForce true;
- services.nscd.config = mkForce (readFile (pkgs.fetchurl {
- url = https://raw.githubusercontent.com/arianvp/nixpkgs/1d5f4cb/nixos/modules/services/system/nscd.conf;
- sha256 = "1jlddk38lyynjn51zx3xi1nc29ahajyh0qg48qbq6dqlsrn3wxqs";
- }));
- })
diff --git a/krebs/2configs/reaktor2.nix b/krebs/2configs/reaktor2.nix
index b80198b03..473028f95 100644
--- a/krebs/2configs/reaktor2.nix
+++ b/krebs/2configs/reaktor2.nix
@@ -95,7 +95,7 @@ let
}
hooks.sed
(generators.command_hook {
- inherit (commands) hello random-emoji nixos-version stockholm-issue;
+ inherit (commands) hello random-emoji nixos-version;
tell = {
filename =
"${pkgs.Reaktor.src}/reaktor/commands/tell-on_privmsg";
diff --git a/krebs/2configs/shack/gitlab-runner.nix b/krebs/2configs/shack/gitlab-runner.nix
index bd391851a..ecb064579 100644
--- a/krebs/2configs/shack/gitlab-runner.nix
+++ b/krebs/2configs/shack/gitlab-runner.nix
@@ -1,24 +1,48 @@
-{ pkgs, ... }:
-let
- runner-src = builtins.fetchTarball {
- url = "https://gitlab.com/arianvp/nixos-gitlab-runner/-/archive/master/nixos-gitlab-runner-master.tar.gz";
- sha256 = "1s0fy5ny2ygcfvx35xws8xz5ih4z4kdfqlq3r6byxpylw7r52fyi";
- };
-in
+{ pkgs,lib, ... }:
{
- imports = [
- "${runner-src}/gitlab-runner.nix"
- ];
- services.gitlab-runner2 = {
+ services.gitlab-runner = {
enable = true;
- ## registrationConfigurationFile contains:
- # CI_SERVER_URL=<CI server URL>
- # REGISTRATION_TOKEN=<registration secret>
- # RUNNER_TAG_LIST=nix,shacklan
- # RUNNER_NAME=stockholm-runner-$name
- registrationConfigFile = <secrets/shackspace-gitlab-ci>;
- #gracefulTermination = true;
+ services= {
+ # runner for building in docker via host's nix-daemon
+ # nix store will be readable in runner, might be insecure
+ nix = with lib;{
+ # File should contain at least these two variables:
+ # `CI_SERVER_URL`
+ # `REGISTRATION_TOKEN`
+ registrationConfigFile = toString <secrets/shackspace-gitlab-ci>;
+ dockerImage = "alpine";
+ dockerVolumes = [
+ "/nix/store:/nix/store:ro"
+ "/nix/var/nix/db:/nix/var/nix/db:ro"
+ "/nix/var/nix/daemon-socket:/nix/var/nix/daemon-socket:ro"
+ ];
+ dockerDisableCache = true;
+ preBuildScript = pkgs.writeScript "setup-container" ''
+ mkdir -p -m 0755 /nix/var/log/nix/drvs
+ mkdir -p -m 0755 /nix/var/nix/gcroots
+ mkdir -p -m 0755 /nix/var/nix/profiles
+ mkdir -p -m 0755 /nix/var/nix/temproots
+ mkdir -p -m 0755 /nix/var/nix/userpool
+ mkdir -p -m 1777 /nix/var/nix/gcroots/per-user
+ mkdir -p -m 1777 /nix/var/nix/profiles/per-user
+ mkdir -p -m 0755 /nix/var/nix/profiles/per-user/root
+ mkdir -p -m 0700 "$HOME/.nix-defexpr"
+ . ${pkgs.nix}/etc/profile.d/nix.sh
+ ${pkgs.nix}/bin/nix-env -i ${concatStringsSep " " (with pkgs; [ nix cacert git openssh ])}
+ ${pkgs.nix}/bin/nix-channel --add https://nixos.org/channels/nixpkgs-unstable
+ ${pkgs.nix}/bin/nix-channel --update nixpkgs
+ '';
+ environmentVariables = {
+ ENV = "/etc/profile";
+ USER = "root";
+ NIX_REMOTE = "daemon";
+ PATH = "/nix/var/nix/profiles/default/bin:/nix/var/nix/profiles/default/sbin:/bin:/sbin:/usr/bin:/usr/sbin";
+ NIX_SSL_CERT_FILE = "/nix/var/nix/profiles/default/etc/ssl/certs/ca-bundle.crt";
+ };
+ tagList = [ "nix" "shacklan" ];
+ };
+ };
};
- systemd.services.gitlab-runner2.restartIfChanged = false;
+ systemd.services.gitlab-runner.restartIfChanged = false;
systemd.services.docker.restartIfChanged = false;
}
diff --git a/krebs/2configs/shack/glados/default.nix b/krebs/2configs/shack/glados/default.nix
index f47bca2db..04843cb24 100644
--- a/krebs/2configs/shack/glados/default.nix
+++ b/krebs/2configs/shack/glados/default.nix
@@ -21,23 +21,10 @@ in {
'';
};
};
- services.home-assistant = let
- dwd_pollen = pkgs.fetchFromGitHub {
- owner = "marcschumacher";
- repo = "dwd_pollen";
- rev = "0.1";
- sha256 = "1af2mx99gv2hk1ad53g21fwkdfdbymqcdl3jvzd1yg7dgxlkhbj1";
- };
- in {
+ services.home-assistant =
+ {
enable = true;
- package = (pkgs.home-assistant.overrideAttrs (old: { # TODO: find correct python package
- installCheckPhase = ''
- echo LOLLLLLLLLLLLLLL
- '';
- postInstall = ''
- cp -r ${dwd_pollen} $out/lib/python3.7/site-packages/homeassistant/components/dwd_pollen
- '';
- })).override {
+ package = pkgs.home-assistant.override {
extraPackages = ps: with ps; [
python-forecastio jsonrpc-async jsonrpc-websocket mpd2 pkgs.picotts
];
diff --git a/krebs/2configs/shack/glados/deps/dwd_pollen.nix b/krebs/2configs/shack/glados/deps/dwd_pollen.nix
deleted file mode 100644
index 39d9c3069..000000000
--- a/krebs/2configs/shack/glados/deps/dwd_pollen.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, python
-, voluptuous
-}:
-
-buildPythonPackage rec {
- format = "other";
- pname = "dwd_pollen";
- version = "0.1";
-
- src = fetchFromGitHub {
- owner = "marcschumacher";
- repo = "dwd_pollen";
- rev = version;
- sha256 = "1af2mx99gv2hk1ad53g21fwkdfdbymqcdl3jvzd1yg7dgxlkhbj1";
- };
- propagatedBuildInputs = [
- voluptuous
- ];
- installPhase = ''
- install -D -t $out/${python.sitePackages}/homeassistant/components/sensor/dwd_pollen *
- '';
-
- meta = with lib; {
- description = "Home Assistant component to retrieve Pollen data from DWD (Germany)";
- homepage = https://github.com/marcschumacher/dwd_pollen;
- license = licenses.mit;
- maintainers = [ maintainers.makefu ];
- };
-}
diff --git a/krebs/2configs/shack/mqtt_sub.nix b/krebs/2configs/shack/mqtt_sub.nix
index bd0b6df85..af2bc1e66 100644
--- a/krebs/2configs/shack/mqtt_sub.nix
+++ b/krebs/2configs/shack/mqtt_sub.nix
@@ -10,7 +10,7 @@ let
sha256 = "1334jbbzlqizyp7zcn4hdswhhrnkj1p4p435n5nph82lzffrsi44";
};
buildInputs = [
- (pkgs.python35.withPackages (pythonPackages: with pythonPackages; [
+ (pkgs.python3.withPackages (pythonPackages: with pythonPackages; [
docopt
paho-mqtt
]))
diff --git a/krebs/2configs/shack/share.nix b/krebs/2configs/shack/share.nix
index 465d6ef69..d8d65d309 100644
--- a/krebs/2configs/shack/share.nix
+++ b/krebs/2configs/shack/share.nix
@@ -37,6 +37,9 @@
# for legacy systems
client min protocol = NT1
server min protocol = NT1
+ workgroup = WORKGROUP
+ server string = ${config.networking.hostName}
+ netbios name = ${config.networking.hostName}
'';
};
}
diff --git a/krebs/2configs/tor/initrd.nix b/krebs/2configs/tor/initrd.nix
new file mode 100644
index 000000000..98ed039b4
--- /dev/null
+++ b/krebs/2configs/tor/initrd.nix
@@ -0,0 +1,50 @@
+{config, pkgs, ... }:
+## unlock command:
+# (brain hosts/puyak/luks-ssd;echo) | ssh root@$(brain krebs-secrets/puyak/initrd/hostname) 'cat > /crypt-ramfs/passphrase'
+{
+ boot.initrd.network.enable = true;
+ boot.initrd.network.ssh = {
+ enable = true;
+ port = 22;
+ authorizedKeys = [
+ config.krebs.users.jeschli-brauerei.pubkey
+ config.krebs.users.lass.pubkey
+ config.krebs.users.lass-mors.pubkey
+ config.krebs.users.makefu.pubkey
+ config.krebs.users.tv.pubkey
+ ];
+ hostKeys = [ <secrets/initrd/openssh_host_ecdsa_key> ];
+ };
+ boot.initrd.availableKernelModules = [ "e1000e" ];
+
+ boot.initrd.secrets = {
+ "/etc/tor/onion/bootup" = <secrets/initrd>;
+ };
+
+ boot.initrd.extraUtilsCommands = ''
+ copy_bin_and_libs ${pkgs.tor}/bin/tor
+ '';
+
+ # start tor during boot process
+ boot.initrd.network.postCommands = let
+ torRc = (pkgs.writeText "tor.rc" ''
+ DataDirectory /etc/tor
+ SOCKSPort 127.0.0.1:9050 IsolateDestAddr
+ SOCKSPort 127.0.0.1:9063
+ HiddenServiceDir /etc/tor/onion/bootup
+ HiddenServicePort 22 127.0.0.1:22
+ '');
+ in ''
+ echo "tor: preparing onion folder"
+ # have to do this otherwise tor does not want to start
+ chmod -R 700 /etc/tor
+
+ echo "make sure localhost is up"
+ ip a a 127.0.0.1/8 dev lo
+ ip link set lo up
+
+ echo "tor: starting tor"
+ tor -f ${torRc} --verify-config
+ tor -f ${torRc} &
+ '';
+}