summaryrefslogtreecommitdiffstats
path: root/lass/2configs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2021-01-25 11:28:26 +0100
committertv <tv@krebsco.de>2021-01-25 11:28:26 +0100
commita0ca091cbf4e9ca41390ad9d54844c9eb2660406 (patch)
treeaae89f223f953a81da400d6f7deac1d5ae5d240e /lass/2configs
parent1cd73df0c8694f491d40f93a796ea58f150e88dc (diff)
parent71206dc6a2852dd69664e85aa6dcb49676ec1f6e (diff)
Merge remote-tracking branch 'prism/master'
Diffstat (limited to 'lass/2configs')
-rw-r--r--lass/2configs/IM.nix45
-rw-r--r--lass/2configs/backup.nix14
-rw-r--r--lass/2configs/binary-cache/server.nix1
-rw-r--r--lass/2configs/bitlbee.nix6
-rw-r--r--lass/2configs/browsers.nix1
-rw-r--r--lass/2configs/codimd.nix3
-rw-r--r--lass/2configs/default.nix3
-rw-r--r--lass/2configs/exim-retiolum.nix7
-rw-r--r--lass/2configs/git.nix11
-rw-r--r--lass/2configs/green-host.nix12
-rw-r--r--lass/2configs/hass/default.nix4
-rw-r--r--lass/2configs/hass/lib.nix25
-rw-r--r--lass/2configs/hass/rooms/bett.nix2
-rw-r--r--lass/2configs/hass/rooms/essen.nix4
-rw-r--r--lass/2configs/hass/rooms/nass.nix4
-rw-r--r--lass/2configs/mail.nix23
-rw-r--r--lass/2configs/muchsync.nix40
-rw-r--r--lass/2configs/nfs-dl.nix2
-rw-r--r--lass/2configs/ppp/umts-stick.nix33
-rw-r--r--lass/2configs/ppp/x220-modem.nix (renamed from lass/2configs/ppp.nix)4
-rw-r--r--lass/2configs/radio.nix6
-rw-r--r--lass/2configs/realwallpaper.nix3
-rw-r--r--lass/2configs/sync/sync.nix13
-rw-r--r--lass/2configs/sync/weechat.nix2
-rw-r--r--lass/2configs/syncthing.nix23
-rw-r--r--lass/2configs/tv.nix88
-rw-r--r--lass/2configs/websites/domsen.nix1
27 files changed, 220 insertions, 160 deletions
diff --git a/lass/2configs/IM.nix b/lass/2configs/IM.nix
new file mode 100644
index 000000000..b79af3b49
--- /dev/null
+++ b/lass/2configs/IM.nix
@@ -0,0 +1,45 @@
+with (import <stockholm/lib>);
+{ config, lib, pkgs, ... }:
+
+{
+ imports = [
+ ./bitlbee.nix
+ ];
+
+ systemd.services.chat = let
+ tmux = pkgs.writeDash "tmux" ''
+ exec ${pkgs.tmux}/bin/tmux -f ${pkgs.writeText "tmux.conf" ''
+ set-option -g prefix `
+ unbind-key C-b
+ bind ` send-prefix
+
+ set-option -g status off
+ set-option -g default-terminal screen-256color
+
+ #use session instead of windows
+ bind-key c new-session
+ bind-key p switch-client -p
+ bind-key n switch-client -n
+ bind-key C-s switch-client -l
+ ''} "$@"
+ '';
+ in {
+ description = "chat environment setup";
+ after = [ "network.target" ];
+ wantedBy = [ "multi-user.target" ];
+
+ restartIfChanged = false;
+
+ path = [
+ pkgs.rxvt_unicode.terminfo
+ ];
+
+ serviceConfig = {
+ User = "lass";
+ RemainAfterExit = true;
+ Type = "oneshot";
+ ExecStart = "${tmux} -2 new-session -d -s IM ${pkgs.weechat}/bin/weechat";
+ ExecStop = "${tmux} kill-session -t IM";
+ };
+ };
+}
diff --git a/lass/2configs/backup.nix b/lass/2configs/backup.nix
deleted file mode 100644
index f5c241785..000000000
--- a/lass/2configs/backup.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ config, lib, ... }:
-with import <stockholm/lib>;
-
-{
- users.users.backup = {
- useDefaultShell = true;
- home = "/backups";
- createHome = true;
- group = "syncthing";
- openssh.authorizedKeys.keys = with config.krebs.hosts; [
- blue.ssh.pubkey
- ];
- };
-}
diff --git a/lass/2configs/binary-cache/server.nix b/lass/2configs/binary-cache/server.nix
index 9b91035a8..101dd045f 100644
--- a/lass/2configs/binary-cache/server.nix
+++ b/lass/2configs/binary-cache/server.nix
@@ -6,6 +6,7 @@
services.nix-serve = {
enable = true;
secretKeyFile = config.krebs.secret.files.nix-serve-key.path;
+ port = 5005;
};
systemd.services.nix-serve = {
diff --git a/lass/2configs/bitlbee.nix b/lass/2configs/bitlbee.nix
index 1220fa0cd..d8f1ae888 100644
--- a/lass/2configs/bitlbee.nix
+++ b/lass/2configs/bitlbee.nix
@@ -10,6 +10,10 @@ with (import <stockholm/lib>);
pkgs.bitlbee-steam
pkgs.bitlbee-discord
];
- libpurple_plugins = [ pkgs.telegram-purple ];
+ libpurple_plugins = [
+ # pkgs.telegram-purple
+ pkgs.tdlib-purple
+ # pkgs.purple-gowhatsapp
+ ];
};
}
diff --git a/lass/2configs/browsers.nix b/lass/2configs/browsers.nix
index eafab400c..00a5d2db0 100644
--- a/lass/2configs/browsers.nix
+++ b/lass/2configs/browsers.nix
@@ -7,7 +7,6 @@
enable = true;
extensions = [
"cjpalhdlnbpafiamejdnhcphjbkeiagm" # ublock origin
- "ihlenndgcmojhcghmfjfneahoeklbjjh" #cVim
];
};
}
diff --git a/lass/2configs/codimd.nix b/lass/2configs/codimd.nix
index e55090de9..d29a65210 100644
--- a/lass/2configs/codimd.nix
+++ b/lass/2configs/codimd.nix
@@ -12,8 +12,9 @@ with import <stockholm/lib>;
'';
};
- services.codimd = {
+ services.hedgedoc = {
enable = true;
+ configuration.allowOrigin = [ "*" ];
configuration = {
db = {
dialect = "sqlite";
diff --git a/lass/2configs/default.nix b/lass/2configs/default.nix
index 1cf421fed..7b6f01148 100644
--- a/lass/2configs/default.nix
+++ b/lass/2configs/default.nix
@@ -3,7 +3,6 @@ with import <stockholm/lib>;
{
imports = [
./binary-cache/client.nix
- ./backup.nix
./gc.nix
./mc.nix
./vim.nix
@@ -22,6 +21,7 @@ with import <stockholm/lib>;
openssh.authorizedKeys.keys = [
config.krebs.users.lass-mors.pubkey
config.krebs.users.lass-blue.pubkey
+ config.krebs.users.lass-green.pubkey
config.krebs.users.lass-yubikey.pubkey
];
};
@@ -40,6 +40,7 @@ with import <stockholm/lib>;
openssh.authorizedKeys.keys = [
config.krebs.users.lass-mors.pubkey
config.krebs.users.lass-blue.pubkey
+ config.krebs.users.lass-green.pubkey
config.krebs.users.lass-yubikey.pubkey
];
};
diff --git a/lass/2configs/exim-retiolum.nix b/lass/2configs/exim-retiolum.nix
index 1ee8d843e..589e17551 100644
--- a/lass/2configs/exim-retiolum.nix
+++ b/lass/2configs/exim-retiolum.nix
@@ -3,7 +3,12 @@
with import <stockholm/lib>;
{
- krebs.exim-retiolum.enable = true;
+ krebs.exim-retiolum = {
+ enable = true;
+ system-aliases = [
+ { from = "root"; to = "lass"; }
+ ];
+ };
krebs.iptables.tables.filter.INPUT.rules = [
{ predicate = "-i retiolum -p tcp --dport smtp"; target = "ACCEPT"; }
];
diff --git a/lass/2configs/git.nix b/lass/2configs/git.nix
index edec2dcb4..e6aeca5d1 100644
--- a/lass/2configs/git.nix
+++ b/lass/2configs/git.nix
@@ -97,6 +97,10 @@ let
populate = {
cgit.section = "software";
};
+ reaktor2 = {
+ cgit.desc = "irc bot";
+ cgit.section = "software";
+ };
stockholm = {
cgit.desc = "take all the computers hostage, they'll love you!";
cgit.section = "configuration";
@@ -109,6 +113,10 @@ let
cgit.desc = "Good Music collection + tools";
cgit.section = "art";
};
+ workadventure-nix = {
+ cgit.desc = "Nix packaging for workadventure";
+ cgit.section = "deployment";
+ };
xmonad-stockholm = {
cgit.desc = "krebs xmonad modules";
cgit.section = "configuration";
@@ -142,9 +150,6 @@ let
nick = config.krebs.build.host.name;
channel = "#xxx";
# TODO define refs in some kind of option per repo
- refs = [
- "refs/heads/master"
- ];
server = "irc.r";
verbose = config.krebs.build.host.name == "prism";
}}
diff --git a/lass/2configs/green-host.nix b/lass/2configs/green-host.nix
index 1f17c78c8..355daba9c 100644
--- a/lass/2configs/green-host.nix
+++ b/lass/2configs/green-host.nix
@@ -4,16 +4,26 @@
<stockholm/lass/2configs/container-networking.nix>
<stockholm/lass/2configs/syncthing.nix>
];
- lass.sync-containers.containers.green = {
+ krebs.sync-containers.containers.green = {
peers = [
"icarus"
"shodan"
"skynet"
"mors"
+ "morpheus"
"littleT"
+ "styx"
];
hostIp = "10.233.2.15";
localIp = "10.233.2.16";
format = "ecryptfs";
};
+
+ services.borgbackup.jobs.sync-green = {
+ encryption.mode = "none";
+ paths = "/var/lib/sync-containers/green/ecryptfs";
+ repo = "/var/lib/sync-containers/green/backup";
+ compression = "auto,lzma";
+ startAt = "daily";
+ };
}
diff --git a/lass/2configs/hass/default.nix b/lass/2configs/hass/default.nix
index 78379ba1c..3cd6e0ebf 100644
--- a/lass/2configs/hass/default.nix
+++ b/lass/2configs/hass/default.nix
@@ -13,7 +13,9 @@ with import ./lib.nix { inherit lib; };
{ predicate = "-i int0 -p tcp --dport 1883"; target = "ACCEPT"; } # mosquitto
{ predicate = "-i docker0 -p tcp --dport 1883"; target = "ACCEPT"; } # mosquitto
{ predicate = "-i int0 -p tcp --dport 8123"; target = "ACCEPT"; } # hass
+ { predicate = "-i int0 -p tcp --dport 1337"; target = "ACCEPT"; } # hass
{ predicate = "-i retiolum -p tcp --dport 8123"; target = "ACCEPT"; } # hass
+ { predicate = "-i retiolum -p tcp --dport 1337"; target = "ACCEPT"; } # hass frontend
{ predicate = "-i wiregrill -p tcp --dport 8123"; target = "ACCEPT"; } # hass
];
@@ -47,6 +49,7 @@ with import ./lib.nix { inherit lib; };
};
config = {};
sun.elevation = 66;
+ shopping_list = {};
discovery = {};
frontend = {};
mqtt = {
@@ -81,7 +84,6 @@ with import ./lib.nix { inherit lib; };
(tasmota_s20 "Stereo Anlage" "stereo")
];
mobile_app = {};
- hue = {};
weather = [
{
platform = "openweathermap";
diff --git a/lass/2configs/hass/lib.nix b/lass/2configs/hass/lib.nix
index 9281a19ec..1f9f9945d 100644
--- a/lass/2configs/hass/lib.nix
+++ b/lass/2configs/hass/lib.nix
@@ -23,7 +23,7 @@ rec {
};
friendly_names =
- lib.mapAttrs' (n: v: lib.nameValuePair "light.${v}_light" { friendly_name = "l.${n}"; }) lights //
+ lib.mapAttrs' (n: v: lib.nameValuePair "light.${v}" { friendly_name = "l.${n}"; }) lights //
lib.mapAttrs' (n: v: lib.nameValuePair "binary_sensor.${v}_update_available" { friendly_name = "s.${n}_up"; }) switches.dimmer //
lib.mapAttrs' (n: v: lib.nameValuePair "binary_sensor.${v}_update_available" { friendly_name = "i.${n}_up"; }) sensors.movement //
lib.mapAttrs' (n: v: lib.nameValuePair "binary_sensor.${v}_update_available" { friendly_name = "l.${n}_up"; }) lights //
@@ -41,11 +41,11 @@ rec {
lib.mapAttrs' (n: v: lib.nameValuePair "sensor.${v}_illuminance" { friendly_name = "i.${n}_lux"; }) sensors.movement //
{};
- detect_movement = sensor: light: delay:
+ detect_movement = name: sensor: light: delay:
let
- id = "${sensor}_${light}";
+ id = name;
sensor_ = "binary_sensor.${sensor}_occupancy";
- light_ = "light.${light}_light";
+ light_ = "light.${light}";
in {
input_boolean."${id}" = {
};
@@ -71,7 +71,6 @@ rec {
# }
{
alias = "movement reset timer ${id}";
- hide_entity = true;
trigger = {
platform = "state";
entity_id = sensor_;
@@ -87,7 +86,6 @@ rec {
}
{
alias = "movement on ${id}";
- # hide_entity = true;
trigger = {
platform = "state";
entity_id = "binary_sensor.${sensor}_occupancy";
@@ -124,7 +122,6 @@ rec {
}
{
alias = "movement off ${id}";
- hide_entity = true;
trigger = {
platform = "state";
entity_id = sensor_;
@@ -144,7 +141,6 @@ rec {
}
{
alias = "movement override ${id}";
- hide_entity = true;
trigger = {
platform = "state";
entity_id = light_;
@@ -164,7 +160,6 @@ rec {
}
{
alias = "movement expired ${id}";
- hide_entity = true;
trigger = {
platform = "event";
event_type = "timer.finished";
@@ -186,11 +181,10 @@ rec {
];
};
- lightswitch = switch: light: {
+ lightswitch = name: switch: light: {
automation = [
{
- alias = "lightswitch ${switch} turn on light ${light}";
- hide_entity = "true";
+ alias = "lightswitch ${name} turn on";
trigger = {
platform = "mqtt";
topic = "zigbee/${switch}";
@@ -225,15 +219,14 @@ rec {
{
service = "light.turn_on";
data_template = {
- entity_id = "light.${light}_light";
+ entity_id = "light.${light}";
brightness = "{{ trigger.payload_json.brightness }}";
};
}
];
}
{
- alias = "lightswitch ${switch} turn off light ${light}";
- hide_entity = "true";
+ alias = "lightswitch ${name} turn off";
trigger = {
platform = "mqtt";
topic = "zigbee/${switch}";
@@ -254,7 +247,7 @@ rec {
action = {
service = "light.turn_off";
data_template = {
- entity_id = "light.${light}_light";
+ entity_id = "light.${light}";
};
};
}
diff --git a/lass/2configs/hass/rooms/bett.nix b/lass/2configs/hass/rooms/bett.nix
index 48a1f72d7..026c5722c 100644
--- a/lass/2configs/hass/rooms/bett.nix
+++ b/lass/2configs/hass/rooms/bett.nix
@@ -3,7 +3,7 @@ with import ../lib.nix { inherit lib; };
{
services.home-assistant.config = lib.mkMerge [
- (lightswitch switches.dimmer.bett lights.bett)
+ (lightswitch "bett" switches.dimmer.bett lights.bett)
];
# lass.hass.love = {
diff --git a/lass/2configs/hass/rooms/essen.nix b/lass/2configs/hass/rooms/essen.nix
index eeb3d30d2..293935f65 100644
--- a/lass/2configs/hass/rooms/essen.nix
+++ b/lass/2configs/hass/rooms/essen.nix
@@ -3,7 +3,7 @@ with import ../lib.nix { inherit lib; };
{
services.home-assistant.config = lib.mkMerge [
- (detect_movement sensors.movement.essen lights.essen 10)
- (lightswitch switches.dimmer.essen lights.essen)
+ (detect_movement "essen" sensors.movement.essen lights.essen 70)
+ (lightswitch "essen" switches.dimmer.essen lights.essen)
];
}
diff --git a/lass/2configs/hass/rooms/nass.nix b/lass/2configs/hass/rooms/nass.nix
index 7e6298738..b23ba86cd 100644
--- a/lass/2configs/hass/rooms/nass.nix
+++ b/lass/2configs/hass/rooms/nass.nix
@@ -3,8 +3,8 @@ with import ../lib.nix { inherit lib; };
{
services.home-assistant.config = lib.mkMerge [
- (detect_movement sensors.movement.nass lights.nass 100)
- (lightswitch switches.dimmer.nass lights.nass)
+ (detect_movement "nass" sensors.movement.nass lights.nass 100)
+ (lightswitch "nass" switches.dimmer.nass lights.nass)
];
}
diff --git a/lass/2configs/mail.nix b/lass/2configs/mail.nix
index 98affdd83..4682865c6 100644
--- a/lass/2configs/mail.nix
+++ b/lass/2configs/mail.nix
@@ -21,6 +21,26 @@ let
account default: prism
'';
+ notmuch-config = pkgs.writeText "notmuch-config" ''
+ [database]
+ path=/home/lass/Maildir
+
+ [user]
+ name=lassulus
+ primary_email=lassulus@lassul.us
+ other_email=lass@mors.r;${concatStringsSep ";" (flatten (attrValues mailboxes))}
+
+ [new]
+ tags=unread;inbox;
+ ignore=
+
+ [search]
+ exclude_tags=deleted;spam;
+
+ [maildir]
+ synchronize_flags=true
+ '';
+
msmtp = pkgs.writeBashBin "msmtp" ''
${pkgs.coreutils}/bin/tee >(${pkgs.notmuch}/bin/notmuch insert +sent) | \
${pkgs.msmtp}/bin/msmtp -C ${msmtprc} "$@"
@@ -207,7 +227,7 @@ let
set sidebar_short_path
set sidebar_folder_indent
set sidebar_visible = yes
- set sidebar_format = '%B%?F? [%F]?%* %?N?%N/? %?S?%S?'
+ set sidebar_format = '%D%?F? [%F]?%* %?N?%N/? %?S?%S?'
set sidebar_width = 20
color sidebar_new yellow red
@@ -232,6 +252,7 @@ let
};
in {
+ environment.variables.NOTMUCH_CONFIG = toString notmuch-config;
environment.systemPackages = [
msmtp
mutt
diff --git a/lass/2configs/muchsync.nix b/lass/2configs/muchsync.nix
new file mode 100644
index 000000000..b09bf579b
--- /dev/null
+++ b/lass/2configs/muchsync.nix
@@ -0,0 +1,40 @@
+with (import <stockholm/lib>);
+{ config, pkgs, ... }:
+
+{
+ systemd.services.muchsync = let
+ hosts = [
+ "mors.r"
+ "green.r"
+ "blue.r"
+ ];
+ in {
+ description = "sync mails";
+ environment = {
+ NOTMUCH_CONFIG = config.environment.variables.NOTMUCH_CONFIG;
+ };
+ after = [ "network.target" ];
+
+ restartIfChanged = false;
+
+ path = [
+ pkgs.notmuch
+ pkgs.openssh
+ ];
+
+ startAt = "*:*"; # run every minute
+ serviceConfig = {
+ User = "lass";
+ Type = "oneshot";
+ ExecStart = pkgs.writeDash "sync-mails" ''
+ set -euf
+
+ /run/current-system/sw/bin/nm-tag-init 2>/dev/null
+ ${concatMapStringsSep "\n" (host: ''
+ echo syncing ${host}:
+ ${pkgs.muchsync}/bin/muchsync -s 'ssh -CTaxq -o ConnectTimeout=4' --nonew lass@${host} || :
+ '') hosts}
+ '';
+ };
+ };
+}
diff --git a/lass/2configs/nfs-dl.nix b/lass/2configs/nfs-dl.nix
index 91b026455..eeab732ba 100644
--- a/lass/2configs/nfs-dl.nix
+++ b/lass/2configs/nfs-dl.nix
@@ -13,9 +13,9 @@
"x-systemd.device-timeout=1"
"x-systemd.idle-timeout=1min"
"x-systemd.requires=retiolum.service"
- "x-systemd.requires=wpa_supplicant.service"
"user"
"_netdev"
+ "soft"
];
};
}
diff --git a/lass/2configs/ppp/umts-stick.nix b/lass/2configs/ppp/umts-stick.nix
new file mode 100644
index 000000000..64551a2b3
--- /dev/null
+++ b/lass/2configs/ppp/umts-stick.nix
@@ -0,0 +1,33 @@
+{ pkgs, ... }: {
+
+ # usage: pppd call stick
+
+ environment.etc."ppp/peers/stick".text = ''
+ /dev/ttyUSB0
+ 460800
+ crtscts
+ defaultroute
+ holdoff 10
+ lock
+ maxfail 0
+ noauth
+ nodetach
+ noipdefault
+ passive
+ persist
+ usepeerdns
+ connect "${pkgs.ppp}/bin/chat -f ${pkgs.writeText "default.chat" ''
+ ABORT "BUSY"
+ ABORT "NO CARRIER"
+ REPORT CONNECT
+ "" "ATDT*99#"
+ CONNECT
+ ''}"
+ '';
+
+ environment.systemPackages = [
+ pkgs.ppp
+ ];
+
+}
+
diff --git a/lass/2configs/ppp.nix b/lass/2configs/ppp/x220-modem.nix
index 9cc7568a5..d6facb724 100644
--- a/lass/2configs/ppp.nix
+++ b/lass/2configs/ppp/x220-modem.nix
@@ -1,8 +1,8 @@
{ pkgs, ... }: {
- # usage: pppd call default
+ # usage: pppd call x220
- environment.etc."ppp/peers/default".text = ''
+ environment.etc."ppp/peers/x220".text = ''
/dev/ttyACM2
921600
crtscts
diff --git a/lass/2configs/radio.nix b/lass/2configs/radio.nix
index 8c95b535d..707cc8459 100644
--- a/lass/2configs/radio.nix
+++ b/lass/2configs/radio.nix
@@ -200,7 +200,7 @@ in {
${pkgs.mpc_cli}/bin/mpc idle player > /dev/null
${pkgs.mpc_cli}/bin/mpc current -f %file%
done | while read track; do
- listeners=$(${pkgs.iproute}/bin/ss -Hno state established '( sport = :8000 )' | wc -l)
+ listeners=$(${pkgs.iproute}/bin/ss -Hno state established 'sport = :8000' | wc -l)
echo "$(date -Is)" "$track" | tee -a "$HISTORY_FILE"
echo "$(tail -$LIMIT "$HISTORY_FILE")" > "$HISTORY_FILE"
${write_to_irc} "playing: $track listeners: $listeners"
@@ -275,7 +275,7 @@ in {
user = {
name = "radio";
};
- script = ''
+ script = ''. ${pkgs.writeDash "radio" ''
case "$Method $Request_URI" in
"GET /current")
printf 'HTTP/1.1 200 OK\r\n'
@@ -303,7 +303,7 @@ in {
exit
;;
esac
- '';
+ ''}'';
};
services.nginx = {
diff --git a/lass/2configs/realwallpaper.nix b/lass/2configs/realwallpaper.nix
index e0cb37f67..c3054d3af 100644
--- a/lass/2configs/realwallpaper.nix
+++ b/lass/2configs/realwallpaper.nix
@@ -28,6 +28,9 @@ in {
locations."/realwallpaper-krebs.png".extraConfig = ''
root /var/realwallpaper/;
'';
+ locations."/realwallpaper-video.mp4".extraConfig = ''
+ root /var/realwallpaper/archive;
+ '';
};
krebs.iptables = {
diff --git a/lass/2configs/sync/sync.nix b/lass/2configs/sync/sync.nix
new file mode 100644
index 000000000..bee1d03ac
--- /dev/null
+++ b/lass/2configs/sync/sync.nix
@@ -0,0 +1,13 @@
+{
+ services.syncthing.declarative.folders."/home/lass/sync" = {
+ devices = [ "mors" "icarus" "xerxes" "shodan" "green" "blue" ];
+ };
+ krebs.permown."/home/lass/sync" = {
+ file-mode = "u+rw,g+rw";
+ owner = "lass";
+ group = "syncthing";
+ umask = "0002";
+ keepGoing = true;
+ };
+}
+
diff --git a/lass/2configs/sync/weechat.nix b/lass/2configs/sync/weechat.nix
index ccbfc75a1..7970f3081 100644
--- a/lass/2configs/sync/weechat.nix
+++ b/lass/2configs/sync/weechat.nix
@@ -1,5 +1,5 @@
{
- services.syncthing.declarative.folders."/home/lass/.weechat".devices = [ "blue" "green" "mors" ];
+ services.syncthing.declarative.folders."/home/lass/.weechat".devices = [ "green" "mors" ];
krebs.permown."/home/lass/.weechat" = {
owner = "lass";
group = "syncthing";
diff --git a/lass/2configs/syncthing.nix b/lass/2configs/syncthing.nix
index 7758b860d..e288df68a 100644
--- a/lass/2configs/syncthing.nix
+++ b/lass/2configs/syncthing.nix
@@ -1,20 +1,11 @@
-{ config, pkgs, ... }: with import <stockholm/lib>; let
- all_peers = filterAttrs (n: v: v.syncthing.id != null) config.krebs.hosts;
- own_peers = filterAttrs (n: v: v.owner.name == "lass") all_peers;
- mk_peers = mapAttrs (n: v: { id = v.syncthing.id; });
-in {
+{ config, pkgs, ... }: with import <stockholm/lib>;
+{
+ imports = [ <stockholm/krebs/2configs/syncthing.nix> ];
services.syncthing = {
- enable = true;
group = "syncthing";
- configDir = "/var/lib/syncthing";
declarative = {
key = toString <secrets/syncthing.key>;
cert = toString <secrets/syncthing.cert>;
- devices = mk_peers all_peers;
- folders."/home/lass/sync" = {
- devices = attrNames (filterAttrs (n: v: n != "phone") own_peers);
- # ignorePerms = false;
- };
};
};
krebs.iptables.tables.filter.INPUT.rules = [
@@ -26,11 +17,5 @@ in {
${pkgs.coreutils}/bin/chmod a+x /home/lass
'';
- krebs.permown."/home/lass/sync" = {
- file-mode = "u+rw,g+rw";
- owner = "lass";
- group = "syncthing";
- umask = "0002";
- keepGoing = true;
- };
+ boot.kernel.sysctl."fs.inotify.max_user_watches" = 524288;
}
diff --git a/lass/2configs/tv.nix b/lass/2configs/tv.nix
index 0ca1b340f..d49ed6125 100644
--- a/lass/2configs/tv.nix
+++ b/lass/2configs/tv.nix
@@ -8,6 +8,7 @@ nginxCfg = pkgs.writeText "nginx.conf" ''
worker_connections 128;
}
error_log stderr info;
+
http {
client_body_temp_path /var/lib/rtmp/nginx_cache_client_body;
proxy_temp_path /var/lib/rtmp/nginx_cache_proxy;
@@ -25,92 +26,6 @@ nginxCfg = pkgs.writeText "nginx.conf" ''
location /stat {
rtmp_stat all;
}
-
- location /hls {
- # Serve HLS fragments
- types {
- application/vnd.apple.mpegurl m3u8;
- video/mp2t ts;
- }
- root /var/lib/rtmp/tmp;
- add_header Cache-Control no-cache;
-
- # CORS setup
- add_header 'Access-Control-Allow-Origin' '*' always;
- add_header 'Access-Control-Expose-Headers' 'Content-Length';
-
- # Allow CORS preflight requests
- if ($request_method = 'OPTIONS') {
- add_header 'Access-Control-Allow-Origin' '*';
- add_header 'Access-Control-Max-Age' 1728000;
- add_header 'Content-Type' 'text/plain charset=UTF-8';
- add_header 'Content-Length' 0;
- return 204;
- }
- }
-
- location /dash {
- # Serve DASH fragments
- types {
- application/dash+xml mpd;
- video/mp4 mp4;
- }
- root /tmp;
- add_header Cache-Control no-cache;
-
- # CORS setup
- add_header 'Access-Control-Allow-Origin' '*' always;
- add_header 'Access-Control-Expose-Headers' 'Content-Length';
-
- # Allow CORS preflight requests
- if ($request_method = 'OPTIONS') {
- add_header 'Access-Control-Allow-Origin' '*';
- add_header 'Access-Control-Max-Age' 1728000;
- add_header 'Content-Type' 'text/plain charset=UTF-8';
- add_header 'Content-Length' 0;
- return 204;
- }
- }
-
- location "/dash.all.min.js" {
- default_type "text/javascript";
- alias ${pkgs.fetchurl {
- url = "http://cdn.dashjs.org/v3.2.0/dash.all.min.js";
- sha256 = "16f0b40gdqsnwqi01s5sz9f1q86dwzscgc3m701jd1sczygi481c";
- }};
- }
-
- location /player {
- default_type "text/html";
- alias ${pkgs.writeText "player.html" ''
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="utf-8">
- <title>lassulus livestream</title>
- </head>
- <body>
- <div>
- <video id="player" controls></video>
- </video>
- </div>
- <script src="/dash.all.min.js"></script>
- <script>
- (function(){
- var url = "http://lassul.us:8080/dash/nixos.mpd";
- var player = dashjs.MediaPlayer().create();
- player.initialize(document.querySelector("#player"), url, true);
- })();
- </script>
- </body>
- </html>
- ''};
- }
-
- location /records {
- autoindex on;
- root /var/lib/rtmp;
- }
}
}
@@ -275,6 +190,5 @@ in {
krebs.iptables.tables.filter.INPUT.rules = [