Elpy Setup, Racket & Neuron
This commit is contained in:
214
#init.el#
214
#init.el#
@@ -1,214 +0,0 @@
|
||||
;; -*- lexical-binding: t -*-
|
||||
|
||||
;; Bootstrap straight.el for package management
|
||||
(defvar bootstrap-version)
|
||||
(let ((bootstrap-file
|
||||
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
|
||||
(bootstrap-version 5))
|
||||
(unless (file-exists-p bootstrap-file)
|
||||
(with-current-buffer
|
||||
(url-retrieve-synchronously
|
||||
"https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el"
|
||||
'silent 'inhibit-cookies)
|
||||
(goto-char (point-max))
|
||||
(eval-print-last-sexp)))
|
||||
(load bootstrap-file nil 'nomessage))
|
||||
;; Disable package.el from loading at startup
|
||||
(setq package-enable-at-startup nil)
|
||||
(ad
|
||||
;; Ensure custom writes to specific file
|
||||
(setq custom-file (expand-file-name "custom.el" user-emacs-directory))
|
||||
(load custom-file 'noerror 'nomessage)
|
||||
|
||||
;; Change the location of file backups/locks into the emacs.d/backups/
|
||||
(setq backup-directory-alist
|
||||
`(("." . ,(concat user-emacs-directory "backups"))))
|
||||
|
||||
;;;; VISUAL
|
||||
|
||||
;; Disable Scroll bar, menubar
|
||||
(menu-bar-mode -1)
|
||||
(tool-bar-mode -1)
|
||||
(scroll-bar-mode -1)
|
||||
|
||||
;; Set location of custom theme dir
|
||||
(setq custom-theme-directory (concat user-emacs-directory "themes"))
|
||||
(load-theme 'UniverseHighContrast)
|
||||
|
||||
;;;; END VISUAL
|
||||
|
||||
;;;; PACKAGE INSTALL AND CONFIG
|
||||
|
||||
;; Set the packagemanager of use-package
|
||||
(setq straight-use-package-by-default t)
|
||||
;; Default to lazy loading
|
||||
(setq use-package-always-defer t)
|
||||
;; Ensure use-package.el is installed
|
||||
(straight-use-package 'use-package)
|
||||
|
||||
;; Ensure shell variables are loaded
|
||||
(use-package exec-path-from-shell
|
||||
:init
|
||||
(when (memq window-system '(mac ns x))
|
||||
(exec-path-from-shell-initialize))
|
||||
)
|
||||
|
||||
;; Profiling
|
||||
|
||||
(use-package esup)
|
||||
|
||||
;; Prevents emacs and packages from messily writing to dirs
|
||||
(use-package no-littering
|
||||
:demand t)
|
||||
|
||||
;;;; Science Related
|
||||
(use-package conda)
|
||||
;;;; End Science Related
|
||||
|
||||
;;;; Web Related
|
||||
(use-package web-mode
|
||||
:init
|
||||
(add-to-list 'auto-mode-alist '("\\.phtml\\'" . web-mode))
|
||||
(add-to-list 'auto-mode-alist '("\\.[agj]sp\\'" . web-mode))
|
||||
(add-to-list 'auto-mode-alist '("\\.as[cp]x\\'" . web-mode))
|
||||
(add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode))
|
||||
(add-to-list 'auto-mode-alist '("\\.mustache\\'" . web-mode))
|
||||
(add-to-list 'auto-mode-alist '("\\.djhtml\\'" . web-mode))
|
||||
(add-to-list 'auto-mode-alist '("\\.html?\\'" . web-mode))
|
||||
)
|
||||
|
||||
(use-package php-mode)
|
||||
;;;; End Web related
|
||||
|
||||
;;;; C Related
|
||||
(use-package irony
|
||||
:init
|
||||
(add-hook 'c++-mode-hook 'irony-mode)
|
||||
(add-hook 'c-mode-hook 'irony-mode)
|
||||
(add-hook 'objc-mode-hook 'irony-mode)
|
||||
|
||||
(add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options)
|
||||
)
|
||||
;;;; End C Related
|
||||
|
||||
;;;; Company Related
|
||||
(use-package company :demand t
|
||||
:bind
|
||||
(("C-<tab>" . company-complete))
|
||||
:custom-face
|
||||
(company-preview ((t (:background "#000000" :foreground "#ffffff"))))
|
||||
(company-preview-common ((t (:inherit company-preview :foreground "#ff00cf"))))
|
||||
(company-preview-search ((t (:inherit company-preview :background "black"))))
|
||||
(company-scrollbar-bg ((t (:background "grey35"))))
|
||||
(company-scrollbar-fg ((t (:background "#a22390"))))
|
||||
(company-template-field ((t (:background "grey75" :foreground "black"))))
|
||||
(company-tooltip ((t (:background "#353535" :foreground "white"))))
|
||||
(company-tooltip-common ((t (:foreground "magenta"))))
|
||||
(company-tooltip-mouse ((t (:inherit company-tooltip-selection))))
|
||||
(company-tooltip-search ((t (:inherit company-tooltip-selection))))
|
||||
(company-tooltip-search-selection ((t (:inherit company-tooltip-selection))))
|
||||
(company-tooltip-selection ((t (:background "#4584a2" :foreground "white"))))
|
||||
)
|
||||
(add-hook 'after-init-hook 'global-company-mode)
|
||||
|
||||
; Python
|
||||
(use-package company-jedi)
|
||||
; C related
|
||||
(use-package company-ctags)
|
||||
(use-package company-c-headers)
|
||||
(use-package company-irony)
|
||||
; Haskell
|
||||
(use-package company-ghci)
|
||||
;;;; End Company Related
|
||||
|
||||
;;;; Haskell Related
|
||||
(use-package haskell-mode
|
||||
:config
|
||||
(setq haskell-mode-hook '(flyspell-prog-mode interactive-haskell-mode))
|
||||
)
|
||||
|
||||
(use-package ghci-completion)
|
||||
;;;; End Haskell Related
|
||||
|
||||
;;;; Org Related
|
||||
;; (use-package org)
|
||||
(use-package org-contrib)
|
||||
(use-package org
|
||||
:config
|
||||
(require 'org-tempo)
|
||||
(tempo-define-template
|
||||
"Lab Template" '("#+TITLE: PHY324: LAB TITLE"n
|
||||
"#+AUTHOR: ***REMOVED*** | ***REMOVED***"n
|
||||
"#+DATE: \\today"n
|
||||
"#+LATEX_HEADER: \\usepackage{natbib}"n
|
||||
"#+LATEX_HEADER: \\usepackage{float}"n
|
||||
"#+LATEX_CLASS: labtemplate"n
|
||||
"#+OPTIONS: toc:nil"n
|
||||
""n
|
||||
"* Abstract:"n
|
||||
"* Introduction:"n > p
|
||||
"* Methods:"n
|
||||
"* Results:"n
|
||||
"* Discussion:"n
|
||||
"bibliographystyle:ieeetr"n
|
||||
"bibliography:~/Documents/Bibliography/references.bib" >)
|
||||
"<LAB" "Insert Lab Template With Headings")
|
||||
(tempo-define-template "Fig. Caption"
|
||||
'("" (P "Image: " image t)
|
||||
(P "Caption: " caption t)
|
||||
(P "Figure Name: " name t)
|
||||
"#+CAPTION: " (s caption) > n >
|
||||
"#+NAME: fig:" (s name) > n >
|
||||
"#+ATTR_LaTeX: :placement [H]" > n >
|
||||
"[[" (s image) "]]" > n > p >)
|
||||
"<fig" "Inserts Figure with Caption")
|
||||
(with-eval-after-load 'ox-latex
|
||||
(add-to-list 'org-latex-packages-alist '("" "minted"))
|
||||
(setq org-latex-listings 'minted)
|
||||
|
||||
(add-to-list 'org-latex-classes
|
||||
'("labtemplate" "\\documentclass{labtemplate}"
|
||||
("\\section{%s}" . "\\section*{%s}")
|
||||
("\\subsection{%s}" . "\\subsection*{%s}")
|
||||
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
|
||||
("\\paragraph{%s}" . "\\paragraph*{%s}")
|
||||
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
|
||||
)
|
||||
|
||||
(setq org-latex-pdf-process
|
||||
'("%latex -shell-escape -interaction nonstopmode -output-directory %o %f" "%latex -shell-escape -interaction nonstopmode -output-directory %o %f" "bibtex %b" "%latex -shell-escape -interaction nonstopmode -output-directory %o %f" "%latex -shell-escape -interaction nonstopmode -output-directory %o %f")))
|
||||
|
||||
)
|
||||
; References etc.
|
||||
(use-package org-ref
|
||||
:after org
|
||||
:defer t
|
||||
:config
|
||||
(setq reftex-default-bibliography '("~/Documents/Bibliography/references.bib"))
|
||||
;; see org-ref for use of these variables
|
||||
(setq org-ref-bibliography-notes "~/Documents/Bibliography/notes.org"
|
||||
org-ref-default-bibliography '("~/Documents/Bibliography/references.bib")
|
||||
org-ref-pdf-directory "~/Documents/Bibliography/bibtex-pdfs/")
|
||||
)
|
||||
|
||||
; PDF preview etc.
|
||||
(use-package pdf-tools)
|
||||
|
||||
; better TEX
|
||||
(use-package auctex
|
||||
:after org)
|
||||
|
||||
; Plotting support
|
||||
(use-package gnuplot)
|
||||
|
||||
;;Org Auto Wrap Config
|
||||
(add-hook 'org-mode-hook 'auto-fill-mode)
|
||||
(set-fill-column 100)
|
||||
;;;; End Org Related
|
||||
|
||||
;; ghci-completion company-ghci
|
||||
;; exec-path-from-shell nix-haskell-mode haskell-mode
|
||||
;; pyvenv rainbow-mode company-ctags company-jedi
|
||||
;; company-anaconda anaconda-mode matlab-mode markdown-mode company-irony-c-headers company-irony irony rust-mode company-c-headers cdlatex auctex use-package smog conda gnuplot php-mode web-mode org-ref pdf-tools chess
|
||||
|
||||
;;;; END PACKAGES
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -5,3 +5,4 @@
|
||||
/tutorial/
|
||||
/var/
|
||||
tramp
|
||||
/elpy/
|
||||
|
||||
14
custom.el
14
custom.el
@@ -6,7 +6,8 @@
|
||||
'(conda-anaconda-home "~/opt/anaconda3")
|
||||
'(custom-safe-themes
|
||||
'("29addd67feb95ca1179e60d476bb92c1f11835548e2efaec15c9ac6af2a8e6a8" "9b7a425c38c4894e161887c26381c2a6fc1de3c1407158507caaf469d76eb27b" "bce055e1681dd343659957710af77f7a6ad106677d42c61f86ebeedf637c4493" "f62c69472d3f506179d797131c014fe4095d9609dddf14542c50e0388f1e8d6d" "cf143bf23fa8160f87331893cdadc40b876556634621dfa373fcf93c4c97c444" "f459dfd377e9cb98d90e53383dcca7d73396cc0a22b31d39af24fb1cf3548fb5" "fcc14e1a22c99d77f7b1455b0c8a320f8afd0c1f4a9c5c50b45f676eb0c54ba2" "a6bae299481c3c0058e611d2c32ca169fa27203345a880806a5a8554cdd2e588" "feb9556e03558588e29e6659c8e01ea3d2a17a1e7a13e9bf9fc9e59cacba4b72" default))
|
||||
'(python-shell-process-environment '("PYTHONBREAKPOINT=")))
|
||||
'(elpy-rpc-python-command "python3")
|
||||
'(python-shell-completion-native-enable nil))
|
||||
(custom-set-faces
|
||||
;; custom-set-faces was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
@@ -23,4 +24,13 @@
|
||||
'(company-tooltip-mouse ((t (:inherit company-tooltip-selection))))
|
||||
'(company-tooltip-search ((t (:inherit company-tooltip-selection))))
|
||||
'(company-tooltip-search-selection ((t (:inherit company-tooltip-selection))))
|
||||
'(company-tooltip-selection ((t (:background "#4584a2" :foreground "white")))))
|
||||
'(company-tooltip-selection ((t (:background "#4584a2" :foreground "white"))))
|
||||
'(elpy-codecell-boundary ((t (:background "#4f9"))))
|
||||
'(rainbow-delimiters-depth-1-face ((t (:foreground "#69f"))))
|
||||
'(rainbow-delimiters-depth-2-face ((t (:foreground "#39b"))))
|
||||
'(rainbow-delimiters-depth-3-face ((t (:foreground "#278"))))
|
||||
'(rainbow-delimiters-depth-4-face ((t (:foreground "#281"))))
|
||||
'(rainbow-delimiters-depth-5-face ((t (:foreground "#047"))))
|
||||
'(rainbow-delimiters-depth-6-face ((t (:foreground "#138"))))
|
||||
'(rainbow-delimiters-depth-7-face ((t (:foreground "#708"))))
|
||||
'(rainbow-delimiters-depth-8-face ((t (:foreground "#920")))))
|
||||
|
||||
46
init.el
46
init.el
@@ -47,7 +47,7 @@
|
||||
(straight-use-package 'use-package)
|
||||
|
||||
;; Ensure shell variables are loaded
|
||||
(use-package exec-path-from-shell
|
||||
(use-package exec-path-from-shell :demand
|
||||
:init
|
||||
(when (memq window-system '(mac ns x))
|
||||
(exec-path-from-shell-initialize))
|
||||
@@ -112,11 +112,13 @@
|
||||
(add-hook 'after-init-hook 'global-company-mode)
|
||||
|
||||
; Python
|
||||
(use-package elpy
|
||||
:ensure t
|
||||
:init
|
||||
(elpy-enable)
|
||||
(setq elpy-rpc-backend "jedi"))
|
||||
(use-package pyenv-mode)
|
||||
(use-package company-jedi)
|
||||
(defun my/python-mode-hook ()
|
||||
(add-to-list 'company-backends 'company-jedi))
|
||||
|
||||
(add-hook 'python-mode-hook 'my/python-mode-hook)
|
||||
|
||||
; C related
|
||||
(use-package company-ctags)
|
||||
@@ -135,6 +137,40 @@
|
||||
(use-package ghci-completion)
|
||||
;;;; End Haskell Related
|
||||
|
||||
;;;; NEURON Related
|
||||
(use-package nrnhoc
|
||||
:straight (:package nrnhoc :type git :host github :repo "***REMOVED***csterratt/neuron-emacs"))
|
||||
|
||||
;;;; END NEURON Related
|
||||
|
||||
;;;; Racket Related
|
||||
(use-package geiser-racket)
|
||||
(use-package rainbow-delimiters
|
||||
:commands rainbow-delimiters-mode
|
||||
:hook (
|
||||
(emacs-lisp-mode . rainbow-delimiters-mode)
|
||||
(geiser-mode . rainbow-delimiters-mode)
|
||||
)
|
||||
:custom-face
|
||||
(rainbow-delimiters-depth-1-face ((t (:foreground "#69f"))) )
|
||||
(rainbow-delimiters-depth-2-face ((t (:foreground "#39b"))) )
|
||||
(rainbow-delimiters-depth-3-face ((t (:foreground "#278"))) )
|
||||
(rainbow-delimiters-depth-4-face ((t (:foreground "#281"))) )
|
||||
(rainbow-delimiters-depth-5-face ((t (:foreground "#047"))) )
|
||||
(rainbow-delimiters-depth-6-face ((t (:foreground "#138"))) )
|
||||
(rainbow-delimiters-depth-7-face ((t (:foreground "#708"))) )
|
||||
(rainbow-delimiters-depth-8-face ((t (:foreground "#920"))) )
|
||||
)
|
||||
(use-package paredit
|
||||
:hook (
|
||||
(emacs-lisp-mode . paredit-mode)
|
||||
(geiser-mode . paredit-mode)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
;;;; End Racket Related
|
||||
|
||||
;;;; Org Related
|
||||
;; (use-package org)
|
||||
(use-package org-contrib)
|
||||
|
||||
Reference in New Issue
Block a user