Add OCaml and update Doom Emacs

This commit is contained in:
Paul-Henri Froidmont 2023-09-29 02:42:46 +02:00
parent 217ae1868b
commit 595191e0c7
Signed by: phfroidmont
GPG key ID: BE948AFD7E7873BE
4 changed files with 36 additions and 35 deletions

View file

@ -9,7 +9,7 @@ in {
fonts = { fonts = {
fonts = with pkgs.unstable; [ fonts = with pkgs.unstable; [
corefonts # Microsoft free fonts corefonts # Microsoft free fonts
(nerdfonts.override { fonts = [ "Meslo" ]; }) (nerdfonts.override { fonts = [ "Meslo" "NerdFontsSymbolsOnly" ]; })
]; ];
fontconfig.defaultFonts = { monospace = [ "MesloLGS Nerd Font Mono" ]; }; fontconfig.defaultFonts = { monospace = [ "MesloLGS Nerd Font Mono" ]; };
}; };

View file

@ -5,9 +5,10 @@
doom-big-font (font-spec :family "MesloLGS Nerd Font Mono" :size 24) doom-big-font (font-spec :family "MesloLGS Nerd Font Mono" :size 24)
treemacs-git-mode 'extended treemacs-git-mode 'extended
org-directory "~/Nextcloud/Org/" org-directory "~/Nextcloud/Org/"
org-roam-directory "~/Nextcloud/OrgRoam/") org-roam-directory "~/Nextcloud/OrgRoam/"
nerd-icons-font-names '("SymbolsNerdFontMono-Regular.ttf"))
; Workaround for "Error running timer: (void-function consult--ripgrep-builder)" ; Workaround for "Error running timer: (void-function consult--ripgrep-builder)"
(use-package! consult (use-package! consult
:config :config
(defun consult--ripgrep-builder (&rest args) (apply (consult--ripgrep-make-builder) args))) (defun consult--ripgrep-builder (&rest args) (apply (consult--ripgrep-make-builder) args)))
@ -16,45 +17,38 @@
:init :init
(setq lsp-tailwindcss-add-on-mode t) (setq lsp-tailwindcss-add-on-mode t)
(setq lsp-tailwindcss-major-modes '(rjsx-mode web-mode html-mode css-mode typescript-mode typescript-tsx-mode tsx-ts-mode ;; scala-mode (setq lsp-tailwindcss-major-modes '(rjsx-mode web-mode html-mode css-mode typescript-mode typescript-tsx-mode tsx-ts-mode ;; scala-mode
)) ))
(setq lsp-tailwindcss-experimental-class-regex [ (setq lsp-tailwindcss-experimental-class-regex [
[ "cls\\(([^)]*)\\)" "\"([^']*)\"" ] [ "cls\\(([^)]*)\\)" "\"([^']*)\"" ]
[ "cls\\s*:=\\s*\\(?([^,^\\n^\\)]*)" "\"([^']*)\"" ]])) [ "cls\\s*:=\\s*\\(?([^,^\\n^\\)]*)" "\"([^']*)\"" ]]))
(use-package! websocket (use-package! websocket
:after org-roam) :after org-roam)
(use-package! org-roam-ui (use-package! org-roam-ui
:after org-roam ;; or :after org :after org-roam ;; or :after org
;; normally we'd recommend hooking orui after org-roam, but since org-roam does not have ;; normally we'd recommend hooking orui after org-roam, but since org-roam does not have
;; a hookable mode anymore, you're advised to pick something yourself ;; a hookable mode anymore, you're advised to pick something yourself
;; if you don't care about startup time, use ;; if you don't care about startup time, use
;; :hook (after-init . org-roam-ui-mode) ;; :hook (after-init . org-roam-ui-mode)
:config :config
(setq org-roam-ui-sync-theme t (setq org-roam-ui-sync-theme t
org-roam-ui-follow t org-roam-ui-follow t
org-roam-ui-update-on-save t org-roam-ui-update-on-save t
org-roam-ui-open-on-start t)) org-roam-ui-open-on-start t))
; Taken from https://github.com/yqrashawn/yqdotfiles/blob/master/.doom.d/read.el ; Taken from https://github.com/yqrashawn/yqdotfiles/blob/master/.doom.d/read.el
(setq! elfeed-use-curl t) (setq! elfeed-use-curl t)
(after! elfeed (after! elfeed
(elfeed-set-timeout 36000) (elfeed-set-timeout 36000)
(run-with-idle-timer 300 t #'elfeed-update) (run-with-idle-timer 300 t #'elfeed-update)
(setq! (setq!
;; elfeed-protocol-newsblur-maxpages 200 elfeed-search-filter "+unread"
;; elfeed-search-filter "+unread +p1" rmh-elfeed-org-files `(,(concat org-directory "elfeed.org"))
;; elfeed-search-trailing-width 60 elfeed-protocol-feeds '(("owncloud+https://paultrial@cloud.banditlair.com"
rmh-elfeed-org-files `(,(concat org-directory "elfeed.org"))) :password (shell-command-to-string "echo -n `secret-tool lookup elfeed nextcloud`"))))
;; (add-hook! 'elfeed-search-mode-hook 'elfeed-update) (add-hook! 'elfeed-search-mode-hook 'elfeed-update)
(setq elfeed-protocol-enabled-protocols '(owncloud)) (setq elfeed-protocol-enabled-protocols '(owncloud))
(defadvice elfeed (after configure-elfeed-feeds activate)
"Make elfeed-org autotags rules work with elfeed-protocol."
(setq elfeed-protocol-tags elfeed-feeds)
(setq elfeed-feeds (list
(list "owncloud+https://paultrial@cloud.banditlair.com"
:password (shell-command-to-string "echo -n `secret-tool lookup elfeed nextcloud`")
:autotags elfeed-protocol-tags))))
(elfeed-protocol-enable)) (elfeed-protocol-enable))
(use-package! elfeed-tube (use-package! elfeed-tube

View file

@ -94,15 +94,15 @@
(eval +overlay) ; run code, run (also, repls) (eval +overlay) ; run code, run (also, repls)
;;gist ; interacting with github gists ;;gist ; interacting with github gists
lookup ; navigate your code and its documentation lookup ; navigate your code and its documentation
lsp ; M-x vscode (lsp +peek) ; M-x vscode
magit ; a git porcelain for Emacs magit ; a git porcelain for Emacs
;;make ; run make tasks from Emacs ;;make ; run make tasks from Emacs
;;pass ; password manager for nerds ;;pass ; password manager for nerds
pdf ; pdf enhancements pdf ; pdf enhancements
;;prodigy ; FIXME managing external services & code builders ;;prodigy ; FIXME managing external services & code builders
;;rgb ; creating color strings ;;rgb ; creating color strings
;;taskrunner ; taskrunner for all your projects ;;taskrunner ; taskrunner for all your projects
terraform ; infrastructure as code terraform ; infrastructure as code
;;tmux ; an API for interacting with tmux ;;tmux ; an API for interacting with tmux
tree-sitter tree-sitter
;;upload ; map local to remote projects via ssh/ftp ;;upload ; map local to remote projects via ssh/ftp
@ -150,7 +150,7 @@
markdown ; writing docs for people to ignore markdown ; writing docs for people to ignore
;;nim ; python + lisp at the speed of c ;;nim ; python + lisp at the speed of c
(nix +tree-sitter) ; I hereby declare "nix geht mehr!" (nix +tree-sitter) ; I hereby declare "nix geht mehr!"
;;ocaml ; an objective camel (ocaml +lsp +tree-sitter) ; an objective camel
(org +roam2 +present +hugo +dragndrop) ; organize your plain life in plain text (org +roam2 +present +hugo +dragndrop) ; organize your plain life in plain text
(php +lsp +tree-sitter) ; perl's insecure younger brother (php +lsp +tree-sitter) ; perl's insecure younger brother
;;plantuml ; diagrams for confusing people more ;;plantuml ; diagrams for confusing people more

View file

@ -39,6 +39,14 @@ in {
# metals # Scala # metals # Scala
rnix-lsp # Nix rnix-lsp # Nix
phpactor # PHP phpactor # PHP
#OCaml
ocaml
dune_3
ocamlPackages.ocaml-lsp
ocamlPackages.ocamlformat
ocamlPackages.utop
ocamlPackages.ocp-indent
ocamlPackages.merlin
# Used by org-roam # Used by org-roam
sqlite sqlite
@ -109,6 +117,5 @@ in {
# }; # };
# }; # };
}; };
fonts.fonts = [ pkgs.emacs-all-the-icons-fonts ];
}; };
} }