diff options
-rw-r--r-- | krebs/2configs/shack/glados/default.nix | 52 | ||||
-rw-r--r-- | krebs/2configs/shack/node-light.nix | 4 | ||||
-rw-r--r-- | krebs/nixpkgs-unstable.json | 6 | ||||
-rw-r--r-- | krebs/nixpkgs.json | 6 | ||||
-rw-r--r-- | makefu/1systems/darth/config.nix | 2 | ||||
-rw-r--r-- | makefu/1systems/repunit/config.nix | 2 | ||||
-rw-r--r-- | makefu/1systems/tsp/config.nix | 2 | ||||
-rw-r--r-- | makefu/1systems/wbob/config.nix | 2 | ||||
-rw-r--r-- | makefu/2configs/bureautomation/default.nix | 84 | ||||
-rw-r--r-- | makefu/2configs/bureautomation/multi/10h_timers.nix | 4 | ||||
-rw-r--r-- | makefu/2configs/bureautomation/multi/daily-standup.nix | 54 | ||||
-rw-r--r-- | makefu/2configs/bureautomation/multi/frosch.nix | 2 | ||||
-rw-r--r-- | makefu/2configs/fs/cac-boot-partition.nix | 3 | ||||
-rw-r--r-- | makefu/2configs/hw/tp-x2x0.nix | 2 | ||||
-rw-r--r-- | makefu/5pkgs/bin2iso/default.nix | 18 |
15 files changed, 152 insertions, 91 deletions
diff --git a/krebs/2configs/shack/glados/default.nix b/krebs/2configs/shack/glados/default.nix index dc345cc4e..d000af397 100644 --- a/krebs/2configs/shack/glados/default.nix +++ b/krebs/2configs/shack/glados/default.nix @@ -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; diff --git a/krebs/2configs/shack/node-light.nix b/krebs/2configs/shack/node-light.nix index 38cb3b55d..9e3828463 100644 --- a/krebs/2configs/shack/node-light.nix +++ b/krebs/2configs/shack/node-light.nix @@ -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"; diff --git a/krebs/nixpkgs-unstable.json b/krebs/nixpkgs-unstable.json index a772c83a2..4829bec1d 100644 --- a/krebs/nixpkgs-unstable.json +++ b/krebs/nixpkgs-unstable.json @@ -1,7 +1,7 @@ { "url": "https://github.com/NixOS/nixpkgs-channels", - "rev": "471869c9185fb610e67940a701eb13b1cfb335a4", - "date": "2019-10-31T16:03:13+01:00", - "sha256": "1klbclz8n4b9k1kfwv806bqdavld1mg32l1vxsmnrqzr6zck1c54", + "rev": "7827d3f4497ed722fedca57fd4d5ca1a65c38256", + "date": "2019-11-03T11:21:05+01:00", + "sha256": "1ixjkb2ksri83iyhvl4a7hrfnb8zd3ps5jmirgaa7b617jn31cg6", "fetchSubmodules": false } diff --git a/krebs/nixpkgs.json b/krebs/nixpkgs.json index fabd3691a..7fe43b4b5 100644 --- a/krebs/nixpkgs.json +++ b/krebs/nixpkgs.json @@ -1,7 +1,7 @@ { "url": "https://github.com/NixOS/nixpkgs-channels", - "rev": "c75de8bc12cc7e713206199e5ca30b224e295041", - "date": "2019-10-27T17:40:06+01:00", - "sha256": "1awipcjfvs354spzj2la1nzmi9rh2ci2mdapzf4kkabf58ilra6x", + "rev": "c5aabb0d603e2c1ea05f5a93b3be82437f5ebf31", + "date": "2019-10-31T21:10:56+01:00", + "sha256": "15fwszhn6078sbrb8qk83g8afvh4qnmvff0qbkbvq3cm1fxni2w1", "fetchSubmodules": false } diff --git a/makefu/1systems/darth/config.nix b/makefu/1systems/darth/config.nix index 046c1574c..4e71d1426 100644 --- a/makefu/1systems/darth/config.nix +++ b/makefu/1systems/darth/config.nix @@ -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; diff --git a/makefu/1systems/repunit/config.nix b/makefu/1systems/repunit/config.nix index 996abff08..5589cc0a2 100644 --- a/makefu/1systems/repunit/config.nix +++ b/makefu/1systems/repunit/config.nix @@ -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 diff --git a/makefu/1systems/tsp/config.nix b/makefu/1systems/tsp/config.nix index 2921e2bcf..bbfaebd44 100644 --- a/makefu/1systems/tsp/config.nix +++ b/makefu/1systems/tsp/config.nix @@ -34,6 +34,6 @@ 25 ]; - hardware.enableAllFirmware = true; + hardware.enableRedistributableFirmware = true; nixpkgs.config.allowUnfree = true; } diff --git a/makefu/1systems/wbob/config.nix b/makefu/1systems/wbob/config.nix index 3306279b9..d8cf380e7 100644 --- a/makefu/1systems/wbob/config.nix +++ b/makefu/1systems/wbob/config.nix @@ -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 diff --git a/makefu/2configs/bureautomation/default.nix b/makefu/2configs/bureautomation/default.nix index e07e0ddf0..c55bc1d14 100644 --- a/makefu/2configs/bureautomation/default.nix +++ b/makefu/2configs/bureautomation/default.nix @@ -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 ); }; }; diff --git a/makefu/2configs/bureautomation/multi/10h_timers.nix b/makefu/2configs/bureautomation/multi/10h_timers.nix index 8cdaa8cfd..73709e738 100644 --- a/makefu/2configs/bureautomation/multi/10h_timers.nix +++ b/makefu/2configs/bureautomation/multi/10h_timers.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"; }; diff --git a/makefu/2configs/bureautomation/multi/daily-standup.nix b/makefu/2configs/bureautomation/multi/daily-standup.nix new file mode 100644 index 000000000..f5bd85b9d --- /dev/null +++ b/makefu/2configs/bureautomation/multi/daily-standup.nix @@ -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" + ]; + } + ]; + + } + ]; +} diff --git a/makefu/2configs/bureautomation/multi/frosch.nix b/makefu/2configs/bureautomation/multi/frosch.nix index de93ce2b7..c0e267b69 100644 --- a/makefu/2configs/bureautomation/multi/frosch.nix +++ b/makefu/2configs/bureautomation/multi/frosch.nix @@ -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", diff --git a/makefu/2configs/fs/cac-boot-partition.nix b/makefu/2configs/fs/cac-boot-partition.nix index 3d59a25dd..14480bc4a 100644 --- a/makefu/2configs/fs/cac-boot-partition.nix +++ b/makefu/2configs/fs/cac-boot-partition.nix @@ -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; } diff --git a/makefu/2configs/hw/tp-x2x0.nix b/makefu/2configs/hw/tp-x2x0.nix index 564925db5..f4578bf77 100644 --- a/makefu/2configs/hw/tp-x2x0.nix +++ b/makefu/2configs/hw/tp-x2x0.nix @@ -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; diff --git a/makefu/5pkgs/bin2iso/default.nix b/makefu/5pkgs/bin2iso/default.nix index 31d05fab3..676fa5b83 100644 --- a/makefu/5pkgs/bin2iso/default.nix +++ b/makefu/5pkgs/bin2iso/default.nix @@ -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; }; |