Emacs updates and improvements

This commit is contained in:
Emmet
2025-07-29 15:54:01 -05:00
parent 3734ba792c
commit f1a64aa937
4 changed files with 93 additions and 2 deletions

View File

@ -0,0 +1 @@
# Scratchpad

View File

@ -64,6 +64,54 @@ in {
}; };
} }
) {}) ) {})
(epkgs.callPackage (
{ lib, fetchurl, trivialBuild }:
trivialBuild {
pname = "lsp-treemacs-nerd-icons";
version = "2efa09a-unstable";
src = builtins.fetchGit {
url = "https://github.com/Velnbur/lsp-treemacs-nerd-icons.git";
rev = "2efa09a701b8b455bfb66529454f27c30f7462dc";
ref = "master";
};
buildInputs = with pkgs.emacsPackages; [
lsp-treemacs
treemacs
nerd-icons
];
meta = with lib; {
description = "Use nerd icons for lsp-mode and lsp-treemacs";
homepage = "https://github.com/Velnbur/lsp-treemacs-nerd-icons";
license = licenses.gpl3;
platforms = platforms.all;
};
}
) {})
(epkgs.callPackage (
{ lib, fetchurl, trivialBuild }:
trivialBuild {
pname = "scratch-plus";
version = "2efa09a-unstable";
src = builtins.fetchGit {
url = "https://git.sr.ht/~swflint/scratch-plus";
rev = "b794901f968000f6e338808307385b683b79ec8b";
ref = "main";
};
meta = with lib; {
description = "Better scratch buffers";
homepage = "https://git.sr.ht/~swflint/scratch-plus";
license = licenses.gpl3;
platforms = platforms.all;
};
}
) {})
]; ];
}) })
fira-code fira-code

View File

@ -25,6 +25,9 @@
(use-package emacs (use-package emacs
:defer t :defer t
:config :config
;; Org mode scratch buffers
(setq initial-major-mode 'org-mode)
;; No startup screen ;; No startup screen
(setq inhibit-startup-message t) (setq inhibit-startup-message t)
@ -146,7 +149,7 @@
(use-package line-wrapping-and-numbers (use-package line-wrapping-and-numbers
:load-path "lib/" :load-path "lib/"
:after (org git-timemachine nix-mode)) :after (org git-timemachine nix-mode treemacs))
(use-package ultra-scroll (use-package ultra-scroll
:init :init
@ -233,7 +236,16 @@
(evil-define-key 'motion 'global (kbd "j") 'evil-next-visual-line) (evil-define-key 'motion 'global (kbd "j") 'evil-next-visual-line)
(evil-define-key 'motion 'global (kbd "k") 'evil-previous-visual-line) (evil-define-key 'motion 'global (kbd "k") 'evil-previous-visual-line)
(defun scratch-plus-toggle ()
(interactive)
(if (projectile-project-p)
(progn
(select-window (scratch-plus-switch-project nil)))
(progn
(select-window (scratch-plus-switch nil)))))
;; File and buffer keybinds ;; File and buffer keybinds
(evil-define-key 'motion 'global (kbd "<leader>x") 'scratch-plus-toggle)
(evil-define-key 'motion 'global (kbd "<leader>.") 'find-file) (evil-define-key 'motion 'global (kbd "<leader>.") 'find-file)
(evil-define-key 'motion 'global (kbd "<leader>bi") 'ibuffer) (evil-define-key 'motion 'global (kbd "<leader>bi") 'ibuffer)
(evil-define-key 'motion 'global (kbd "<leader>bd") 'evil-delete-buffer) (evil-define-key 'motion 'global (kbd "<leader>bd") 'evil-delete-buffer)
@ -297,6 +309,9 @@
(evil-define-key 'motion 'global (kbd "<leader>wh") 'evil-window-left) (evil-define-key 'motion 'global (kbd "<leader>wh") 'evil-window-left)
(evil-define-key 'motion 'global (kbd "<leader>wl") 'evil-window-right) (evil-define-key 'motion 'global (kbd "<leader>wl") 'evil-window-right)
(evil-define-key 'motion scratch-plus-minor-mode-map (kbd "q") 'quit-window)
(evil-define-key 'normal scratch-plus-minor-mode-map (kbd "q") 'quit-window)
(evil-define-key 'insert org-mode-map (kbd "<C-return>") '+org/insert-item-below) (evil-define-key 'insert org-mode-map (kbd "<C-return>") '+org/insert-item-below)
(evil-define-key 'insert org-mode-map (kbd "<C-S-return>") '+org/insert-item-above) (evil-define-key 'insert org-mode-map (kbd "<C-S-return>") '+org/insert-item-above)
(evil-define-key 'motion org-mode-map (kbd "<C-return>") '+org/insert-item-below) (evil-define-key 'motion org-mode-map (kbd "<C-return>") '+org/insert-item-below)
@ -361,8 +376,11 @@
:after (lsp-mode)) :after (lsp-mode))
(use-package lsp-ui :commands lsp-ui-mode) (use-package lsp-ui :commands lsp-ui-mode)
(use-package lsp-treemacs (use-package lsp-treemacs
:after (evil) :after (evil)
:custom
(lsp-treemacs-theme "nerd-icons-ext")
:config :config
(evil-define-key 'normal 'global (kbd "<leader>os") 'lsp-treemacs-symbols)) (evil-define-key 'normal 'global (kbd "<leader>os") 'lsp-treemacs-symbols))
@ -414,6 +432,11 @@
:config :config
(treemacs-load-theme "nerd-icons")) (treemacs-load-theme "nerd-icons"))
(use-package lsp-treemacs-nerd-icons
:after (lsp-treemacs)
:init (with-eval-after-load 'lsp-treemacs
(require 'lsp-treemacs-nerd-icons)))
(use-package nerd-icons-dired (use-package nerd-icons-dired
:after (nerd-icons dired) :after (nerd-icons dired)
:config :config
@ -995,7 +1018,19 @@ Made for `org-tab-first-hook' in evil-mode."
(evil-define-key 'insert 'global (kbd "M-z") 'vterm-toggle-cd-force) (evil-define-key 'insert 'global (kbd "M-z") 'vterm-toggle-cd-force)
(evil-define-key 'motion vterm-mode-map (kbd "M-z") 'vterm-toggle-hide) (evil-define-key 'motion vterm-mode-map (kbd "M-z") 'vterm-toggle-hide)
(evil-define-key 'insert vterm-mode-map (kbd "M-z") 'vterm-toggle-hide) (evil-define-key 'insert vterm-mode-map (kbd "M-z") 'vterm-toggle-hide)
) )
(use-package scratch-plus
:custom
(initial-major-mode 'org-mode)
(scratch-plus-save-directory (file-truename "~/.config/emacs/scratch"))
(scratch-plus-project-subdir ".scratch")
(scratch-plus-restore-type 'demand)
(scratch-plus-force-restore t)
(scratch-plus-idle-save 2)
(scratch-plus-initial-message "Scratchpad")
:init
(add-hook 'after-init-hook #'scratch-plus-mode))
(provide 'init) (provide 'init)
;;; init.el ends here ;;; init.el ends here

View File

@ -27,9 +27,16 @@
(setq-local truncate-lines t) (setq-local truncate-lines t)
(setq visual-line-mode nil) (setq visual-line-mode nil)
(display-line-numbers-mode 1)) (display-line-numbers-mode 1))
(defun activate-coding-lines-without-numbers ()
"Truncate lines in current buffer."
(interactive)
(setq-local truncate-lines t)
(setq visual-line-mode nil)
(display-line-numbers-mode 0))
(add-hook 'org-mode-hook 'activate-writing-lines) (add-hook 'org-mode-hook 'activate-writing-lines)
(add-hook 'markdown-mode-hook 'activate-writing-lines) (add-hook 'markdown-mode-hook 'activate-writing-lines)
(add-hook 'prog-mode-hook 'activate-coding-lines) (add-hook 'prog-mode-hook 'activate-coding-lines)
(add-hook 'treemacs-mode-hook 'activate-coding-lines-without-numbers)
(defun apply-proper-line-wrapping () (defun apply-proper-line-wrapping ()
"Apply proper line wrapping and visual line mode "Apply proper line wrapping and visual line mode
settings according to whether or not the current settings according to whether or not the current