#!/bin/env fish begin set -l dir (status dirname) source "$dir/../../Scripts/software.fish" function configureSW -V dir sudo cp "$dir/rclone.service" "$dir/rclone.target" "$dir/rclone@.service" /etc/systemd/user end function userConfig -V dir -a name source "$dir/../../Scripts/config.fish" set -l key "valhalla.users.$name.rclone.configurations" set -l configs (getConfig "$key" --apply "builtins.attrNames" --json) if [ (echo "$configs" | jq "length") -gt 0 ] if [ "$XDG_SESSION_TYPE" = "tty" ] set -l entryPoint ~"$name"/.config/autostart/PortValhallaProfile.desktop sudo -u "$name" mkdir -p "$(dirname "$entryPoint")" begin printf %s\n \ "#!/user/bin/env xdg-open" \ "[Desktop Entry]" \ "Name=PortValhalla Profile" \ "Type=Application" \ "Terminal=false" ( printf "%s " \ "Exec=env" \ "CONFIG_NAME=$(echo "$CONFIG_NAME" | string escape)" \ "konsole -e fish $(realpath (status filename) | string escape) userConfig" ) end | sudo -u "$name" tee "$entryPoint" > /dev/null sudo chmod +x "$entryPoint" sudo -Eu "$name" dbus-launch --exit-with-session startplasma-wayland &> /dev/null rm "$entryPoint" rm ~"$name"/.config/plasma-welcomerc else if [ -n "$name" ] && [ "$name" != "$USER" ] sudo -Eu "$name" CONFIG_NAME="$CONFIG_NAME" fish "$(status filename)" userConfig else systemctl --user enable rclone.service echo "Please complete the setup of your rclone configurations!" for config in (echo "$configs" | jq '.[]' --raw-output0 | string split0) set -l configKey "$key.$config" set -l duration "$configKey.cacheDuration" set -l serviceName "rclone@$config:$(getConfig "$configKey.dirName")" if isSet "$duration" set serviceName "$serviceName:$duration" end echo "Please create a remote called `$config`." rclone config || true systemctl --user enable "$serviceName" --now || true end end end end runInstaller $argv end