summaryrefslogtreecommitdiffstats
path: root/tv
diff options
context:
space:
mode:
Diffstat (limited to 'tv')
-rw-r--r--tv/1systems/xu/config.nix1
-rw-r--r--tv/2configs/autotether.nix19
-rw-r--r--tv/2configs/retiolum.nix10
-rw-r--r--tv/3modules/ejabberd/default.nix2
-rw-r--r--tv/3modules/x0vncserver.nix2
-rw-r--r--tv/5pkgs/simple/alacritty-tv.nix3
6 files changed, 33 insertions, 4 deletions
diff --git a/tv/1systems/xu/config.nix b/tv/1systems/xu/config.nix
index 6ca62ac0..b83d01f0 100644
--- a/tv/1systems/xu/config.nix
+++ b/tv/1systems/xu/config.nix
@@ -4,6 +4,7 @@ with import ./lib;
imports = [
<stockholm/tv>
+ ../../2configs/autotether.nix
<stockholm/tv/2configs/hw/x220.nix>
<stockholm/tv/2configs/exim-retiolum.nix>
<stockholm/tv/2configs/gitconfig.nix>
diff --git a/tv/2configs/autotether.nix b/tv/2configs/autotether.nix
new file mode 100644
index 00000000..43b5575c
--- /dev/null
+++ b/tv/2configs/autotether.nix
@@ -0,0 +1,19 @@
+{ config, pkgs, ... }: let
+ cfg.serial = "17e064850405";
+in {
+ systemd.services.usb_tether.serviceConfig = {
+ SyslogIdentifier = "usb_tether";
+ ExecStartPre = "${pkgs.android-tools}/bin/adb -s ${cfg.serial} wait-for-device";
+ ExecStart = "${pkgs.android-tools}/bin/adb -s ${cfg.serial} shell svc usb setFunctions rndis";
+ };
+ services.udev.extraRules = /* sh */ ''
+ ACTION=="add", SUBSYSTEM=="net", KERNEL=="usb*", NAME="android"
+
+ ACTION=="add", SUBSYSTEM=="usb", ATTR{serial}=="${cfg.serial}", \
+ TAG+="systemd", ENV{SYSTEMD_WANTS}="usb_tether.service"
+ '';
+ systemd.network.networks.android = {
+ matchConfig.Name = "android";
+ DHCP = "yes";
+ };
+}
diff --git a/tv/2configs/retiolum.nix b/tv/2configs/retiolum.nix
index de77de38..1b176e0b 100644
--- a/tv/2configs/retiolum.nix
+++ b/tv/2configs/retiolum.nix
@@ -11,6 +11,16 @@ with import ./lib;
LocalDiscovery = yes
'';
tincPackage = pkgs.tinc_pre;
+ tincUp = lib.mkIf config.systemd.network.enable "";
+ };
+ systemd.network.networks.retiolum = {
+ matchConfig.Name = "retiolum";
+ address = let
+ inherit (config.krebs.build.host.nets.retiolum) ip4 ip6;
+ in [
+ "${ip4.addr}/${toString ip4.prefixLength}"
+ "${ip6.addr}/${toString ip6.prefixLength}"
+ ];
};
tv.iptables.input-internet-accept-tcp = singleton "tinc";
tv.iptables.input-internet-accept-udp = singleton "tinc";
diff --git a/tv/3modules/ejabberd/default.nix b/tv/3modules/ejabberd/default.nix
index e3a41a57..71a1a597 100644
--- a/tv/3modules/ejabberd/default.nix
+++ b/tv/3modules/ejabberd/default.nix
@@ -127,7 +127,7 @@ in {
})
];
- krebs.systemd.services.ejabberd = {};
+ krebs.systemd.services.ejabberd.restartIfCredentialsChange = true;
systemd.services.ejabberd = {
wantedBy = [ "multi-user.target" ];
diff --git a/tv/3modules/x0vncserver.nix b/tv/3modules/x0vncserver.nix
index f19bfebc..eb9b1ae4 100644
--- a/tv/3modules/x0vncserver.nix
+++ b/tv/3modules/x0vncserver.nix
@@ -26,7 +26,7 @@ in {
};
};
config = mkIf cfg.enable {
- krebs.systemd.services.x0vncserver = {};
+ krebs.systemd.services.x0vncserver.restartIfCredentialsChange = true;
systemd.services.x0vncserver = {
after = [ "graphical.target" ];
requires = [ "graphical.target" ];
diff --git a/tv/5pkgs/simple/alacritty-tv.nix b/tv/5pkgs/simple/alacritty-tv.nix
index 466ff27c..d80c46cb 100644
--- a/tv/5pkgs/simple/alacritty-tv.nix
+++ b/tv/5pkgs/simple/alacritty-tv.nix
@@ -70,8 +70,7 @@ pkgs.symlinkJoin {
# Install stored configuration if it has changed.
# This allows for both declarative updates and runtime modifications.
${pkgs.coreutils}/bin/mkdir -p "$HOME"
- ref=$(${pkgs.coreutils}/bin/cat "$HOME"/ref)
- if test "$ref" != ${config-file}; then
+ if test "$(${pkgs.coreutils}/bin/cat "$HOME"/ref)" != ${config-file}; then
echo ${config-file} > "$HOME"/ref
${pkgs.coreutils}/bin/cp ${config-file} "$HOME"/.alacritty.yml
fi