Merge remote-tracking branch 'gum/master'
This commit is contained in:
commit
b74a981dcf
@ -1,5 +1,8 @@
|
|||||||
{lib,pkgs, ... }:
|
{lib,pkgs, ... }:
|
||||||
let
|
let
|
||||||
|
pkg = lib.overrideDerivation pkgs.ympd (old: {
|
||||||
|
patches = [ ./ympd-top-next.patch ];
|
||||||
|
});
|
||||||
mpdHost = "mpd.shack";
|
mpdHost = "mpd.shack";
|
||||||
ympd = name: port: let
|
ympd = name: port: let
|
||||||
webPort = 10000 + port;
|
webPort = 10000 + port;
|
||||||
@ -7,7 +10,7 @@ let
|
|||||||
systemd.services."ympd-${name}" = {
|
systemd.services."ympd-${name}" = {
|
||||||
description = "mpd for ${name}";
|
description = "mpd for ${name}";
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
serviceConfig.ExecStart = "${pkgs.ympd}/bin/ympd --host ${mpdHost} --port ${toString port} --webport ${toString webPort} --user nobody";
|
serviceConfig.ExecStart = "${pkg}/bin/ympd --host ${mpdHost} --port ${toString port} --webport ${toString webPort} --user nobody";
|
||||||
};
|
};
|
||||||
services.nginx.virtualHosts."mobile.${name}.mpd.shack" = {
|
services.nginx.virtualHosts."mobile.${name}.mpd.shack" = {
|
||||||
serverAliases = [
|
serverAliases = [
|
||||||
|
16
krebs/2configs/shack/ympd-top-next.patch
Normal file
16
krebs/2configs/shack/ympd-top-next.patch
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
diff --git a/htdocs/index.html b/htdocs/index.html
|
||||||
|
index ed77279..eaf92b6 100644
|
||||||
|
--- a/htdocs/index.html
|
||||||
|
+++ b/htdocs/index.html
|
||||||
|
@@ -76,6 +76,11 @@
|
||||||
|
|
||||||
|
<div class="col-md-10 col-xs-12">
|
||||||
|
<div class="notifications top-right"></div>
|
||||||
|
+
|
||||||
|
+ <ul class="pager">
|
||||||
|
+ <li id="prev" class="page-btn hide"><a href="">Previous</a></li>
|
||||||
|
+ <li id="next" class="page-btn"><a href="">Next</a></li>
|
||||||
|
+ </ul>
|
||||||
|
|
||||||
|
<div class="panel panel-primary">
|
||||||
|
<!-- Default panel contents -->
|
0
makefu/0tests/data/secrets/nixos-community
Normal file
0
makefu/0tests/data/secrets/nixos-community
Normal file
@ -14,10 +14,12 @@
|
|||||||
<stockholm/makefu/2configs/main-laptop.nix>
|
<stockholm/makefu/2configs/main-laptop.nix>
|
||||||
<stockholm/makefu/2configs/extra-fonts.nix>
|
<stockholm/makefu/2configs/extra-fonts.nix>
|
||||||
<stockholm/makefu/2configs/tools/all.nix>
|
<stockholm/makefu/2configs/tools/all.nix>
|
||||||
|
<stockholm/makefu/2configs/dict.nix>
|
||||||
|
|
||||||
<stockholm/makefu/2configs/backup/state.nix>
|
<stockholm/makefu/2configs/backup/state.nix>
|
||||||
# <stockholm/makefu/2configs/dnscrypt/client.nix>
|
# <stockholm/makefu/2configs/dnscrypt/client.nix>
|
||||||
<stockholm/makefu/2configs/avahi.nix>
|
<stockholm/makefu/2configs/avahi.nix>
|
||||||
|
<stockholm/makefu/2configs/support-nixos.nix>
|
||||||
|
|
||||||
# Debugging
|
# Debugging
|
||||||
# <stockholm/makefu/2configs/disable_v6.nix>
|
# <stockholm/makefu/2configs/disable_v6.nix>
|
||||||
@ -64,7 +66,7 @@
|
|||||||
<stockholm/makefu/2configs/tor.nix>
|
<stockholm/makefu/2configs/tor.nix>
|
||||||
<stockholm/makefu/2configs/vpn/vpngate.nix>
|
<stockholm/makefu/2configs/vpn/vpngate.nix>
|
||||||
# <stockholm/makefu/2configs/buildbot-standalone.nix>
|
# <stockholm/makefu/2configs/buildbot-standalone.nix>
|
||||||
# <stockholm/makefu/2configs/remote-build/master.nix>
|
<stockholm/makefu/2configs/remote-build/aarch64-community.nix>
|
||||||
|
|
||||||
# Hardware
|
# Hardware
|
||||||
<stockholm/makefu/2configs/hw/tp-x230.nix>
|
<stockholm/makefu/2configs/hw/tp-x230.nix>
|
||||||
|
@ -5,7 +5,7 @@ let
|
|||||||
port = 3001;
|
port = 3001;
|
||||||
runit = pkgs.writeDash "runit" ''
|
runit = pkgs.writeDash "runit" ''
|
||||||
set -xeuf
|
set -xeuf
|
||||||
PATH=${pkgs.curl}/bin:${pkgs.coreutils}/bin
|
PATH=${pkgs.mosquitto}/bin:${pkgs.coreutils}/bin
|
||||||
name=''${1?must provide name as first arg}
|
name=''${1?must provide name as first arg}
|
||||||
state=''${2?must provide state as second arg}
|
state=''${2?must provide state as second arg}
|
||||||
# val=''${3?must provide val as third arg}
|
# val=''${3?must provide val as third arg}
|
||||||
@ -14,9 +14,10 @@ let
|
|||||||
test $state = alerting || exit 0
|
test $state = alerting || exit 0
|
||||||
|
|
||||||
echo $name - $state
|
echo $name - $state
|
||||||
curl 'http://bauarbeiterlampe/ay?o=1'
|
topic=plug
|
||||||
|
mosquitto_pub -t /bam/$topic/cmnd/POWER -m ON
|
||||||
sleep 5
|
sleep 5
|
||||||
curl 'http://bauarbeiterlampe/ay?o=1'
|
mosquitto_pub -t /bam/$topic/cmnd/POWER -m OFF
|
||||||
'';
|
'';
|
||||||
in {
|
in {
|
||||||
services.logstash = {
|
services.logstash = {
|
||||||
|
@ -1,5 +1,40 @@
|
|||||||
{ pkgs, lib, ... }:
|
{ pkgs, lib, ... }:
|
||||||
let
|
let
|
||||||
|
tasmota_rgb = name: topic:
|
||||||
|
# LED WS2812b
|
||||||
|
# effect_state_topic: "stat/led/Scheme"
|
||||||
|
# effect_command_topic: "cmnd/led/Scheme"
|
||||||
|
# effect_value_template: "{{ value_json.Scheme }}"
|
||||||
|
{ platform = "mqtt";
|
||||||
|
inherit name;
|
||||||
|
retain = false;
|
||||||
|
qos = 1;
|
||||||
|
optimistic = false;
|
||||||
|
# state
|
||||||
|
# TODO: currently broken, will not use the custom state topic
|
||||||
|
state_topic = "/bam/${topic}/stat/POWER";
|
||||||
|
command_topic = "/bam/${topic}/cmnd/POWER";
|
||||||
|
availability_topic = "/bam/${topic}/tele/LWT";
|
||||||
|
payload_on= "ON";
|
||||||
|
payload_off= "OFF";
|
||||||
|
payload_available= "Online";
|
||||||
|
payload_not_available= "Offline";
|
||||||
|
# brightness
|
||||||
|
brightness_state_topic = "/bam/${topic}/stat/Dimmer";
|
||||||
|
brightness_command_topic = "/bam/${topic}/cmnd/Dimmer";
|
||||||
|
brightness_value_template = "{{ value_json.Dimmer }}";
|
||||||
|
brightness_scale = 100;
|
||||||
|
# color
|
||||||
|
rgb_state_topic = "/bam/${topic}/stat/Color";
|
||||||
|
rgb_command_topic = "/bam/${topic}/cmnd/Color2";
|
||||||
|
rgb_command_mode = "hex";
|
||||||
|
rgb_command_template = "{{ '%02x%02x%02x' | format(red, green, blue)}}";
|
||||||
|
# effects
|
||||||
|
effect_state_topic = "/bam/${topic}/stat/Scheme";
|
||||||
|
effect_command_topic = "/bam/${topic}/cmnd/Scheme";
|
||||||
|
effect_value_template = "{{ value_json.Scheme }}";
|
||||||
|
effect_list = [ 0 1 2 3 4 5 6 7 8 9 10 11 12 ];
|
||||||
|
};
|
||||||
tasmota_plug = name: topic:
|
tasmota_plug = name: topic:
|
||||||
{ platform = "mqtt";
|
{ platform = "mqtt";
|
||||||
inherit name;
|
inherit name;
|
||||||
@ -74,6 +109,10 @@ in {
|
|||||||
(tasmota_plug "Blitzdings" "plug2")
|
(tasmota_plug "Blitzdings" "plug2")
|
||||||
(tasmota_plug "Fernseher" "plug3")
|
(tasmota_plug "Fernseher" "plug3")
|
||||||
(tasmota_plug "Feuer" "plug4")
|
(tasmota_plug "Feuer" "plug4")
|
||||||
|
(tasmota_plug "Nachtlicht" "plug5")
|
||||||
|
];
|
||||||
|
light = [
|
||||||
|
(tasmota_rgb "Status Felix" "status1")
|
||||||
];
|
];
|
||||||
binary_sensor = [
|
binary_sensor = [
|
||||||
{ platform = "mqtt";
|
{ platform = "mqtt";
|
||||||
@ -169,12 +208,16 @@ in {
|
|||||||
};
|
};
|
||||||
automation = [
|
automation = [
|
||||||
"automation.turn_off_fernseher_10_minutes_after_last_movement"
|
"automation.turn_off_fernseher_10_minutes_after_last_movement"
|
||||||
|
"automation.turn_off_nachtlicht_on_sunrise"
|
||||||
|
"automation.turn_on_nachtlicht_on_motion_and_dusk"
|
||||||
];
|
];
|
||||||
switches = [
|
switches = [
|
||||||
"switch.bauarbeiterlampe"
|
"switch.bauarbeiterlampe"
|
||||||
"switch.blitzdings"
|
"switch.blitzdings"
|
||||||
"switch.fernseher"
|
"switch.fernseher"
|
||||||
"switch.feuer"
|
"switch.feuer"
|
||||||
|
"switch.nachtlicht"
|
||||||
|
"light.status_felix"
|
||||||
];
|
];
|
||||||
camera = [
|
camera = [
|
||||||
"camera.Baumarkt"
|
"camera.Baumarkt"
|
||||||
@ -207,11 +250,55 @@ in {
|
|||||||
};
|
};
|
||||||
action = {
|
action = {
|
||||||
service = "homeassistant.turn_on";
|
service = "homeassistant.turn_on";
|
||||||
entity_id = [ "switch.fernseher" "switch.feuer" ];
|
entity_id = [
|
||||||
|
"switch.fernseher"
|
||||||
|
"switch.feuer"
|
||||||
|
"light.status_felix"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
alias = "Turn off Nachtlicht on sunrise";
|
||||||
|
trigger =
|
||||||
|
{
|
||||||
|
platform = "sun";
|
||||||
|
event = "sunrise";
|
||||||
|
};
|
||||||
|
action =
|
||||||
|
{
|
||||||
|
service = "homeassistant.turn_off";
|
||||||
|
entity_id = [ "switch.nachtlicht" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
alias = "Turn on Nachtlicht on motion and dusk";
|
||||||
|
trigger =
|
||||||
|
{
|
||||||
|
platform = "state";
|
||||||
|
entity_id = "binary_sensor.motion";
|
||||||
|
to = "on";
|
||||||
|
};
|
||||||
|
condition = # 'when dark'
|
||||||
|
{
|
||||||
|
condition = "or";
|
||||||
|
conditions = [
|
||||||
|
{ condition = "sun";
|
||||||
|
after = "sunset";
|
||||||
|
after_offset = "-00:45:00"; # on dusk
|
||||||
|
}
|
||||||
|
{ condition = "sun";
|
||||||
|
before = "sunrise";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
action =
|
||||||
|
{
|
||||||
|
service = "homeassistant.turn_on";
|
||||||
|
entity_id = [ "switch.nachtlicht" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{ alias = "Turn off Fernseher 10 minutes after last movement";
|
{ alias = "Turn off Fernseher 10 minutes after last movement";
|
||||||
trigger = [
|
trigger = [
|
||||||
{ # trigger when movement was detected at the time
|
{ # trigger when movement was detected at the time
|
||||||
platform = "state";
|
platform = "state";
|
||||||
entity_id = "binary_sensor.motion";
|
entity_id = "binary_sensor.motion";
|
||||||
@ -226,7 +313,11 @@ in {
|
|||||||
];
|
];
|
||||||
action = {
|
action = {
|
||||||
service = "homeassistant.turn_off";
|
service = "homeassistant.turn_off";
|
||||||
entity_id = [ "switch.fernseher" "switch.feuer" ];
|
entity_id = [
|
||||||
|
"switch.fernseher"
|
||||||
|
"switch.feuer"
|
||||||
|
"light.status_felix"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
condition =
|
condition =
|
||||||
{ condition = "and";
|
{ condition = "and";
|
||||||
|
5
makefu/2configs/dict.nix
Normal file
5
makefu/2configs/dict.nix
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
services.dictd.enable = true;
|
||||||
|
services.dictd.DBs = with pkgs.dictdDBs; [ wiktionary wordnet deu2eng eng2deu ];
|
||||||
|
}
|
15
makefu/2configs/remote-build/aarch64-community.nix
Normal file
15
makefu/2configs/remote-build/aarch64-community.nix
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
nix = {
|
||||||
|
distributedBuilds = true;
|
||||||
|
buildMachines = [
|
||||||
|
{
|
||||||
|
hostName = "aarch64.nixos.community";
|
||||||
|
maxJobs = 64;
|
||||||
|
sshKey = toString <secrets/nixos-community>;
|
||||||
|
sshUser = "makefu";
|
||||||
|
system = "aarch64-linux";
|
||||||
|
supportedFeatures = [ "big-parallel" ];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
@ -4,6 +4,7 @@
|
|||||||
users.users.makefu.packages = with pkgs;[
|
users.users.makefu.packages = with pkgs;[
|
||||||
python3
|
python3
|
||||||
python3Packages.pyserial
|
python3Packages.pyserial
|
||||||
|
picocom
|
||||||
python3Packages.virtualenv
|
python3Packages.virtualenv
|
||||||
# embedded
|
# embedded
|
||||||
gi
|
gi
|
||||||
|
Loading…
Reference in New Issue
Block a user