Merge remote-tracking branch 'gum/master'
This commit is contained in:
commit
68668f3066
|
@ -39,8 +39,6 @@ in {
|
|||
})).override {
|
||||
extraPackages = ps: with ps; [
|
||||
python-forecastio jsonrpc-async jsonrpc-websocket mpd2
|
||||
(callPackage ./deps/gtts-token.nix { })
|
||||
(callPackage ./deps/pyhaversion.nix { })
|
||||
];
|
||||
};
|
||||
autoExtraComponents = true;
|
||||
|
@ -53,20 +51,24 @@ in {
|
|||
elevation = 303;
|
||||
auth_providers = [
|
||||
{ type = "homeassistant";}
|
||||
{ type = "legacy_api_password";}
|
||||
{ type = "trusted_networks";
|
||||
# allow_bypass_login = true;
|
||||
trusted_networks = [
|
||||
"127.0.0.1/32"
|
||||
"10.42.0.0/16"
|
||||
"::1/128"
|
||||
"fd00::/8"
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
# https://www.home-assistant.io/components/influxdb/
|
||||
influxdb = {
|
||||
database = "hass";
|
||||
tags = {
|
||||
instance = "wolf";
|
||||
source = "hass";
|
||||
};
|
||||
};
|
||||
#influxdb = {
|
||||
# database = "hass";
|
||||
# tags = {
|
||||
# instance = "wolf";
|
||||
# source = "hass";
|
||||
# };
|
||||
#};
|
||||
mqtt = {
|
||||
broker = "localhost";
|
||||
port = 1883;
|
||||
|
@ -95,8 +97,7 @@ in {
|
|||
];
|
||||
|
||||
sensor =
|
||||
[{ platform = "version"; }]
|
||||
++ (import ./sensors/hass.nix)
|
||||
(import ./sensors/hass.nix)
|
||||
++ (import ./sensors/power.nix)
|
||||
++ shackopen.sensor;
|
||||
|
||||
|
@ -105,31 +106,24 @@ in {
|
|||
camera = [];
|
||||
|
||||
frontend = { };
|
||||
config = { };
|
||||
http = {
|
||||
# TODO: https://github.com/home-assistant/home-assistant/issues/16149
|
||||
base_url = "http://hass.shack";
|
||||
use_x_forwarded_for = true;
|
||||
trusted_proxies = "127.0.0.1";
|
||||
api_password = "shackit";
|
||||
trusted_networks = [
|
||||
"127.0.0.1/32"
|
||||
"10.42.0.0/16"
|
||||
"::1/128"
|
||||
"fd00::/8"
|
||||
];
|
||||
};
|
||||
conversation = {};
|
||||
history = {};
|
||||
logbook = {};
|
||||
#conversation = {};
|
||||
#history = {};
|
||||
#logbook = {};
|
||||
tts = [
|
||||
{ platform = "google";
|
||||
{ platform = "google_translate";
|
||||
language = "de";
|
||||
}
|
||||
{ platform = "picotts";
|
||||
language = "de-DE";
|
||||
}
|
||||
#{ platform = "picotts";
|
||||
# language = "de-DE";
|
||||
#}
|
||||
];
|
||||
recorder = {};
|
||||
#recorder = {};
|
||||
sun = {};
|
||||
|
||||
automation = wasser.automation;
|
||||
|
|
|
@ -4,8 +4,8 @@ let
|
|||
pkg = pkgs.callPackage (
|
||||
pkgs.fetchgit {
|
||||
url = "https://git.shackspace.de/rz/node-light.git";
|
||||
rev = "32d8064db5172b8068f633211c8bd5688b2c8773";
|
||||
sha256 = "14jzhs7pp3hq42wq3cwqarivn1z7vcgksfzfqfc4yyh21096yi1j";
|
||||
rev = "9c3fe451897cf170fb192a2643180fdfe22388e8";
|
||||
sha256 = "1zsc38idg452r8wpcna5m3yqx0ri11bd1bw60bl0kpz96dqqnyba";
|
||||
}) { mkYarnPackage = pkgs.yarn2nix-moretea.mkYarnPackage; };
|
||||
home = "/var/lib/node-light";
|
||||
port = "8082";
|
||||
|
|
|
@ -41,7 +41,7 @@ in {
|
|||
makefu.server.primary-itf = "enp0s25";
|
||||
# krebs.hidden-ssh.enable = true;
|
||||
boot.kernelModules = [ "coretemp" "f71882fg" ];
|
||||
hardware.enableAllFirmware = true;
|
||||
hardware.enableRedistributableFirmware = true;
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
networking = {
|
||||
wireless.enable = true;
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "ehci_pci" "virtio_pci" "virtio_blk" ];
|
||||
boot.kernelModules = [ ];
|
||||
boot.extraModulePackages = [ ];
|
||||
hardware.enableAllFirmware = true;
|
||||
hardware.enableRedistributableFirmware = true;
|
||||
hardware.cpu.amd.updateMicrocode = true;
|
||||
|
||||
# networking.firewall is enabled by default
|
||||
|
|
|
@ -34,6 +34,6 @@
|
|||
25
|
||||
];
|
||||
|
||||
hardware.enableAllFirmware = true;
|
||||
hardware.enableRedistributableFirmware = true;
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
}
|
||||
|
|
|
@ -145,7 +145,7 @@ in {
|
|||
#};
|
||||
|
||||
# rt2870.bin wifi card, part of linux-unfree
|
||||
hardware.enableAllFirmware = true;
|
||||
hardware.enableRedistributableFirmware = true;
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
# rt2870 with nonfree creates wlp2s0 from wlp0s20u2
|
||||
# not explicitly setting the interface results in wpa_supplicant to crash
|
||||
|
|
|
@ -4,7 +4,9 @@ let
|
|||
ten_hours = import ./multi/10h_timers.nix { inherit lib; }; # provides: timer automation script
|
||||
mittagessen = import ./multi/mittagessen.nix { inherit lib; }; # provides: automation script
|
||||
matrix = import ./multi/matrix.nix { inherit lib; }; # provides: matrix automation
|
||||
aramark = import ./multi/aramark.nix { inherit lib; }; # provides: pommes sensor
|
||||
frosch = import ./multi/frosch.nix { inherit lib; }; # provides: sensor binary_sensor switch light script automation
|
||||
aramark = import ./multi/aramark.nix { inherit lib; }; # provides: sensor binary_sensor
|
||||
standup = import ./multi/daily-standup.nix { inherit lib; }; # provides: automation script
|
||||
in {
|
||||
imports = [
|
||||
./ota.nix
|
||||
|
@ -88,10 +90,12 @@ in {
|
|||
retain = true;
|
||||
};
|
||||
};
|
||||
switch = (import ./switch/tasmota_switch.nix) ++
|
||||
(import ./switch/rfbridge.nix);
|
||||
light = (import ./light/statuslight.nix) ++
|
||||
(import ./light/buzzer.nix);
|
||||
switch = (import ./switch/tasmota_switch.nix)
|
||||
++ frosch.switch
|
||||
++ (import ./switch/rfbridge.nix);
|
||||
light = (import ./light/statuslight.nix)
|
||||
++ (import ./light/buzzer.nix)
|
||||
++ frosch.light;
|
||||
timer = ten_hours.timer;
|
||||
notify = [
|
||||
{
|
||||
|
@ -117,31 +121,34 @@ in {
|
|||
];
|
||||
script = lib.fold lib.recursiveUpdate {} [
|
||||
((import ./script/multi_blink.nix) {inherit lib;})
|
||||
frosch.script
|
||||
ten_hours.script
|
||||
mittagessen.script
|
||||
standup.script
|
||||
];
|
||||
binary_sensor =
|
||||
(import ./binary_sensor/buttons.nix) ++
|
||||
(import ./binary_sensor/motion.nix) ++
|
||||
aramark.binary_sensor;
|
||||
(import ./binary_sensor/buttons.nix)
|
||||
++ (import ./binary_sensor/motion.nix)
|
||||
++ frosch.binary_sensor
|
||||
++ aramark.binary_sensor;
|
||||
|
||||
sensor =
|
||||
# [{ platform = "version"; }] ++ # pyhaversion
|
||||
(import ./sensor/pollen.nix) ++
|
||||
(import ./sensor/espeasy.nix) ++
|
||||
(import ./sensor/airquality.nix) ++
|
||||
((import ./sensor/outside.nix) {inherit lib;}) ++
|
||||
(import ./sensor/influxdb.nix) ++
|
||||
(import ./sensor/tasmota_firmware.nix) ++
|
||||
aramark.sensor;
|
||||
(import ./sensor/pollen.nix)
|
||||
++ (import ./sensor/espeasy.nix)
|
||||
++ (import ./sensor/airquality.nix)
|
||||
++ ((import ./sensor/outside.nix) {inherit lib;})
|
||||
++ (import ./sensor/influxdb.nix)
|
||||
++ (import ./sensor/tasmota_firmware.nix)
|
||||
++ frosch.sensor
|
||||
++ aramark.sensor;
|
||||
|
||||
camera =
|
||||
(import ./camera/verkehrskamera.nix)
|
||||
++ (import ./camera/comic.nix);
|
||||
|
||||
# not yet released
|
||||
#person =
|
||||
# (import ./person/team.nix );
|
||||
person =
|
||||
(import ./person/team.nix );
|
||||
|
||||
frontend = { };
|
||||
http = {
|
||||
|
@ -196,13 +203,22 @@ in {
|
|||
"light.buslicht"
|
||||
];
|
||||
team = [
|
||||
"device_tracker.thorsten_phone"
|
||||
"device_tracker.felix_phone"
|
||||
"device_tracker.ecki_tablet"
|
||||
"device_tracker.daniel_phone"
|
||||
"device_tracker.carsten_phone"
|
||||
"device_tracker.thierry_phone"
|
||||
"device_tracker.frank_phone"
|
||||
"person.thorsten"
|
||||
#"device_tracker.thorsten_phone"
|
||||
"person.felix"
|
||||
"person.ecki"
|
||||
"person.daniel"
|
||||
# "person.carsten"
|
||||
"person.thierry"
|
||||
"person.frank"
|
||||
"person.emeka"
|
||||
#"device_tracker.felix_phone"
|
||||
#"device_tracker.ecki_tablet"
|
||||
#"device_tracker.daniel_phone"
|
||||
#"device_tracker.carsten_phone"
|
||||
#"device_tracker.thierry_phone"
|
||||
#"device_tracker.frank_phone"
|
||||
#"device_tracker.emeka_phone"
|
||||
# "person.thorsten"
|
||||
# "person.felix"
|
||||
# "person.ecki"
|
||||
|
@ -237,8 +253,6 @@ in {
|
|||
];
|
||||
sensors = [
|
||||
"media_player.kodi"
|
||||
"script.blitz_10s"
|
||||
"script.buzz_red_led_fast"
|
||||
"timer.felix_10h"
|
||||
"timer.frank_10h"
|
||||
"sensor.easy2_dht22_humidity"
|
||||
|
@ -262,13 +276,15 @@ in {
|
|||
# feedreader.urls = [ "http://www.heise.de/security/rss/news-atom.xml" ];
|
||||
# we don't use imports because the expressions do not merge in
|
||||
# home-assistant
|
||||
automation = (import ./automation/bureau-shutdown.nix) ++
|
||||
(import ./automation/nachtlicht.nix) ++
|
||||
(import ./automation/schlechteluft.nix) ++
|
||||
(import ./automation/hass-restart.nix) ++
|
||||
ten_hours.automation ++
|
||||
matrix.automation ++
|
||||
mittagessen.automation;
|
||||
automation = (import ./automation/bureau-shutdown.nix)
|
||||
++ (import ./automation/nachtlicht.nix)
|
||||
++ (import ./automation/schlechteluft.nix)
|
||||
++ (import ./automation/hass-restart.nix)
|
||||
++ ten_hours.automation
|
||||
++ matrix.automation
|
||||
++ standup.automation
|
||||
++ frosch.automation
|
||||
++ mittagessen.automation;
|
||||
device_tracker = (import ./device_tracker/openwrt.nix );
|
||||
};
|
||||
};
|
||||
|
|
|
@ -122,7 +122,7 @@ let
|
|||
trigger = {
|
||||
platform = "state";
|
||||
# TODO: ecki
|
||||
entity_id = [ "device_tracker.${name}_phone"];
|
||||
entity_id = [ "person.${name}"];
|
||||
from = "not_home";
|
||||
to = "home";
|
||||
};
|
||||
|
@ -166,7 +166,7 @@ let
|
|||
condition =
|
||||
{
|
||||
condition = "state";
|
||||
entity_id = "device_tracker.${name}_phone";
|
||||
entity_id = "person.${name}";
|
||||
state = "home";
|
||||
};
|
||||
|
||||
|
|
54
makefu/2configs/bureautomation/multi/daily-standup.nix
Normal file
54
makefu/2configs/bureautomation/multi/daily-standup.nix
Normal file
|
@ -0,0 +1,54 @@
|
|||
{ lib }:
|
||||
let
|
||||
random_daily_text = ''{{ [
|
||||
"Es ist so weit, es ist Standup Zeit!",
|
||||
"Zehn Uhr Fünfunddreissig ist genau die richtige Zeit für ein Standup!",
|
||||
"Hat jeder seine Hausaufgaben gemacht? Bitte einmal aufstehen und den Zettel nach rechts geben",
|
||||
"Aufstehen zum Appell, es wird die Anwesenheit kontrolliert!",
|
||||
"Hallo Kinder, wisst ihr welche Zeit es ist??? ... Genau! ... Standup Zeit!",
|
||||
"Morgens, halb elf in Deutschland - das Standupchen" ] | random }}'';
|
||||
|
||||
in {
|
||||
script =
|
||||
{ "random_daily" = {
|
||||
alias = "Random Daily Introduction";
|
||||
|
||||
sequence = [
|
||||
{ service = "media_player.play_media";
|
||||
data = {
|
||||
entity_id = "media_player.mpd";
|
||||
media_content_type = "playlist";
|
||||
media_content_id = "ansage";
|
||||
};
|
||||
}
|
||||
{ delay.seconds = 5; }
|
||||
{ service = "tts.google_say";
|
||||
entity_id = "media_player.mpd";
|
||||
data_template = {
|
||||
message = random_daily_text;
|
||||
language = "de";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
automation = [
|
||||
{
|
||||
alias = "Daily Standup";
|
||||
trigger = {
|
||||
platform = "time";
|
||||
at = "10:35:00";
|
||||
};
|
||||
action =
|
||||
[
|
||||
{ service = "homeassistant.turn_on";
|
||||
entity_id = [
|
||||
"script.blitz_10s"
|
||||
"script.random_daily"
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
}
|
||||
];
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{ lib }:
|
||||
# needs: binary_sensor.pommes
|
||||
let
|
||||
|
||||
random_pommes = '' {{ [
|
||||
"Nur ein Pommes Tag ist ein guter Tag",
|
||||
"Schaut wie schön sie fliegen, die Pommes Seifenblasen",
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
# vda1 ext4 (label nixos) -> only root partition
|
||||
with import <stockholm/lib>;
|
||||
{
|
||||
boot.loader.grub.enable = true;
|
||||
boot.loader.grub.version = 2;
|
||||
|
@ -16,6 +15,6 @@ with import <stockholm/lib>;
|
|||
fsType = "ext4";
|
||||
};
|
||||
|
||||
hardware.enableAllFirmware = true;
|
||||
hardware.enableRedistributableFirmware = true;
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
networking.wireless.enable = lib.mkDefault true;
|
||||
|
||||
hardware.enableAllFirmware = true;
|
||||
hardware.enableRedistributableFirmware = true;
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
hardware.cpu.intel.updateMicrocode = true;
|
||||
|
|
|
@ -1,19 +1,17 @@
|
|||
{ stdenv, lib, pkgs, fetchurl }:
|
||||
{ stdenv, lib, pkgs, fetchFromGitHub }:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bin2iso";
|
||||
version = "1.9b";
|
||||
_dlver = builtins.replaceStrings ["."] [""] version;
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://users.eastlink.ca/~doiron/${pname}/linux/${pname}${_dlver}_linux.c";
|
||||
sha256 = "0gg4hbzlm83nnbccy79dnxbwpn7lxl3fb87ka36mlclikvknm2hy";
|
||||
src = fetchFromGitHub {
|
||||
owner = "einsteinx2";
|
||||
repo = "bin2iso";
|
||||
rev = "a08f6f93b833878dc009fe59da072643f06a7830";
|
||||
sha256 = "1bnhj8z7wbq2v070zkx0xal6hx37y20a068gpy95zh13vihvbgh3";
|
||||
};
|
||||
|
||||
unpackPhase = "true";
|
||||
|
||||
buildPhase =''
|
||||
gcc -Wall -o $pname $src
|
||||
gcc -Wall -o $pname $src/src/linux_macos/${pname}_v${version}_linux.c
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
|
@ -21,7 +19,7 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://users.eastlink.ca/~doiron/bin2iso/ ;
|
||||
homepage = https://github.com/einsteinx2/bin2iso;
|
||||
description = "converts bin+cue to iso";
|
||||
license = lib.licenses.gpl3;
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue