Mon Jun 3 08:09:38 PM CEST 2024

This commit is contained in:
Thomas Avé 2024-06-03 20:09:38 +02:00
parent 8ba13936c7
commit 063df11269
4 changed files with 57 additions and 40 deletions

55
home/Mallorea.nix Normal file
View File

@ -0,0 +1,55 @@
{ inputs, config, pkgs, ... }:
let
mkTimer = { name, interval, serviceScript }:
let
timerName = "${name}-timer";
serviceName = "${name}-service";
in
{
systemd.timers.${timerName} = {
wantedBy = [ "timers.target" ];
timerConfig = {
OnBootSec = interval;
OnUnitActiveSec = interval;
Unit = "${serviceName}.service";
};
};
systemd.services.${serviceName} = {
script = ''
set -eu
${serviceScript}
'';
serviceConfig = {
Type = "oneshot";
User = "root";
};
};
};
in
{
imports = [
(import ./common.nix { inherit inputs config pkgs; })
./ssh
];
mkTimer {
name = "disk_check";
interval = "1h";
serviceScript = toString (pkgs.writeShellScript "disk_check" ''
REPORT_EMAIL=email@thomasave.be
ZPOOL_STATUS=$(zpool status -x)
if [ "$ZPOOL_STATUS" = "all pools are healthy" ] || [ "$ZPOOL_STATUS" = "no pools available" ]
then
printf 0 > /var/db/zpool.status
else
if [ "$(cat /var/db/zpool.status)" -eq 0 ]
then
zpool status | mail -s "ZPOOL NOT HEALTHY" $REPORT_EMAIL
printf 1 > /var/db/zpool.status
fi
fi
'');
}
}

View File

@ -7,7 +7,7 @@
set -o pipefail
export XDG_RUNTIME_DIR=/run/user/1000
export XDG_CONFIG_HOME=/home/server/.config
source "$XDG_CONFIG_HOME"/zsh/secrets.sh
source $HOME/.secrets/Backup/env.sh
##########################################
# Create sqlite3 backup for Vaultwarden #

View File

@ -1,37 +0,0 @@
#!/bin/bash
RUNNING_WAYPIPE=false
SSH_CLIENT=""
CHILD_PID=$(pgrep -P "$1")
GRAND_CHILD_PID=$(pgrep -P "$CHILD_PID")
if [ "$GRAND_CHILD_PID" != 0 ]; then
GRAND_CHILD_NAME=$(ps -p "$GRAND_CHILD_PID" -o comm=)
if [ "$GRAND_CHILD_NAME" == "ssh" ]; then
CHILD_PID=$GRAND_CHILD_PID
SSH_CLIENT=$(ps -p "$CHILD_PID" -o args --no-headers | awk '{ print $2 }')
fi
if [ "$GRAND_CHILD_NAME" == "waypipe" ]; then
RUNNING_WAYPIPE=true
CHILD_PID=$(pgrep -P "$GRAND_CHILD_PID")
SSH_CLIENT=$(ps -p "$GRAND_CHILD_PID" -o args --no-headers | awk '{ print $4 }')
fi
fi
if [ $RUNNING_WAYPIPE == true ]; then
PREVIOUS_SESSION_ID=$(grep -z "SSH_SESSION_ID" "/proc/$CHILD_PID/environ" | xargs -0 -n 1 | grep -oP "[0-9]*")
SSH_SESSION_ID=$RANDOM
alacritty -e zsh -c "SSH_SESSION_ID=$SSH_SESSION_ID waypipe ssh -t \"$SSH_CLIENT\" env SSH_SESSION_ID=\"$SSH_SESSION_ID\" PREVIOUS_SESSION_ID=\"$PREVIOUS_SESSION_ID\" \"zsh --login\""
else
if [ "$(ps -p "$1" -o comm=)" == "alacritty" ]; then
CWD=$(readlink -e /proc/"$CHILD_PID"/cwd)
if [ "$CWD" != "" ]; then
alacritty --working-directory "$CWD"
else
alacritty
fi
else
alacritty
fi
fi

View File

@ -1,7 +1,6 @@
#!/bin/bash
export XDG_CONFIG_HOME=/home/server/.config
source "$XDG_CONFIG_HOME"/zsh/secrets.sh
source $HOME/.secrets/Backup/env.sh
for _ in {1..2}; do
OUTPUT=$(echo "$ZFS_PASSPHRASE" | ssh 10.4.0.1 zfs load-key Vault/Thomas/Encrypted 2>&1);