Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jkitchin/scimax
An emacs starterkit for scientists and engineers
https://github.com/jkitchin/scimax
emacs starterkit
Last synced: 18 days ago
JSON representation
An emacs starterkit for scientists and engineers
- Host: GitHub
- URL: https://github.com/jkitchin/scimax
- Owner: jkitchin
- License: other
- Created: 2016-06-14T10:25:08.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-04-02T20:48:46.000Z (8 months ago)
- Last Synced: 2024-05-01T21:10:49.098Z (7 months ago)
- Topics: emacs, starterkit
- Language: Emacs Lisp
- Size: 4.57 MB
- Stars: 997
- Watchers: 41
- Forks: 121
- Open Issues: 3
-
Metadata Files:
- Readme: README.org
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
#+TITLE: scimax - Awesome editing for scientists and engineers
#+AUTHOR: John KitchinScimax is an Emacs starterkit for scientists and engineers. It provides a comprehensive configuration of Emacs for scientific programming and publishing.
See the [[./scimax.org][manual]] for more details.
* NEWS
** [2023-05-30 Tue] scimax 3.0Another 2+ year update :) This release primarily revolves around making scimax brew-installable. See [[*homebrew]] for details. This new method installs a command-line utility ~scimax~ that will start scimax for you.
There are some newish features. The org-db code has been expanded and includes full-text and image search now. It also provides an org-db-agenda interface. This code is still "just useful enough"; although I use it almost daily, it is still not perfect and has some [[./org-db.org::*Known issues][issues]] that make it likely I will never separate it from scimax.
scimax now uses [[https://github.com/nnicandro/emacs-jupyter][emacs-jupyter]]. See [[./scimax-jupyter.org]] for some examples.
New files include:
- [[./scimax-org-table.el]] :: some convenience functions for tables
- [[./scimax-projectile.el]] :: projectile integration functions
- [[./scimax-org-attachments.el]] :: org-attachment enhancements for scimax
- [[./scimax-slack.el]] :: integration with Slack
- [[./scimax-ob-flycheck.el]] :: integration of flycheck with src blocks (experimental)
- [[./ox-twee2.el]] :: experimental exporter for org to twee (interactive fiction)A potentially breaking change needed for homebrew integration is that I moved the user directory out of scimax. Scimax now honors the built in way of providing user files, e.g. in .emacs or .emacs.d.
** [2021-01-02 Sat] new features
It has been about two years since I noted the last new features. Here are few new features:
1. org-db - index your org-files into sqlite and then be able to search them
1. scimax-contacts - an org-db add-on to help you find and use contacts
2. scimax-editmarks - a new markup for editing org-files and more.
3. scimax-@-links - use the @ key to easily insert a link from many different sources
4. scimax-hydra - a leader key like menu to use scimax** [2018-02-28 Wed] scimax 2.0
It is an update of scimax, and the main new features are:
1. Major overhaul on ipython. See [[./scimax-ipython.org]].
2. A dashboard feature: [[./scimax-dashboard.el]]
3. A new inkscape link: [[./scimax-inkscape.el]]
4. You can put images on links with images in the description: [[./scimax-link-thumbnails.el]]
5. Functional text: [[./scimax-functional-text.el]]And probably more.
* Installation
** homebrew
[[https://brew.sh/][Homebrew]] is now the preferred way to install scimax. It should work on MacOS, Linux and Windows (via WSL). See https://github.com/jkitchin/homebrew-scimax for all the details.
First you should add the tap where the Formula is:
#+BEGIN_SRC sh
brew tap jkitchin/scimax
#+END_SRCThen to install the default version:
#+BEGIN_SRC sh
brew install scimax
#+END_SRCTo get the cutting edge files from the git repository use this command.
#+BEGIN_SRC sh
brew install --head scimax
#+END_SRCThis will output some text that tells you how to load scimax in your init file. It will be adding something like this to ~/.emacs.d/init.el, or whatever file you use.
#+BEGIN_SRC emacs-lisp
(load "/usr/local/opt/scimax/share/emacs/site-lisp/scimax/init.el")
#+END_SRCIf you install scimax by homebrew, you want some lines like this in your ~/.emacs.d/init.el file:
#+BEGIN_SRC emacs-lisp
;; If you want preload variables
(load "/Users/jkitchin/Dropbox/emacs/user/preload.el");; This is what homebrew installed
(load "/usr/local/opt/scimax/share/emacs/site-lisp/scimax/init.el");; This points to your user.el file
(load "/Users/jkitchin/Dropbox/emacs/user/user.el")
#+END_SRC** archived methods
These probably still work, and of course you can set up scimax by simply cloning the repo and setting up your init file to load the parts of it you want.
*** Mac users
Run the next command in your terminal in the location you want to install scimax. The command will make sure you have [[http://brew.sh][homebrew]], git, and emacs installed, and then will clone scimax and tell you how to use it. It will take some time to install. You need to install your own Python and LaTeX. These days I am using [[https://www.continuum.io/downloads][Python3 from Continuum IO]] and MacTeX from http://www.tug.org/mactex.
#+BEGIN_SRC sh
bash -c "$(curl -fsSL https://raw.githubusercontent.com/jkitchin/scimax/master/install-scimax-mac.sh)"
#+END_SRC**** Alternative manual installation of scimax for Mac users
Alternatively, you can install [[http://brew.sh][homebrew]] yourself, install git from http://git-scm.com/download/mac, build your emacs like this:
#+BEGIN_SRC sh
brew install emacs --with-gnutls --with-imagemagick --with-librsvg --with-x11 --use-git-head --HEAD --with-cocoa
#+END_SRCAlternatively, lately I have been using emacs-plus which claims to be faster for magit and has all those options enabled by default.
#+BEGIN_SRC sh
brew tap d12frosted/emacs-plus
brew install emacs-plus
#+END_SRCThis got me:
#+BEGIN_SRC emacs-lisp :result org drawer :export results
(emacs-version)
#+END_SRC#+RESULTS:
: GNU Emacs 28.2 (build 1, x86_64-apple-darwin22.4.0, NS appkit-2299.50 Version 13.3.1 (Build 22E261))
: of 2023-04-25After that, I clone scimax like this:
#+BEGIN_SRC sh
git clone https://github.com/jkitchin/scimax.git
#+END_SRCand launch emacs with:
#+BEGIN_SRC sh
emacs -q -l scimax/init.el
#+END_SRCNote that scimax no longer loads your user files like it did before. You will need to add some lines to an init file to do this.
*** Linux users
Run this command. It checks for a git and emacs, but does not install them. You will have to use your package manager for that. You also need to install your own LaTeX and Python (and other languages you might want).
#+BEGIN_SRC sh
bash -c "$(curl -fsSL https://raw.githubusercontent.com/jkitchin/scimax/master/install-scimax-linux.sh)"
#+END_SRC*** Windows users
Windows has always been the most difficult installation target, and it is the least maintained.
Install git (http://git-scm.com/download/win). Open a git bash terminal. Run this command.
#+BEGIN_SRC sh
bash -c "$(curl -fsSL https://raw.githubusercontent.com/jkitchin/scimax/master/install-scimax-win.sh)"
#+END_SRCThere is an emacs 25.2 binary in this repository for Windows. You should be able to run the scimax.sh command to launch scimax now.
** Manual installation
You can use your own emacs if you have one (version 27 or more is recommended). You still have to install Python and LaTeX if you will be using those.
Clone the scimax repo where you want it.
#+BEGIN_SRC sh
git clone https://github.com/jkitchin/scimax.git
#+END_SRCand launch emacs with:
#+BEGIN_SRC sh
emacs -q -l path/to/scimax/init.el
#+END_SRCAlternatively, add scimax to your load path in your init file and just require what you want.
#+BEGIN_SRC emacs-lisp
(setq scimax-dir "path/to/scimax")
(add-to-list 'load-path "path/to/scimax")
#+END_SRCIt is not uncommon to have to restart emacs a few times while all the packages from MELPA are installed. Windows seems to be like that.
* Funding for scimax
=scimax= development has been partially supported by the following grants:
- National Science Foundation (Award 1506770)
- Department of Energy Early Career Award (DESC0004031)- You can sponsor =scimax= development at https://github.com/sponsors/jkitchin.