adyya-flake/emacs.mod.nix

71 lines
2.4 KiB
Nix

{
personal.home_modules = [
(
{ pkgs, ... }:
{
home.packages = with pkgs; [
mupdf
];
programs.emacs = {
extraPackages = epkgs: [
epkgs.org
epkgs.ob-asymptote
epkgs.auctex # latex
epkgs.preview-dvisvgm # in-line latex preview
epkgs.latex-preview-pane
epkgs.pdf-tools
epkgs.obsidian
epkgs.hydra # should be fun
];
extraConfig = ''
;; disable splash screen
(setq inhibit-splash-screen t)
;; auctex stuff
(setq TeX-auto-save t)
(setq TeX-parse-self t)
(setq-default TeX-master nil)
;; to be able to view pdfs, i hope
(require 'doc-view)
(setq doc-view-resolution 144)
(setq doc-view-continuous t) ;; ugh, why isn't this the default
;; obsidian extension
(use-package obsidian
:ensure t
:demand t
:config
(obsidian-specify-path "~/notes/obsidian")
(global-obsidian-mode t)
:custom
;; This directory will be used for `obsidian-capture' if set.
(obsidian-inbox-directory "Inbox")
;; Create missing files in inbox? - when clicking on a wiki link
;; t: in inbox, nil: next to the file with the link
;; default: t
;(obsidian-wiki-link-create-file-in-inbox nil)
;; The directory for daily notes (file name is YYYY-MM-DD.md)
(obsidian-daily-notes-directory "daily_notes")
;; Directory of note templates, unset (nil) by default
;(obsidian-templates-directory "templates")
;; Daily Note template name - requires a template directory. Default: Daily Note Template.md
;(obsidian-daily-note-template "daily-note-template.md")
:bind (:map obsidian-mode-map
;; Replace C-c C-o with Obsidian.el's implementation. It's ok to use another key binding.
("C-c C-o" . obsidian-follow-link-at-point)
;; Jump to backlinks
("C-c C-b" . obsidian-backlink-jump)
;; If you prefer you can use `obsidian-insert-link'
("C-c C-l" . obsidian-insert-wikilink)))
;; obsidian hydra
(bind-key (kbd "C-c M-o") 'obsidian-hydra/body 'obsidian-mode-map)
'';
};
}
)
];
}