Skip to content

Instantly share code, notes, and snippets.

@textarcana
Last active September 7, 2025 04:03
Show Gist options
  • Save textarcana/4d930ba6f00d20eae9d4eda67e67a050 to your computer and use it in GitHub Desktop.
Save textarcana/4d930ba6f00d20eae9d4eda67e67a050 to your computer and use it in GitHub Desktop.
Ubuntu 24 WSL setup for LaTeX (WINDOWS WSL)
sudo snap install languagetool
sudo apt -y install ack \
bat \
batcat \
chktex \
cowsay \
emacs \
entr \
fzf \
fonts-noto \
fonts-noto-cjk \
fonts-noto-extra \
lolcat \
luatex \
pandoc \
texlive-latex-base \
texlive-luatex \
texlive-xetex \
tree \
xclip \
zathura \
zathura-pdf-poppler
;; sussman device configuration
;; Uncomment this to install packages if needed.
;; (progn
;; (package-refresh-contents)
;; (dolist (pkg '(auctex
;; calmer-forest-theme
;; flycheck
;; flycheck-languagetool
;; smart-mode-line
;; writegood-mode))
;; (package-install pkg))
;; (message "All packages installed!"))
(global-set-key (kbd "TAB") 'hippie-expand)
(require 'package)
;; Any add to list for package-archives (to add marmalade or melpa) goes here
(add-to-list 'package-archives
'("MELPA" .
"http://melpa.org/packages/"))
(package-initialize)
(load-theme 'calmer-forest t)
(smart-mode-line-enable t)
(global-hl-line-mode t)
(add-hook 'after-init-hook #'global-flycheck-mode)
;; Disable annoying things
(tool-bar-mode 0)
(menu-bar-mode 0)
(scroll-bar-mode 0)
(put 'narrow-to-region 'disabled nil)
(fset 'yes-or-no-p 'y-or-n-p)
;; Save kill ring forever
(require 'savehist) ;; prevent flycheck error
(savehist-mode 1)
(setq savehist-additional-variables '(kill-ring))
(setq kill-ring-max most-positive-fixnum) ; Maximum possible integer
;; Larger minibuffer history
(setq history-length most-positive-fixnum)
;; Text Linting and Spell Checking
;; M-x flycheck-list-errors to fix spelling
(add-hook 'LaTeX-mode-hook 'flyspell-mode)
(add-hook 'LaTeX-mode-hook 'writegood-mode)
;; navigate by words instead of letters when selecting a file path after eg C-x f
(require 'ido) ;; Prevent Flycheck warning!
(ido-mode 1)
(setq ido-enable-flex-matching t)
;; Paste prepared texts.
;; I've tried abbrev-mode, yasnippet and TextExpander. This is what works for me.
(defvar my-snippets
'(("bang" . "#!/usr/bin/env bash\n\nset -o errexit -o nounset -o pipefail\n")))
(defun paste (name)
"Insert snippet with NAME."
(interactive
(list
(completing-read "Paste Text: "
(mapcar 'car my-snippets))))
(insert (cdr (assoc name my-snippets))))
;; Enable connecting with emacsclient(1)
(server-start)
(provide '.emacs) ;; prevent flycheck error
;;; .emacs ends here
@textarcana
Copy link
Author

textarcana commented Sep 6, 2025

Flycheck will flag bad grammar but you have to install flycheck-languagetool from MELPA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment