emacs config update

This commit is contained in:
willemml 2023-04-11 00:40:29 -07:00
parent 76eb31c5e7
commit c2abe22da4
Signed by: willemml
GPG key ID: C3DE5DF6198DACBD
5 changed files with 89 additions and 112 deletions

View file

@ -6,13 +6,6 @@
}: {
flake.overlays = {
default = import ../packages;
emacs29 = final: prev: {
emacs29 = prev.emacsGit.overrideAttrs (old: {
name = "emacs29";
version = "29.0-${inputs.emacs-src.shortRev}";
src = inputs.emacs-src;
});
};
emacs-overlay = inputs.emacs-overlay.overlays.default;
fenix = inputs.fenix.overlays.default;
rycee-firefox-addons = final: prev: {rycee-firefox-addons = inputs.rycee-firefox-addons.outputs.packages.${prev.system};};

66
flake.lock generated
View file

@ -7,11 +7,11 @@
]
},
"locked": {
"lastModified": 1680266963,
"narHash": "sha256-IW/lzbUCOcldLHWHjNSg1YoViDnZOmz0ZJL7EH9OkV8=",
"lastModified": 1681154394,
"narHash": "sha256-avnu1K9AuouygBiwVKuDp6emiTET43az3rcpv0ctLjc=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "99d4187d11be86b49baa3a1aec0530004072374f",
"rev": "025912529dd0b31dead95519e944ea05f1ad56f2",
"type": "github"
},
"original": {
@ -28,11 +28,11 @@
]
},
"locked": {
"lastModified": 1680633267,
"narHash": "sha256-9piZEQgXxjsrV5f3VtI6fRcXDjxVRAdpPU8L7UefLSA=",
"lastModified": 1681165126,
"narHash": "sha256-Qte3CafN9PkT+hx6HBKqQoCeQAdOGi5ZEUByKQh1IX0=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "39db4c582a4935df06184da96d2315c01cd0613c",
"rev": "644ae3ce05ae9d42232bba9642d4eaa63bb062d3",
"type": "github"
},
"original": {
@ -41,34 +41,17 @@
"type": "github"
}
},
"emacs-src": {
"flake": false,
"locked": {
"lastModified": 1680780971,
"narHash": "sha256-c5aLVyuT8bK3bJfQSi+HNQGSJyWSvp7X+tr0bX3syZ4=",
"ref": "emacs-29",
"rev": "305246d9726bbe05a65ad3836880138db5c01dfa",
"revCount": 164964,
"type": "git",
"url": "https://git.savannah.gnu.org/git/emacs.git"
},
"original": {
"ref": "emacs-29",
"type": "git",
"url": "https://git.savannah.gnu.org/git/emacs.git"
}
},
"fenix": {
"inputs": {
"nixpkgs": "nixpkgs",
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1680675734,
"narHash": "sha256-8nbvr2/hME6mBRA8AWgRBnzBxuw1rFKGqo4bUuoTSmg=",
"lastModified": 1681107727,
"narHash": "sha256-49r7llR0lRrZLC2uBiRgXN0Ds1kfH7JgBfH5+sQAGio=",
"owner": "nix-community",
"repo": "fenix",
"rev": "46de13a1bc44050cb314ee5c02e8ee47e2089d30",
"rev": "4869bb2408e6778840c8d00be4b45d8353f24723",
"type": "github"
},
"original": {
@ -185,11 +168,11 @@
"utils": "utils"
},
"locked": {
"lastModified": 1680597706,
"narHash": "sha256-ZqJ3T+BxzjPH9TnmeUwS4Uu9ZQPeBXAFC9sUWlharT4=",
"lastModified": 1681162249,
"narHash": "sha256-jh5fLaTxR5XowXA0CN/1Gs2qbvVdmdPCSeO424XWZLI=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "ec06f419af79207b33d797064dfb3fc9dbe1df4a",
"rev": "4e79c6a414ce59fd1a53ab77899c77ab87774e6b",
"type": "github"
},
"original": {
@ -221,11 +204,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1680487167,
"narHash": "sha256-9FNIqrxDZgSliGGN2XJJSvcDYmQbgOANaZA4UWnTdg4=",
"lastModified": 1680945546,
"narHash": "sha256-8FuaH5t/aVi/pR1XxnF0qi4WwMYC+YxlfdsA0V+TEuQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "53dad94e874c9586e71decf82d972dfb640ef044",
"rev": "d9f759f2ea8d265d974a6e1259bd510ac5844c5d",
"type": "github"
},
"original": {
@ -271,11 +254,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1680487167,
"narHash": "sha256-9FNIqrxDZgSliGGN2XJJSvcDYmQbgOANaZA4UWnTdg4=",
"lastModified": 1681036984,
"narHash": "sha256-AbScJXshYzbeUKHh+Y3OICc3iAtr+NqJ3Xb81GW+ptU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "53dad94e874c9586e71decf82d972dfb640ef044",
"rev": "fd531dee22c9a3d4336cc2da39e8dd905e8f3de4",
"type": "github"
},
"original": {
@ -312,11 +295,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1680599552,
"narHash": "sha256-rQQJFGvWQ3Sr+m/r5KGIFN0iVaVKr6u9uraCz6jSKj4=",
"lastModified": 1680981441,
"narHash": "sha256-Tqr2mCVssUVp1ZXXMpgYs9+ZonaWrZGPGltJz94FYi4=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "3342d7c51119030490fdcd07351b53b10806891c",
"rev": "2144d9ddcb550d6dce64a2b44facdc8c5ea2e28a",
"type": "github"
},
"original": {
@ -329,7 +312,6 @@
"inputs": {
"darwin": "darwin",
"emacs-overlay": "emacs-overlay",
"emacs-src": "emacs-src",
"fenix": "fenix",
"flake-parts": "flake-parts",
"home-manager": "home-manager",
@ -342,11 +324,11 @@
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1680600956,
"narHash": "sha256-7+nyJq1q82t04T4fkvZ4csjeJCh0RzB3IDk5HTH6y+4=",
"lastModified": 1680884353,
"narHash": "sha256-efcZC+/FH3ZXMgDL3K5RIzKeD0Ow1ci096cXkTsP8SQ=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "a6464392c15fa8788215d669c4c0b1e46bcadeea",
"rev": "01120f1213ad928de7300a8acf9f41bed72d0422",
"type": "github"
},
"original": {

View file

@ -7,8 +7,6 @@
darwin.inputs.nixpkgs.follows = "nixpkgs";
emacs-overlay.url = "github:nix-community/emacs-overlay";
emacs-overlay.inputs.nixpkgs.follows = "nixpkgs";
emacs-src.url = "git+https://git.savannah.gnu.org/git/emacs.git?ref=emacs-29";
emacs-src.flake = false;
fenix.url = "github:nix-community/fenix";
flake-parts.url = "github:hercules-ci/flake-parts";
home-manager.url = "github:nix-community/home-manager";

View file

@ -4,22 +4,26 @@
...
}: let
emacsPackage =
(pkgs.emacsPackagesFor pkgs.emacs29).emacsWithPackages
(pkgs.emacsPackagesFor pkgs.emacsGit).emacsWithPackages
(epkgs:
(with epkgs; let
org-auctex = epkgs.trivialBuild {
pname = "org-auctex";
version = "e1271557b9f36ca94cabcbac816748e7d0dc989c";
buildInputs = [epkgs.auctex];
company-mode = epkgs.trivialBuild {
pname = "company-mode";
version = "4203cfb";
src = pkgs.fetchFromGitHub {
owner = "karthink";
repo = "org-auctex";
rev = "e1271557b9f36ca94cabcbac816748e7d0dc989c";
sha256 = "sha256-cMAhwybnq5HA1wOaUqDPML3nnh5m1iwEETTPWqPbAvw=";
owner = "company-mode";
repo = "company-mode";
rev = "4203cfbe1303ca86e61ffa31cb88d75782dbb893";
sha256 = "sha256-wj0vXlVkNEA1gD1oT3phzK5Dr/LNkiE2oRzzRmLE+20=";
};
};
mu4e = epkgs.trivialBuild {
pname = "mu4e";
version = pkgs.mu.version;
src = "${pkgs.mu}/share/emacs/site-lisp/mu4e";
};
mu4e-accounts = epkgs.trivialBuild {
pname = "mu4e-accounts";
version = "0.1";
@ -55,6 +59,19 @@
(provide 'mu4e-accounts)
'';
};
org-auctex = epkgs.trivialBuild {
pname = "org-auctex";
version = "e1271557b9f36ca94cabcbac816748e7d0dc989c";
buildInputs = [epkgs.auctex];
src = pkgs.fetchFromGitHub {
owner = "karthink";
repo = "org-auctex";
rev = "e1271557b9f36ca94cabcbac816748e7d0dc989c";
sha256 = "sha256-cMAhwybnq5HA1wOaUqDPML3nnh5m1iwEETTPWqPbAvw=";
};
};
in [
all-the-icons
all-the-icons-dired
@ -64,7 +81,7 @@
calibredb
cdlatex
citeproc
company
company-mode
counsel
editorconfig
edit-indirect
@ -76,6 +93,7 @@
ivy-bibtex
magit
meow
mu4e
mu4e-accounts
nix-mode
nix-update

View file

@ -56,6 +56,8 @@
(global-unset-key (kbd "C-<wheel-down>"))
(global-unset-key (kbd "C-<wheel-up>"))
(require 'all-the-icons)
(require 'all-the-icons-dired)
(require 'arduino-mode)
(require 'async)
(require 'calibredb)
@ -95,6 +97,7 @@
(require 'org-download)
(require 'org-modern)
(require 'ox-latex)
(require 'ox-publish)
(require 'pdf-tools)
(require 'plantuml-mode)
(require 'polymode)
@ -106,27 +109,21 @@
(setq org-directory (expand-file-name "~/Documents/org"))
(when (display-graphic-p)
(require 'all-the-icons)
(require 'all-the-icons-dired)
(add-hook 'dired-mode-hook 'all-the-icons-dired-mode))
(add-hook 'dired-mode-hook 'all-the-icons-dired-mode)
(setq arduino-executable "/Applications/Arduino.app/Contents/MacOS/Arduino")
(setq send-mail-function 'async-smtpmail-send-it
message-send-mail-function 'async-smtpmail-send-it)
(setq calibredb-root-dir "~/Documents/calibre-library")
(setq calibredb-root-dir (expand-file-name "~/Documents/calibre-library"))
(setq calibredb-db-dir (expand-file-name "metadata.db" calibredb-root-dir))
(setq calibredb-library-alist '(("~/Documents/calibre-library")))
(add-hook 'after-init-hook 'global-company-mode)
(setq company-format-margin-function 'company-text-icons-margin)
(setq company-text-icons-add-background t)
;; Align company-mode tooltips to the right hand side
(setq company-tooltip-align-annotations t)
;; Display number of completions before and after current suggestions
;; in company-mode
(setq company-tooltip-offset-display 'lines)
(add-hook 'after-init-hook 'global-company-mode)
(global-set-key "\C-s" 'swiper)
(global-set-key (kbd "C-c C-r") 'ivy-resume)
@ -169,8 +166,11 @@
(setq ivy-re-builders-alist
'((ivy-bibtex . ivy--regex-ignore-order)
(t . ivy--regex-plus)))
(defvar ivy-bibtex-bibliography '((expand-file-name "zotero.bib" org-directory)))
(setq reftex-default-bibliography '((expand-file-name "zotero.bib" org-directory)))
(defvar zotero-bibliography (expand-file-name "zotero.bib" org-directory))
(defvar ivy-bibtex-bibliography (list zotero-bibliography))
(setq reftex-default-bibliography (list zotero-bibliography))
(setq bibtex-completion-pdf-field "file")
(add-hook 'LaTeX-mode-hook 'turn-on-cdlatex)
@ -312,30 +312,16 @@
(define-hostmode poly-nix-hostmode :mode 'nix-mode)
(define-auto-innermode poly-any-expr-nix-innermode
:head-matcher (rx (zero-or-more blank) "/*" (zero-or-more blank) bow (one-or-more (or word punct)) eow (zero-or-more blank) "*/" (zero-or-more blank) "''\n")
:mode-matcher (cons (rx "/*" (zero-or-more blank) (submatch bow (one-or-more (or word punct)) eow) (zero-or-more blank) "*/") 1)
:tail-matcher (rx (zero-or-more blank) "'';\n")
:head-matcher (rx (* blank) "/*" (* blank) bow (+ (or word punct)) eow (* blank) "*/" (* blank) "''\n")
:mode-matcher (cons (rx "/*" (* blank) (submatch bow (+ (or word punct)) eow) (* blank) "*/") 1)
:tail-matcher (rx bol (* blank) "'';" (* blank) eol)
:head-mode 'host
:tail-mode 'host
:fallback-mode 'text-mode)
(define-innermode poly-elisp-expr-nix-innermode
:mode 'emacs-lisp-mode
:head-matcher (cons (rx (zero-or-more blank) "''\n" (submatch (zero-or-more blank) ";")) 1)
:tail-matcher (rx (zero-or-more blank) "'';\n")
:head-mode 'body
:tail-mode 'host)
(define-innermode poly-sh-expr-nix-innermode
:mode 'sh-mode
:head-matcher (cons (rx (zero-or-more blank) "''\n" (submatch (zero-or-more blank) "#")) 1)
:tail-matcher (rx (zero-or-more blank) "'';\n")
:head-mode 'body
:tail-mode 'host)
(define-polymode poly-nix-mode
:hostmode 'poly-nix-hostmode
:innermodes '(poly-any-expr-nix-innermode poly-sh-expr-nix-innermode poly-elisp-expr-nix-innermode))
:innermodes '(poly-any-expr-nix-innermode))
(add-to-list 'auto-mode-alist '("\\.nix$" . poly-nix-mode))
@ -419,19 +405,17 @@ Opens in new window otherwise opens in current window."
(plist-put org-format-latex-options :scale 3)
(setq org-agenda-files '(org-directory (expand-file-name "ubc" org-directory)))
(setq org-agenda-files (list org-directory (expand-file-name "ubc" org-directory)))
(setq org-agenda-tags-column 0)
(setq org-auto-align-tags nil)
(setq org-fold-catch-invisible-edits 'show-and-error)
(setq org-cite-csl-styles-dir "~/Zotero/styles")
(setq org-cite-export-processors '((t basic)))
(setq org-cite-global-bibliography '((expand-file-name "zotero.bib" org-directory)))
(setq org-cite-global-bibliography (list zotero-bibliography))
(setq org-confirm-babel-evaluate nil)
(setq org-ellipsis "")
(setq org-export-with-tags nil)
(setq org-hide-emphasis-markers t)
(setq org-highlight-latex-and-related '(latex))
(setq org-html-head "<link rel=\"stylesheet\" href=\"https://cdn.simplecss.org/simple.min.css\" />")
(setq org-html-head-include-default-style nil)
(setq org-html-head-include-scripts nil)
(setq org-html-validation-link nil)
@ -452,21 +436,23 @@ Opens in new window otherwise opens in current window."
(800 1000 1200 1400 1600 1800 2000)
" ┄┄┄┄┄ " "┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄"))
(setq org-exports-dir (expand-file-name "exports" org-directory))
(setq org-publish-project-alist
'(("html"
:base-directory org-directory
:base-extension "org"
:htmlized-source t
:recursive t
:publishing-directory (expand-file-name "exports" org-directory)
:publishing-function org-html-publish-to-html)
("pdf"
:base-directory org-directory
:base-extension "org"
:recursive t
:publishing-directory (expand-file-name "exports" org-directory)
:publishing-function org-latex-publish-to-pdf)
("all" :components ("html" "pdf"))))
(list (cons "html"
(list :base-directory org-directory
:base-extension "org"
:htmlized-source t
:recursive t
:publishing-directory org-exports-dir
:publishing-function 'org-html-publish-to-html))
(cons "pdf"
(list :base-directory org-directory
:base-extension "org"
:recursive t
:publishing-directory org-exports-dir
:publishing-function 'org-latex-publish-to-pdf))
(cons "all" '(:components ("html" "pdf")))))
(add-hook 'org-mode-hook 'org-auctex-mode)
@ -491,7 +477,7 @@ Opens in new window otherwise opens in current window."
(global-set-key (kbd "C-s") 'swiper)
(setq yas-snippet-dirs '((expand-file-name "snippets" org-directory)))
(setq yas-snippet-dirs (list (expand-file-name "snippets" org-directory)))
;; Accept 'y' and 'n' rather than 'yes' and 'no'.
(defalias 'yes-or-no-p 'y-or-n-p)