From a23827ca5a1fd948f79452e40fbf46cfe8ad1d62 Mon Sep 17 00:00:00 2001 From: alex Date: Sat, 1 Apr 2023 17:37:26 +0200 Subject: [PATCH] Add workstation setup --- workstation/setup.py | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100755 workstation/setup.py diff --git a/workstation/setup.py b/workstation/setup.py new file mode 100755 index 0000000..ec63c9e --- /dev/null +++ b/workstation/setup.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 +import pathlib +import shutil +import subprocess +import textwrap + + +def _(t): + return textwrap.dedent(t).lstrip() + + +if not shutil.which("rclone"): + subprocess.run(["sudo", "dnf", "install", "-y", "rclone"], check=True) + +if not pathlib.Path(".config/rclone/rclone.conf").exists(): + print(_(""" + Visit https://nextcloud.pdp7.net/nextcloud/index.php/settings/user/security , create an app password + """)) + + subprocess.run(["rclone", "config", "create", "nextcloud", "webdav", "url=https://nextcloud.pdp7.net/nextcloud/remote.php/dav/files/alex/", "vendor=nextcloud", "user=alex", "--all"], check=True) + + +pathlib.Path("Nextcloud").mkdir(exist_ok=True) + + +nextcloud_service_path = pathlib.Path(".config/systemd/user/nextcloud.service") +nextcloud_service_path.parent.mkdir(parents=True, exist_ok=True) + + +with open(nextcloud_service_path, "w", encoding="utf8") as f: + f.write(_(""" + [Unit] + + [Service] + ExecStart=/usr/bin/rclone mount --vfs-cache-mode=full --dir-perms 700 --file-perms 600 nextcloud: /home/alex/Nextcloud/ + + [Install] + WantedBy=default.target + """)) + +subprocess.run(["systemctl", "--user", "enable", "--now", "nextcloud"], check=True) -- 2.47.3