mirror of https://github.com/Chizi123/.emacs.d.git

Joel Grunbaum
2020-10-14 22b4cd3ea3dd6b88c2ecd0cab98482dc4c0ee163
config.org
@@ -54,6 +54,13 @@
           (disable-all-themes)
           :config
           (load-theme 'solarized-dark t)))
        ((eq emacs-theme 'jetbrains-darcula)
         (use-package jetbrains-darcula-theme
           :ensure t
           :init
           (disable-all-themes)
           :config
           (load-theme 'jetbrains-darcula t)))
        ((eq emacs-theme 'none)
         (disable-all-themes)))
#+END_SRC
@@ -103,6 +110,7 @@
  ;; (add-hook 'latex-mode-hook 'flyspell-buffer)
  (add-hook 'org-mode-hook 'flyspell-mode)
  ;; (add-hook 'org-mode-hook 'flyspell-buffer)
  (diminish 'flyspell-mode)
#+END_SRC
@@ -489,7 +497,7 @@
** eldoc
Shows function arguments in echo area below mode line.
#+BEGIN_SRC emacs-lisp
  (diminish eldoc-mode)
  (diminish 'eldoc-mode)
  (add-hook 'emacs-lisp-mode-hook 'eldoc-mode)
  (add-hook 'lisp-interaction-mode-hook 'eldoc-mode)
  (add-hook 'ielm-mode-hook 'eldoc-mode)
@@ -669,6 +677,28 @@
  (defalias 'yes-or-no-p 'y-or-n-p)
#+END_SRC
** COMMENT Sublime-like minimap
Get a minimap preview of the file on the side like sublime text.
Want to make work but need to find a good way of doing so.
#+BEGIN_SRC emacs-lisp
  (use-package sublimity
    :ensure t
    :config
    (require 'sublimity-scroll)
    (setq sublimity-scroll-weight 4
          sublimity-scroll-drift-length 3)
    (require 'sublimity-map)
    (setq sublimity-map-size 20
          sublimity-map-scale 0.3)
    (sublimity-map-set-delay nil)
    (sublimity-mode 1))
  (use-package minimap
    :ensure t
    :config
    (minimap-mode))
#+END_SRC
* Mode line tweaks
Diminish is used but is included in init.el such that it can be used throughout this document
** Spaceline
@@ -690,6 +720,15 @@
Slightly nicer separator.
#+BEGIN_SRC emacs-lisp
(setq powerline-default-separator nil)
#+END_SRC
** Nyan mode
Use nyan cat as a reference for buffer progression.
#+BEGIN_SRC emacs-lisp
  (use-package nyan-mode
    :ensure t
    :config
    (nyan-mode 1))
#+END_SRC
* Programming tweaks
@@ -739,6 +778,12 @@
    (setq company-minimum-prefix-length 3))
#+END_SRC
** Version control
Settings for emacs' own version control system.
*** Enable version control on the mode line
#+BEGIN_SRC emacs-lisp
  (vc-mode)
#+END_SRC
** Magit
Emacs git client.
Pretty good and offers fairly decent features.
@@ -982,7 +1027,7 @@
    (shell-command "unzip -o ~/.texcount/texcount.zip -d ~/.texcount")
    (add-to-list 'exec-path "~/.texcount/texcount.pl"))
  (if (not(file-exists-p "~/.texcount/texcount.pl"))
  (if (not(or (file-exists-p "~/.texcount/texcount.pl") (file-exists-p "/usr/bin/texcount")))
      (get-texcount-latest))
  (defun texcount ()
@@ -1133,6 +1178,47 @@
    :ensure t)
#+END_SRC
*** Rust
**** Major mode
Get the major mode for rust files.
#+BEGIN_SRC emacs-lisp
  (use-package rust-mode
    :ensure t
    :config
    ;; style guide suggests spaces not tabs
    (add-hook 'rust-mode-hook (lambda () (setq indent-tabs-mode nil)))
    (setq rust-format-on-save t))
  (use-package toml-mode
    :ensure t)
#+END_SRC
**** Cargo integration
Integrate Cargo, rust's package manager.
#+BEGIN_SRC emacs-lisp
  (use-package cargo
    :ensure t
    :hook
    (rust-mode . cargo-minor-mode))
#+END_SRC
**** Flycheck
Linting with flycheck.
#+BEGIN_SRC emacs-lisp
  (use-package flycheck-rust
    :ensure t
    :config
    (add-hook 'flyckeck-mode-hook #'flycheck-rust-setup))
#+END_SRC
**** COMMENT Completion
Code completion with racer.
#+BEGIN_SRC emacs-lisp
  (use-package racer
    :ensure t
    :hook ((rust-mode . racer-mode)
           (racer-mode . (eldoc-mode company-mode)))
    :init
    (setq racer-command "~/.cargo/bin/racer"))
#+END_SRC
* Org mode
** Up to date org
Pull the latest org mode from the repository, rather than the org which comes with emacs.
@@ -1388,43 +1474,4 @@
                 :sitemap-title "Home"
                 :sitemap-filename "index.html"
                 :sitemap-function org-publish-sitemap)))
#+END_SRC
** COMMENT Daily
Using Org-Journal for daily journaling.
Package provides journaling support files for org mode.
#+BEGIN_SRC emacs-lisp
  (use-package org-journal
    :ensure t
    :custom
    (org-journal-dir "~/Documents/Journal/daily")
    (org-journal-date-format "%A, %d %B %Y")
    (org-journal-time-format "%I:%M %p")
    (org-journal-file-type "daily"))
#+END_SRC
* RSS
Various packages for reading RSS feeds in emacs.
** COMMENT Elfeed
Watch feeds using elfeed.
Add feeds to elfeed-feeds in the format ("URL" tags).
#+BEGIN_SRC emacs-lisp
  (use-package elfeed
    :ensure t
    :config
    (setq elfeed-feeds
          '(;;("https://www.abc.net.au/news/feed/51120/rss.xml" news affairs)
            ;;("https://www.theage.com.au/rss/feed.xml" news affairs)
            ("https://www.archlinux.org/feeds/news/" linux arch)
            ("https://xkcd.com/rss.xml" fun comics)
            ("http://feeds.feedburner.com/Explosm" fun comics)
            ("https://www.anandtech.com/rss/" news tech)
            ("https://www.webtoons.com/en/challenge/system32comics/rss?title_no=235074" comics fun)
            ("https://www.economist.com/international/rss.xml" news affairs economics)
            ("https://www.phoronix.com/rss.php" news linux tech)
            ("http://feeds.feedburner.com/servethehome" tech))))
  (use-package elfeed-goodies
    :ensure t
    :config
    (elfeed-goodies/setup))
#+END_SRC