diff --git a/.config/emacs/init.el b/.config/emacs/init.el index 9a96d2b..db5e776 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -139,6 +139,11 @@ (require 'lsp-pyright) (lsp)))) +(use-package lsp-scheme + :ensure t + :custom (lsp-scheme-implementation "guile") + :hook (scheme-mode . lsp-scheme)) + ;; === Major Modes === (setq-default indent-tabs-mode nil) diff --git a/README.org b/README.org index 46a4aa4..24196a0 100644 --- a/README.org +++ b/README.org @@ -16,6 +16,8 @@ TODO - Bash - C & C++ compiler - ag +- Guile (with headers) +- chicken ** installation #+begin_src sh diff --git a/scripts/install_dependencies b/scripts/install_dependencies old mode 100644 new mode 100755 index 7c1fe36..7204b20 --- a/scripts/install_dependencies +++ b/scripts/install_dependencies @@ -1,3 +1,17 @@ #!/usr/bin/env bash -echo "Unimplemented" +if ! grep /etc/os-release -e ID=fedora -q; then + echo "Currently only Fedora Linux is supported by this script" +fi + +sudo dnf install -y emacs ag guile30 guile30-devel chicken gcc + +sudo ln -svf "$(command -v guile3.0)" /usr/local/bin/guile +sudo ln -svf "$(command -v guild3.0)" /usr/local/bin/guild +sudo ln -svf "$(command -v guile-config3.0)" /usr/local/bin/guile-config +sudo ln -svf "$(command -v guile-tools3.0)" /usr/local/bin/guile-tools +sudo ln -svf "$(command -v guile-snarf3.0)" /usr/local/bin/guile-snarf + +cd `csi -R chicken.platform -p '(chicken-home)'` +curl https://3e8.org/pub/chicken-doc/chicken-doc-repo-5.tgz | sudo tar zx +chicken-install -s json-rpc r7rs apropos chicken-doc srfi-18 lsp-server