mirror of
https://github.com/willemml/dotfiles.nix.git
synced 2025-04-12 11:17:17 +00:00
emacs config update
This commit is contained in:
parent
76eb31c5e7
commit
c2abe22da4
5 changed files with 89 additions and 112 deletions
|
@ -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
66
flake.lock
generated
|
@ -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": {
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue