import pathlib
-import shutil
-import textwrap
-import urllib.request
-
-
-COSMO_BUILD_URL = "https://github.com/alexpdp7/superconfigure/releases/download/emacs_29.1/editor.zip"
+import subprocess
+import p7s
def setup_emacs():
- cache = pathlib.Path.home() / ".cache"
- editor_zip = cache / "editor.zip"
- urllib.request.urlretrieve(COSMO_BUILD_URL, editor_zip)
-
- superconfigure_cache = cache / "superconfigure"
- shutil.unpack_archive(editor_zip, superconfigure_cache)
-
- for b in (superconfigure_cache / "bin").glob("*"):
- b.chmod(0o755)
-
- bin = pathlib.Path.home() / ".local" / "bin"
- emacs = bin / "emacs"
- emacs.write_text(textwrap.dedent(f"""
- #!/bin/sh
-
- {superconfigure_cache}/bin/emacsclient --create-frame -t "$@" || {{
- {superconfigure_cache}/bin/emacs --daemon --user=""
- {superconfigure_cache}/bin/emacsclient --create-frame -t "$@"
- }}
- """).lstrip())
- emacs.chmod(0o755)
+ p7s.BASHRC_D.mkdir(parents=True, exist_ok=True)
+ subprocess.run(["ln", "-s", (pathlib.Path(__file__).parent.parent.parent / "emacs" / "emacs.bash").absolute(), p7s.BASHRC_D / "emacs.bash"], check=True)