]> xn--ix-yja.es Git - alex.git/commitdiff
Add workstation setup
authoralex <alex@pdp7.net>
Sat, 1 Apr 2023 15:37:26 +0000 (17:37 +0200)
committeralex <alex@pdp7.net>
Sat, 1 Apr 2023 15:37:26 +0000 (17:37 +0200)
workstation/setup.py [new file with mode: 0755]

diff --git a/workstation/setup.py b/workstation/setup.py
new file mode 100755 (executable)
index 0000000..ec63c9e
--- /dev/null
@@ -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)