diff --git a/hosts/nixos-testbed/configuration.nix b/hosts/nixos-testbed/configuration.nix index 3838191..a9667ec 100644 --- a/hosts/nixos-testbed/configuration.nix +++ b/hosts/nixos-testbed/configuration.nix @@ -11,49 +11,6 @@ users.users = [ "lain" ]; - - impermanence = { - enable = true; - directories = [ - # "Warning: Neither /var/lib/nixos nor any of its parents are persisted. - # This means all users/groups without specified uids/gids will have them - # reassigned on reboot." - "/var/lib/nixos" - # We don't want to have different ssh keys on reboot, because ssh keys - # are expected to consistently identify machines... I think. I mostly - # just think it's annoying to edit ~/.ssh/known_hosts all the time. - "/etc/ssh" - ]; - rollback = { - enable = true; - device = "/dev/sda2"; - subvolume = "rootfs"; - }; - }; - - sops = { - enable = true; - keyFile = "/persist/private-keys/age/deertopia"; - }; - - deertopia = { - # authelia.enable = true; - # bepasty.enable = true; - # jellyfin.enable = true; - # lldap.enable = true; - nginx.enable = true; - # slskd.enable = true; - # webdav.enable = true; - # copyparty.enable = true; - # syncthing.enable = true; - # cache.enable = true; - # mullvad.enable = true; - servarr.enable = true; - servarr.prowlarr.enable = true; - servarr.jellyfin.enable = true; - servarr.transmission.enable = true; - servarr.sonarr.enable = true; - }; }; boot.loader = { @@ -84,6 +41,8 @@ enable = true; enable32Bit = true; }; + + services.desktopManager.plasma6.enable = true; environment.systemPackages = with pkgs; [ neovim diff --git a/modules/home/users/crumb/emacs.nix b/modules/home/users/crumb/emacs.nix index 54bc89e..7a5ff11 100755 --- a/modules/home/users/crumb/emacs.nix +++ b/modules/home/users/crumb/emacs.nix @@ -23,7 +23,7 @@ in { }; emacsDataDir = "${config.xdg.dataHome}/emacs"; - emacsCacheDir = "${emacsDataDir}/cache"; + emacsCacheDir = "${config.xdg.cacheHome}/emacs"; straightBaseDir = "${emacsDataDir}/straight"; fontPackages = [ @@ -47,7 +47,11 @@ in { capt-of pgf # Includes TikZ. tikz-cd # Commutative diagrams w/ TikZ. + quiver # Commutative diagrams w/ TikZ & q.uiver.app. metafont + preview # For new-gen org-latex-preview. + mylatexformat # For new-gen org-latex-preview. + collection-fontsrecommended # Essential fonts. ; }; diff --git a/modules/home/users/crumb/emacs/modules/lang/syd-lang-clojure.el b/modules/home/users/crumb/emacs/modules/lang/syd-lang-clojure.el index e98731c..e2a68de 100644 --- a/modules/home/users/crumb/emacs/modules/lang/syd-lang-clojure.el +++ b/modules/home/users/crumb/emacs/modules/lang/syd-lang-clojure.el @@ -103,9 +103,10 @@ :side right :vslot -8 :quit t :select t) (,(rx bol "*cider-doc*") :slot 2 :vslot -8 :quit t :select t))) - (add-to-list 'display-buffer-alist - `(,(regexp-quote cider-scratch-buffer-name) - (,#'display-buffer-same-window))) + (with-eval-after-load 'cider-scratch + (add-to-list 'display-buffer-alist + `(,(regexp-quote cider-scratch-buffer-name) + (,#'display-buffer-same-window)))) ;; DEPRECATED: Remove once syd-strategies is working. (syd-add-hook '(clojure-mode-hook clojurescript-mode-hook diff --git a/modules/home/users/crumb/emacs/modules/syd-org.el b/modules/home/users/crumb/emacs/modules/syd-org.el index fc96c75..4df15cf 100755 --- a/modules/home/users/crumb/emacs/modules/syd-org.el +++ b/modules/home/users/crumb/emacs/modules/syd-org.el @@ -308,6 +308,32 @@ See https://lists.gnu.org/archive/html/emacs-orgmode/2019-07/msg00081.html." calendar find-func format-spec org-macs org-compat org-faces org-entities org-list org-pcomplete org-src org-footnote org-macro ob org org-agenda org-capture + ;; We are using Tecosaur's shiny new async LaTeX preview engine. Learn more + ;; here: https://abode.karthinks.com/org-latex-preview/#org9054eb6 + :straight `(org + :fork (:host nil + :repo "https://git.tecosaur.net/tec/org-mode.git" + :branch "dev" + :remote "tecosaur") + :files (:defaults "etc") + :build t + :pre-build + (with-temp-file "org-version.el" + (require 'lisp-mnt) + (let ((version + (with-temp-buffer + (insert-file-contents "lisp/org.el") + (lm-header "version"))) + (git-version + (string-trim + (with-temp-buffer + (call-process "git" nil t nil "rev-parse" "--short" "HEAD") + (buffer-string))))) + (insert + (format "(defun org-release () \"The release version of Org.\" %S)\n" version) + (format "(defun org-git-version () \"The truncate git commit hash of Org mode.\" %S)\n" git-version) + "(provide 'org-version)\n"))) + :pin nil) :init ;; HACK: Face specs fed directly to `org-todo-keyword-faces' don't respect ;; underlying faces like the `org-todo' face does, so we define our own @@ -418,6 +444,19 @@ See https://lists.gnu.org/archive/html/emacs-orgmode/2019-07/msg00081.html." (syd-org-init-theme) (syd-org-init-keybinds)) +(use-package org-latex-preview + :defer t + :straight nil + :custom (;; Generate previews whilst editing. + (org-latex-preview-live t) + ;; Default behaviour waits one second before generating the live + ;; preview. + (org-latex-preview-live-debounce 0.25) + ;; Increase size of previews. + (org-latex-preview-appearance-options + (plist-put org-latex-preview-appearance-options :zoom 1.4))) + :hook (org-mode . org-latex-preview-auto-mode)) + (use-package org-appear :hook (org-mode . org-appear-mode) :custom (org-appear-autoemphasis t)) @@ -532,9 +571,6 @@ In case of failure, fail gracefully." `(org-superstar-header-bullet ((t (:font ,syd-alt-fixed-pitch-font)))) `(org-superstar-item ((t (:font ,syd-alt-fixed-pitch-font)))))) -(use-package org-fragtog - :hook (org-mode . org-fragtog-mode)) - (use-package org-noter :commands org-noter)