Merge remote-tracking branch 'gum/master'
This commit is contained in:
commit
04d9ff2dcd
@ -16,6 +16,7 @@
|
||||
<stockholm/krebs/2configs/shack/ssh-keys.nix>
|
||||
<stockholm/krebs/2configs/shack/prometheus/node.nix>
|
||||
<stockholm/krebs/2configs/shack/prometheus/server.nix>
|
||||
<stockholm/krebs/2configs/shack/prometheus/blackbox.nix>
|
||||
<stockholm/krebs/2configs/shack/prometheus/unifi.nix>
|
||||
<stockholm/krebs/2configs/shack/gitlab-runner.nix>
|
||||
|
||||
|
29
krebs/2configs/shack/glados/automation/party-time.nix
Normal file
29
krebs/2configs/shack/glados/automation/party-time.nix
Normal file
@ -0,0 +1,29 @@
|
||||
# Needs:
|
||||
# sun.sunset
|
||||
# switch.lounge_diskoschalter_relay
|
||||
let
|
||||
glados = import ../lib;
|
||||
disko_schalter = "switch.lounge_diskoschalter_relay";
|
||||
player = "media_player.lounge";
|
||||
in
|
||||
[
|
||||
{ alias = "Party um 21 Uhr";
|
||||
trigger = {
|
||||
platform = "sun";
|
||||
event = "sunset";
|
||||
};
|
||||
action =
|
||||
( glados.say.kiosk "Die Sonne geht unter. Und jetzt geht die Party im shack erst richtig los. Partybeleuchtung, aktiviert!" )
|
||||
++
|
||||
[
|
||||
{
|
||||
service = "homeassistant.turn_on";
|
||||
entity_id = disko_schalter;
|
||||
}
|
||||
{
|
||||
service = "media_player.turn_on";
|
||||
data.entity_id = player;
|
||||
} # TODO: also start playlist if nothing is running?
|
||||
];
|
||||
}
|
||||
]
|
@ -29,8 +29,7 @@ in {
|
||||
};
|
||||
in {
|
||||
enable = true;
|
||||
package = (pkgs.home-assistant.overrideAttrs (old: {
|
||||
# TODO: find correct python package
|
||||
package = (pkgs.home-assistant.overrideAttrs (old: { # TODO: find correct python package
|
||||
installCheckPhase = ''
|
||||
echo LOLLLLLLLLLLLLLL
|
||||
'';
|
||||
@ -70,6 +69,8 @@ in {
|
||||
# source = "hass";
|
||||
# };
|
||||
#};
|
||||
esphome = {};
|
||||
api = {};
|
||||
mqtt = {
|
||||
broker = "localhost";
|
||||
port = 1883;
|
||||
@ -130,11 +131,9 @@ in {
|
||||
trusted_proxies = "127.0.0.1";
|
||||
};
|
||||
#conversation = {};
|
||||
history = {};
|
||||
# history = {};
|
||||
#logbook = {};
|
||||
logger = {
|
||||
default = "info";
|
||||
};
|
||||
logger.default = "info";
|
||||
#recorder = {};
|
||||
tts = [
|
||||
{ platform = "google_translate";
|
||||
@ -143,16 +142,13 @@ in {
|
||||
cache = true;
|
||||
time_memory = 57600;
|
||||
}
|
||||
{ platform = "picotts";
|
||||
language = "de-DE";
|
||||
service_name = "pico";
|
||||
}
|
||||
];
|
||||
sun = {};
|
||||
|
||||
automation = wasser.automation
|
||||
++ badair.automation
|
||||
++ (import ./automation/shack-startup.nix)
|
||||
++ (import ./automation/party-time.nix)
|
||||
++ (import ./automation/hass-restart.nix);
|
||||
|
||||
device_tracker = [];
|
||||
|
@ -1,5 +1,7 @@
|
||||
let
|
||||
glados = import ../lib;
|
||||
feinstaub_sensor = "sensor.fablab_particulate_matter_2_5um_concentration";
|
||||
ledring = "light.fablab_led_ring";
|
||||
in
|
||||
{
|
||||
automation =
|
||||
@ -8,15 +10,15 @@ in
|
||||
trigger = [
|
||||
{
|
||||
platform = "numeric_state";
|
||||
below = 25;
|
||||
entity_id = "sensor.fablab_feinstaub_2_5um";
|
||||
entity_id = feinstaub_sensor;
|
||||
below = 3;
|
||||
}
|
||||
];
|
||||
action =
|
||||
[
|
||||
{ service = "light.turn_on";
|
||||
data = {
|
||||
entity_id = "light.fablab_led";
|
||||
entity_id = ledring;
|
||||
effect = "Twinkle";
|
||||
color_name = "green";
|
||||
};
|
||||
@ -25,23 +27,18 @@ in
|
||||
}
|
||||
{ alias = "mäßige Luft Fablab";
|
||||
trigger = [
|
||||
#{
|
||||
# platform = "numeric_state";
|
||||
# above = 25;
|
||||
# entity_id = "sensor.fablab_feinstaub_25m";
|
||||
#}
|
||||
{
|
||||
platform = "numeric_state";
|
||||
above = 25;
|
||||
below = 50;
|
||||
entity_id = "sensor.fablab_feinstaub_2_5um";
|
||||
above = 3;
|
||||
below = 10;
|
||||
entity_id = feinstaub_sensor;
|
||||
}
|
||||
];
|
||||
action =
|
||||
[
|
||||
{ service = "light.turn_on";
|
||||
data = {
|
||||
entity_id = "light.fablab_led";
|
||||
entity_id = ledring;
|
||||
effect = "Twinkle";
|
||||
color_name = "yellow";
|
||||
};
|
||||
@ -52,16 +49,16 @@ in
|
||||
trigger = [
|
||||
{
|
||||
platform = "numeric_state";
|
||||
above = 50;
|
||||
entity_id = "sensor.fablab_feinstaub_2_5um";
|
||||
above = 10;
|
||||
entity_id = feinstaub_sensor;
|
||||
}
|
||||
];
|
||||
action =
|
||||
[
|
||||
{ service = "light.turn_on";
|
||||
data = {
|
||||
entity_id = "light.fablab_led";
|
||||
effect = "Twinkle";
|
||||
entity_id = ledring;
|
||||
effect = "Fireworks";
|
||||
color_name = "red";
|
||||
};
|
||||
}
|
||||
@ -72,14 +69,14 @@ in
|
||||
{
|
||||
platform = "state";
|
||||
to = "unavailable";
|
||||
entity_id = "sensor.fablab_feinstaub_2_5um";
|
||||
entity_id = feinstaub_sensor;
|
||||
}
|
||||
];
|
||||
action =
|
||||
[
|
||||
{ service = "light.turn_on";
|
||||
data = {
|
||||
entity_id = "light.fablab_led";
|
||||
entity_id = ledring;
|
||||
effect = "Rainbow";
|
||||
color_name = "blue";
|
||||
};
|
||||
@ -91,14 +88,14 @@ in
|
||||
{
|
||||
platform = "state";
|
||||
from = "unavailable";
|
||||
entity_id = "light.fablab_led";
|
||||
entity_id = ledring;
|
||||
}
|
||||
];
|
||||
action =
|
||||
[
|
||||
{ service = "light.turn_on";
|
||||
data = {
|
||||
entity_id = "light.fablab_led";
|
||||
entity_id = ledring;
|
||||
effect = "Rainbow";
|
||||
color_name = "orange";
|
||||
};
|
||||
|
@ -1,6 +1,9 @@
|
||||
# uses:
|
||||
# switch.crafting_giesskanne_relay
|
||||
let
|
||||
glados = import ../lib;
|
||||
seconds = 20;
|
||||
seconds = 5;
|
||||
wasser = "switch.crafting_giesskanne_relay";
|
||||
in
|
||||
{
|
||||
switch = [
|
||||
@ -22,14 +25,14 @@ in
|
||||
{
|
||||
service = "homeassistant.turn_on";
|
||||
entity_id = [
|
||||
"switch.wasser"
|
||||
wasser
|
||||
];
|
||||
}
|
||||
{ delay.seconds = seconds; }
|
||||
{
|
||||
service = "homeassistant.turn_off";
|
||||
entity_id = [
|
||||
"switch.wasser"
|
||||
wasser
|
||||
];
|
||||
}
|
||||
];
|
||||
@ -38,7 +41,7 @@ in
|
||||
trigger = [
|
||||
{
|
||||
platform = "state";
|
||||
entity_id = "switch.wasser";
|
||||
entity_id = wasser;
|
||||
to = "on";
|
||||
for.seconds = seconds*2;
|
||||
}
|
||||
@ -47,7 +50,7 @@ in
|
||||
[
|
||||
{
|
||||
service = "homeassistant.turn_off";
|
||||
entity_id = [ "switch.wasser" ];
|
||||
entity_id = [ wasser ];
|
||||
}
|
||||
];
|
||||
}
|
||||
|
19
krebs/2configs/shack/prometheus/blackbox.nix
Normal file
19
krebs/2configs/shack/prometheus/blackbox.nix
Normal file
@ -0,0 +1,19 @@
|
||||
{pkgs, ... }:
|
||||
{
|
||||
systemd.services.prometheus-blackbox-exporter.serviceConfig = {
|
||||
CapabilityBoundingSet = ["CAP_NET_RAW"]; # icmp allow
|
||||
AmbientCapabilities = ["CAP_NET_RAW"];
|
||||
};
|
||||
services.prometheus.exporters.blackbox = {
|
||||
enable = true;
|
||||
# openFirewall = true; # not requred if running on the same host as prometheus
|
||||
port = 9115;
|
||||
configFile = pkgs.writeText "icmp" ''
|
||||
modules:
|
||||
icmp:
|
||||
prober: icmp
|
||||
icmp:
|
||||
preferred_ip_protocol: ip4
|
||||
'';
|
||||
};
|
||||
}
|
@ -18,16 +18,6 @@
|
||||
};
|
||||
prometheus = {
|
||||
enable = true;
|
||||
extraFlags = [
|
||||
"-storage.local.retention 720h"
|
||||
"-storage.local.series-file-shrink-ratio 0.3"
|
||||
"-storage.local.memory-chunks 2097152"
|
||||
"-storage.local.max-chunks-to-persist 1048576"
|
||||
"-storage.local.index-cache-size.fingerprint-to-metric 2097152"
|
||||
"-storage.local.index-cache-size.fingerprint-to-timerange 1048576"
|
||||
"-storage.local.index-cache-size.label-name-to-label-values 2097152"
|
||||
"-storage.local.index-cache-size.label-pair-to-fingerprints 41943040"
|
||||
];
|
||||
ruleFiles = lib.singleton (pkgs.writeText "prometheus-rules.yml" (builtins.toJSON {
|
||||
groups = lib.singleton {
|
||||
name = "mf-alerting-rules";
|
||||
@ -41,7 +31,7 @@
|
||||
static_configs = [
|
||||
{
|
||||
targets = [
|
||||
"localhost:9100"
|
||||
"wolf.shack:9100"
|
||||
];
|
||||
labels = {
|
||||
alias = "wolf.shack";
|
||||
@ -49,7 +39,15 @@
|
||||
}
|
||||
{
|
||||
targets = [
|
||||
"localhost:9130"
|
||||
"infra01.shack:9100"
|
||||
];
|
||||
labels = {
|
||||
alias = "infra01.shack";
|
||||
};
|
||||
}
|
||||
{
|
||||
targets = [
|
||||
"unifi.shack:9130"
|
||||
];
|
||||
labels = {
|
||||
alias = "unifi.shack";
|
||||
@ -57,7 +55,7 @@
|
||||
}
|
||||
{
|
||||
targets = [
|
||||
"10.42.22.184:9100" # puyak.shack
|
||||
"puyak.shack:9100" # puyak.shack
|
||||
];
|
||||
labels = {
|
||||
alias = "puyak.shack";
|
||||
@ -81,6 +79,36 @@
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
job_name = "blackbox";
|
||||
metrics_path = "/probe";
|
||||
params.module = [ "icmp" ];
|
||||
static_configs = [
|
||||
{
|
||||
targets = [
|
||||
"google.com"
|
||||
"wolf.shack"
|
||||
"web.de"
|
||||
"10.0.0.1"
|
||||
"licht.shack"
|
||||
];
|
||||
}
|
||||
];
|
||||
relabel_configs = [
|
||||
{
|
||||
source_labels = ["__address__"];
|
||||
target_label = "__param_target";
|
||||
}
|
||||
{
|
||||
source_labels = ["__param_target"];
|
||||
target_label = "instance";
|
||||
}
|
||||
{
|
||||
target_label = "__address__";
|
||||
replacement = "127.0.0.1:9115";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
alertmanagers = [
|
||||
{ scheme = "http";
|
||||
|
30
makefu/5pkgs/chapter-marker/default.nix
Normal file
30
makefu/5pkgs/chapter-marker/default.nix
Normal file
@ -0,0 +1,30 @@
|
||||
{ coreutils, fetchFromGitHub, makeWrapper, xdotool, stdenv, ... }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "chapter-marker-${version}";
|
||||
version = "master";
|
||||
src = fetchFromGitHub {
|
||||
owner = "makefu";
|
||||
repo = "chapter-marker";
|
||||
rev = "7602b611fb3d67fdb8a86db23220074dfa9dfa1e";
|
||||
sha256 = "0cwh650c3qhdrcvrqfzgrwpsnj4lbq64fw2sfwvnbxz94b4q36av";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase =
|
||||
let
|
||||
path = stdenv.lib.makeBinPath [
|
||||
coreutils
|
||||
xdotool
|
||||
];
|
||||
in
|
||||
''
|
||||
mkdir -p $out/bin
|
||||
cp chapter-mark chapter-start $out/bin/
|
||||
wrapProgram $out/bin/chapter-mark \
|
||||
--prefix PATH : ${path}
|
||||
wrapProgram $out/bin/chapter-start \
|
||||
--prefix PATH : ${path}
|
||||
'';
|
||||
}
|
Loading…
Reference in New Issue
Block a user