From e76fc52eeea75e2dece3b4e1b9a33118c103fee5 Mon Sep 17 00:00:00 2001 From: cspark Date: Sun, 22 Dec 2024 15:14:56 +0000 Subject: [PATCH] Switch back to flymake, fun aesthetic changes, improve terminal eshell support via eat --- config.org | 385 ++++++++++++++++++++++++++++++++++++----------------- init.el | 82 ++++++------ 2 files changed, 304 insertions(+), 163 deletions(-) diff --git a/config.org b/config.org index 296f721..df787b5 100644 --- a/config.org +++ b/config.org @@ -243,9 +243,9 @@ Install the package, enable it and ensure that it always is installed: **** Emacs Dashboard Configuration #+BEGIN_SRC emacs-lisp ;; Set the title - (setq dashboard-banner-logo-title "Welcome to Curt Spark's Emacs!") + (setq dashboard-banner-logo-title "The EMACS operating system.") ;; Set the banner - (setq dashboard-startup-banner '1) + (setq dashboard-startup-banner '3) ;; Value can be ;; 'official which displays the official emacs logo ;; 'logo which displays an alternative emacs logo @@ -404,6 +404,27 @@ Zoxide Z like functionality, better cd inside eshell :ensure t) #+END_SRC +*** Eat Terminal +Eat is a terminal emulator that can integrate nicely with eshell, allows us to run full ncurses applications inside eshell. +#+BEGIN_SRC emacs-lisp + (use-package eat + :straight '(eat :type git + :host codeberg + :repo "akib/emacs-eat" + :files ("*.el" ("term" "term/*.el") "*.texi" + "*.ti" ("terminfo/e" "terminfo/e/*") + ("terminfo/65" "terminfo/65/*") + ("integration" "integration/*") + (:exclude ".dir-locals.el" "*-tests.el"))) + :ensure t + :init + ;; For `eat-eshell-mode'. + (add-hook 'eshell-load-hook #'eat-eshell-mode) + + ;; For `eat-eshell-visual-command-mode'. + (add-hook 'eshell-load-hook #'eat-eshell-visual-command-mode) + ) +#+END_SRC ** Default Shell Set the default shell used to run commands. #+BEGIN_SRC emacs-lisp @@ -1067,9 +1088,9 @@ The prettier Emacs package reformats your code by running Prettier with minimal #+END_SRC ** Flycheck -Flycheck is a modern version of Flymake, provides error messages +Flycheck is a modern version of Flymake, provides error messages. (Disabling, flycheck currently does not integrate with lsp-bridge. See https://github.com/flycheck/flycheck/issues/2094) -#+BEGIN_SRC emacs-lisp ++BEGIN_SRC emacs-lisp (use-package flycheck :ensure t :config @@ -1077,12 +1098,24 @@ Flycheck is a modern version of Flymake, provides error messages (add-hook 'prog-mode-hook #'flycheck-mode)) ;; Display errors inline ++END_SRC +*** Inline Errors +**** Flycheck Inline ++BEGIN_SRC emacs-lisp (use-package flycheck-inline :after flycheck :ensure t :config (add-hook 'flycheck-mode-hook #'flycheck-inline-mode)) -#+END_SRC ++END_SRC +**** Flycheck Posframe ++BEGIN_SRC emacs-lisp + (use-package flycheck-posframe + :after flycheck + :ensure t + :config + (add-hook 'flycheck-mode-hook #'flycheck-inline-mode)) ++END_SRC ** LSP *** Eglot Mode Emacs Polyglot is the Emacs LSP client that stays out of your way, built into emacs. @@ -1255,7 +1288,8 @@ LSP Bridge is meant to be a super fast LSP integration. ;;(setq lsp-bridge-remote-python-file "~/.emacs.d/straight/repos/lsp-bridge/lsp_bridge.py") (setq lsp-bridge-remote-log "~/.emacs.d/lbr_log.txt") - (setq lsp-bridge-diagnostic-fetch-idle 2) + (setq lsp-bridge-diagnostic-fetch-idle 0.5) + (setq lsp-bridge-diagnostic-overlays t) (setq acm-enable-capf t) (setq acm-enable-icon t) @@ -1272,6 +1306,94 @@ LSP Bridge is meant to be a super fast LSP integration. (global-lsp-bridge-mode) ) #+END_SRC + +**** Flymake Integration +Integrate lsp-bridge with flymake to provide error messages. + +#+BEGIN_SRC emacs-lisp + (use-package flymake-bridge + :ensure t + :straight '(flymake-bridge :type git :host github :repo "liuyinz/flymake-bridge") + :after (lsp-bridge flymake) + :hook ((prog-mode . flymake-mode) + ;;(flymake-mode . flymake-bridge-setup) + (lsp-bridge-mode . flymake-bridge-setup)) + :config + (setq flymake-start-on-save-buffer t) + (setq flymake-start-on-flymake-mode t) + (setq flymake-start-syntax-check-on-find-file t) + ) +#+END_SRC +** Ranger +This is a minor mode that runs within dired, it emulates many of +ranger's (terminal file manager) features. This minor mode shows a +stack of parent directories, and updates the parent buffers, while +you're navigating the file system. The preview window takes some of +the ideas from Peep-Dired, to display previews for the selected files, +in the primary dired buffer. + +#+BEGIN_SRC emacs-lisp + (use-package ranger + :ensure t) +#+END_SRC +** Libvterm +A better terminal ++BEGIN_SRC emacs-lisp + (use-package vterm + :ensure t) ++END_SRC +** Sudo Edit +Allows you to edit files as root via running sudo-edit +#+BEGIN_SRC emacs-lisp + (use-package sudo-edit + :ensure t) +#+END_SRC +** MPD +Clients that support MPD +*** MPDel +MPDel is an Emacs client for Music Player Daemon (MPD), a flexible, powerful, server-side application for playing music. ++BEGIN_SRC emacs-lisp + (use-package mpdel + :ensure t) ++END_SRC +*** Mingus +Mingus is a frontend for GNU Emacs to the Music Player daemon. The interface closely, though not strictly, resembles that of ncmpc. +#+BEGIN_SRC emacs-lisp + (use-package mingus + :ensure t + ) + + (with-eval-after-load 'mingus + (define-key mingus-playlist-mode-map (kbd "") 'mingus-vol-up) + (define-key mingus-playlist-mode-map (kbd "") 'mingus-vol-down) + (define-key mingus-playlist-mode-map (kbd "C-s") 'mingus-query) + ) +#+END_SRC + +** Databases +*** Sqlite Mode +Emacs has a built in sqlite mode to view sqlite database files and modify them. Configure to be a bit nicer +#+BEGIN_SRC emacs-lisp + (with-eval-after-load 'sqlite-mode + (define-key sqlite-mode-map (kbd "") 'sqlite-mode-list-data) + ) + ;; Hook into find-file, basically allows us to open the sqlite db file directly instead of using sqlite-mode-open-file function + (defun sqlite-find-file-hook () + (when (string= (file-name-extension buffer-file-name) "sqlite") + (let + ( + (sql-original-buffer-name (buffer-name)) + (sql-original-buffer-file-name (buffer-file-name)) + ) + + (kill-buffer sql-original-buffer-name) + (sqlite-mode-open-file sql-original-buffer-file-name) + ) + ) + ) + + (add-hook 'find-file-hook 'sqlite-find-file-hook) +#+END_SRC ** Edwina Dynamic Tiling Edwina is a dynamic window manager for Emacs. It automatically arranges your Emacs panes (called “windows” in Emacs parlance) into predefined layouts, dwm-style. @@ -1298,10 +1420,10 @@ in the primary dired buffer. #+END_SRC ** Libvterm A better terminal -#+BEGIN_SRC emacs-lisp ++BEGIN_SRC emacs-lisp (use-package vterm :ensure t) -#+END_SRC ++END_SRC ** Sudo Edit Allows you to edit files as root via running sudo-edit #+BEGIN_SRC emacs-lisp @@ -1381,7 +1503,6 @@ For more information on setup, you should check out `https://github.com/ch11ng/e Install the package, enable it and ensure that it always is installed, and then configure: *** EXWM #+BEGIN_SRC emacs-lisp - (print "exwm reach") (use-package exwm :ensure t :config @@ -1389,168 +1510,182 @@ Install the package, enable it and ensure that it always is installed, and then #+END_SRC **** Configuration #+BEGIN_SRC emacs-lisp - ;; Autostart applications - (start-process-shell-command "udiskie" nil "udiskie") - (start-process-shell-command "dunst" nil "dunst") - (start-process-shell-command "qpwgraph" nil "qpwgraph") - (start-process-shell-command "kdeconnectd" nil "kdeconnectd") - (start-process-shell-command "kdeconnect-indicator" nil "kdeconnect-indicator") + (with-eval-after-load 'exwm + ;; Autostart applications + (start-process-shell-command "udiskie" nil "udiskie") + (start-process-shell-command "dunst" nil "dunst") + (start-process-shell-command "qpwgraph" nil "qpwgraph") + (start-process-shell-command "kdeconnectd" nil "kdeconnectd") + (start-process-shell-command "kdeconnect-indicator" nil "kdeconnect-indicator") - ;; Systemtray - (require 'exwm-systemtray) - (exwm-systemtray-mode) + ;; Systemtray + (require 'exwm-systemtray) + (exwm-systemtray-mode) - ;; Mouse input/bindings - (require 'exwm-input) + ;; Mouse input/bindings + (require 'exwm-input) - ;; EXWM Randr, makes sure that the screens automatically update with the proper resolutions - ;; You may want to install a program such as arandr to graphically manage the screens and resolutions, you can export it into Xrandr commands - (require 'exwm-randr) - (exwm-randr-mode) + ;; EXWM Randr, makes sure that the screens automatically update with the proper resolutions + ;; You may want to install a program such as arandr to graphically manage the screens and resolutions, you can export it into Xrandr commands + (require 'exwm-randr) + (exwm-randr-mode) - ;; Set number of workspaces by default - (setq exwm-workspace-number 10) + ;; Set number of workspaces by default + (setq exwm-workspace-number 10) - (defun exwm-switch-workspace-left () - "Switch one workspace to the left" - (interactive) - (if (= exwm-workspace-current-index 0) (exwm-workspace-switch 9) (exwm-workspace-switch (- exwm-workspace-current-index 1))) - (message (concat "Switched to workspace " (number-to-string exwm-workspace-current-index) "!"))) + (defun exwm-switch-workspace-left () + "Switch one workspace to the left" + (interactive) + (if (= exwm-workspace-current-index 0) + (exwm-workspace-switch (- exwm-workspace-number 1)) + (exwm-workspace-switch (- exwm-workspace-current-index 1)) + ) + (message (concat "Switched to workspace " (number-to-string exwm-workspace-current-index) "!"))) - (defun exwm-switch-workspace-right () - "Switch one workspace to the right" - (interactive) - (if (= exwm-workspace-current-index 9) (exwm-workspace-switch 0) (exwm-workspace-switch (+ exwm-workspace-current-index 1))) - (message (concat "Switched to workspace " (number-to-string exwm-workspace-current-index) "!"))) + (defun exwm-switch-workspace-right () + "Switch one workspace to the right" + (interactive) + (if (= exwm-workspace-current-index (- exwm-workspace-number 1)) + (exwm-workspace-switch 0) + (exwm-workspace-switch (+ exwm-workspace-current-index 1)) + ) + (message (concat "Switched to workspace " (number-to-string exwm-workspace-current-index) "!"))) - (defun exwm-swap-workspace-left () - "Swap current workspace with the workspace to the left" - (interactive) - (if (= exwm-workspace-current-index 0) (exwm-workspace-swap exwm-workspace--current (exwm-workspace--workspace-from-frame-or-index 9)) (exwm-workspace-swap exwm-workspace--current (exwm-workspace--workspace-from-frame-or-index (- exwm-workspace-current-index 1)))) - (message (concat "Swapped current workspace with workspace " (number-to-string exwm-workspace-current-index) "!"))) + (defun exwm-swap-workspace-left () + "Swap current workspace with the workspace to the left" + (interactive) + (if (= exwm-workspace-current-index 0) + (exwm-workspace-swap exwm-workspace--current (exwm-workspace--workspace-from-frame-or-index (- exwm-workspace-number 1))) + (exwm-workspace-swap exwm-workspace--current (exwm-workspace--workspace-from-frame-or-index (- exwm-workspace-current-index 1))) + ) + (message (concat "Swapped current workspace with workspace " (number-to-string exwm-workspace-current-index) "!"))) - (defun exwm-swap-workspace-right () - "Swap current workspace with the workspace to the right" - (interactive) - (if (= exwm-workspace-current-index 9) (exwm-workspace-swap exwm-workspace--current (exwm-workspace--workspace-from-frame-or-index 0)) (exwm-workspace-swap exwm-workspace--current (exwm-workspace--workspace-from-frame-or-index (+ exwm-workspace-current-index 1))) ) - (message (concat "Swapped current workspace with workspace " (number-to-string exwm-workspace-current-index) "!"))) + (defun exwm-swap-workspace-right () + "Swap current workspace with the workspace to the right" + (interactive) + (if (= exwm-workspace-current-index (- exwm-workspace-number 1)) + (exwm-workspace-swap exwm-workspace--current (exwm-workspace--workspace-from-frame-or-index 0)) + (exwm-workspace-swap exwm-workspace--current (exwm-workspace--workspace-from-frame-or-index (+ exwm-workspace-current-index 1))) + ) + (message (concat "Swapped current workspace with workspace " (number-to-string exwm-workspace-current-index) "!"))) - ;; Rename EXWM buffers with window title so they are all identifiable/unique - (defun exwm-rename-buffer () - (interactive) - (exwm-workspace-rename-buffer - (concat exwm-class-name ":" - (if (<= (length exwm-title) 50) exwm-title - (concat (substring exwm-title 0 49) "..."))))) + ;; Rename EXWM buffers with window title so they are all identifiable/unique + (defun exwm-rename-buffer () + (interactive) + (exwm-workspace-rename-buffer + (concat exwm-class-name ":" + (if (<= (length exwm-title) 50) exwm-title + (concat (substring exwm-title 0 49) "..."))))) - ;; Add these hooks in a suitable place (e.g., as done in exwm-config-default) - (add-hook 'exwm-update-class-hook 'exwm-rename-buffer) - (add-hook 'exwm-update-title-hook 'exwm-rename-buffer) + ;; Add these hooks in a suitable place (e.g., as done in exwm-config-default) + (add-hook 'exwm-update-class-hook 'exwm-rename-buffer) + (add-hook 'exwm-update-title-hook 'exwm-rename-buffer) - ;; Keybindings - (setq exwm-input-global-keys + ;; Keybindings + (setq exwm-input-global-keys `(;; Standard EXWM Bindings - ;; Reset EXWM - ([?\s-r] . exwm-reset) + ;; Reset EXWM + ([?\s-r] . exwm-reset) - ;; EXWM Workspace Switcher - ([?\s-w] . exwm-workspace-switch) + ;; EXWM Workspace Switcher + ([?\s-w] . exwm-workspace-switch) - ,@(mapcar (lambda (i) - `(,(kbd (format "s-%d" i)) . + ,@(mapcar (lambda (i) + `(,(kbd (format "s-%d" i)) . (lambda () - (interactive) - (exwm-workspace-switch-create ,i)))) - (number-sequence 0 9)) + (interactive) + (exwm-workspace-switch-create ,i)))) + (number-sequence 0 9)) - ;; Switch between char and line mode mode switcher - ;; Char mode allows for practically all keybindings to be passed to the application aside from a few essential keybindings, line mode allows for emacs keybindings - ([?\s-i] . exwm-input-toggle-keyboard) + ;; Switch between char and line mode mode switcher + ;; Char mode allows for practically all keybindings to be passed to the application aside from a few essential keybindings, line mode allows for emacs keybindings + ([?\s-i] . exwm-input-toggle-keyboard) - ;; Switch one workspace to the left - ([?\M-h] . exwm-switch-workspace-left) + ;; Switch one workspace to the left + ([?\M-h] . exwm-switch-workspace-left) - ;; Switch one workspace to the right - ([?\M-l] . exwm-switch-workspace-right) + ;; Switch one workspace to the right + ([?\M-l] . exwm-switch-workspace-right) - ;; Swap current workspace with one workspace to the left - ([?\M-H] . exwm-swap-workspace-left) + ;; Swap current workspace with one workspace to the left + ([?\M-H] . exwm-swap-workspace-left) - ;; Swap current workspace with one workspace to the left - ([?\M-L] . exwm-swap-workspace-right) + ;; Swap current workspace with one workspace to the left + ([?\M-L] . exwm-swap-workspace-right) - ;; Kill current buffer - ([?\M-w] . kill-current-buffer) + ;; Kill current buffer + ([?\M-w] . kill-current-buffer) - ;; Bindings for Edwina + ;; Bindings for Edwina - ;; Select next window in stack - ;;([?\s-n] . edwina-select-next-window) + ;; Select next window in stack + ;;([?\s-n] . edwina-select-next-window) - ;; Select previous window in stack - ;;([?\s-p] . edwina-select-previous-window) + ;; Select previous window in stack + ;;([?\s-p] . edwina-select-previous-window) - ;; Swap current window with next window in stack - ;; ([?\s-N] . edwina-swap-next-window) + ;; Swap current window with next window in stack + ;; ([?\s-N] . edwina-swap-next-window) - ;; Swap current window with previous window in stack - ;;([?\s-P] . edwina-swap-previous-window) + ;; Swap current window with previous window in stack + ;;([?\s-P] . edwina-swap-previous-window) - ;; Make a new window in the stack - ;;([?\s-b] . (lambda () - ;; (interactive) - ;; (edwina-clone-window) - ;; (edwina-select-next-window))) + ;; Make a new window in the stack + ;;([?\s-b] . (lambda () + ;; (interactive) + ;; (edwina-clone-window) + ;; (edwina-select-next-window))) - )) + )) - ;; Could not integrate these into the exwm global keys variable, for some reason they do not work in NIXOS - (exwm-input-set-key (kbd "M-d") 'counsel-linux-app) + ;; Could not integrate these into the exwm global keys variable, for some reason they do not work in NIXOS + (exwm-input-set-key (kbd "M-d") 'counsel-linux-app) - (exwm-input-set-key (kbd "C-M-p") 'ivy-pass) + (exwm-input-set-key (kbd "C-M-p") 'ivy-pass) - (exwm-input-set-key (kbd "") 'eshell) + (exwm-input-set-key (kbd "") 'eshell) - ;; (exwm-input-set-key (kbd "s-i") 'exwm-input-toggle-keyboard) + ;; (exwm-input-set-key (kbd "s-i") 'exwm-input-toggle-keyboard) - ;; (exwm-input-set-key (kbd "s-h") 'exwm-switch-workspace-left) + ;; (exwm-input-set-key (kbd "s-h") 'exwm-switch-workspace-left) - ;; (exwm-input-set-key (kbd "s-l") 'exwm-switch-workspace-right) + ;; (exwm-input-set-key (kbd "s-l") 'exwm-switch-workspace-right) - ;; (exwm-input-set-key (kbd "s-H") 'exwm-swap-workspace-left) + ;; (exwm-input-set-key (kbd "s-H") 'exwm-swap-workspace-left) - ;; (exwm-input-set-key (kbd "s-L") 'exwm-swap-workspace-right) + ;; (exwm-input-set-key (kbd "s-L") 'exwm-swap-workspace-right) - ;; Edwina bindings + ;; Edwina bindings - ;; Increase master column size - ;;(exwm-input-set-key (kbd "s-=") 'edwina-inc-mfact) + ;; Increase master column size + ;;(exwm-input-set-key (kbd "s-=") 'edwina-inc-mfact) - ;; Increase master column size - ;;(exwm-input-set-key (kbd "s--") 'edwina-dec-mfact) + ;; Increase master column size + ;;(exwm-input-set-key (kbd "s--") 'edwina-dec-mfact) - ;; Increase number of windows in master stack - ;;(exwm-input-set-key (kbd "s-+") 'edwina-inc-nmaster) + ;; Increase number of windows in master stack + ;;(exwm-input-set-key (kbd "s-+") 'edwina-inc-nmaster) - ;; Decrease number of windows in master stack - ;;(exwm-input-set-key (kbd "s-_") 'edwina-dec-nmaster) + ;; Decrease number of windows in master stack + ;;(exwm-input-set-key (kbd "s-_") 'edwina-dec-nmaster) - ;; Set all X windows to open in char mode by default, allowing to pass through all key combinations - ;;(add-hook 'exwm-manage-finish-hook - ;; (lambda () (call-interactively #'exwm-input-release-keyboard) - ;; ;;(exwm-layout-hide-mode-line) - ;; )) + ;; Set all X windows to open in char mode by default, allowing to pass through all key combinations + ;;(add-hook 'exwm-manage-finish-hook + ;; (lambda () (call-interactively #'exwm-input-release-keyboard) + ;; ;;(exwm-layout-hide-mode-line) + ;; )) - ;; Set all X windows to open in line mode by default, allowing emacs to have control over keybinds first - (add-hook 'exwm-manage-finish-hook - (lambda () (call-interactively #'exwm-input-grab-keyboard) - ;;(exwm-layout-hide-mode-line) - )) + ;; Set all X windows to open in line mode by default, allowing emacs to have control over keybinds first + (add-hook 'exwm-manage-finish-hook + (lambda () (call-interactively #'exwm-input-grab-keyboard) + ;;(exwm-layout-hide-mode-line) + )) - ;; Ido mode seems to be enabled in the default configuration, turn it back off as we are using Ivy completion instead. - (ido-mode -1) + ;; Ido mode seems to be enabled in the default configuration, turn it back off as we are using Ivy completion instead. + (ido-mode -1) + ) #+END_SRC diff --git a/init.el b/init.el index 58933a3..fe615ba 100644 --- a/init.el +++ b/init.el @@ -40,62 +40,68 @@ ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(ansi-color-names-vector - ["#d2ceda" "#f2241f" "#67b11d" "#b1951d" "#3a81c3" "#a31db1" "#21b8c7" "#655370"]) + ["#d2ceda" "#f2241f" "#67b11d" "#b1951d" "#3a81c3" "#a31db1" "#21b8c7" + "#655370"]) '(auth-source-save-behavior nil) '(custom-safe-themes - '("014cb63097fc7dbda3edf53eb09802237961cbb4c9e9abd705f23b86511b0a69" "38c0c668d8ac3841cb9608522ca116067177c92feeabc6f002a27249976d7434" "f4d1b183465f2d29b7a2e9dbe87ccc20598e79738e5d29fc52ec8fb8c576fcfd" "e3daa8f18440301f3e54f2093fe15f4fe951986a8628e98dcd781efbec7a46f2" "691d671429fa6c6d73098fc6ff05d4a14a323ea0a18787daeb93fde0e48ab18b" "7546a14373f1f2da6896830e7a73674ef274b3da313f8a2c4a79842e8a93953e" "d6603a129c32b716b3d3541fc0b6bfe83d0e07f1954ee64517aa62c9405a3441" "8f5a7a9a3c510ef9cbb88e600c0b4c53cdcdb502cfe3eb50040b7e13c6f4e78e" "ba72dfc6bb260a9d8609136b9166e04ad0292b9760a3e2431cf0cd0679f83c3a" "e1ecb0536abec692b5a5e845067d75273fe36f24d01210bf0aa5842f2a7e029f" "be9645aaa8c11f76a10bcf36aaf83f54f4587ced1b9b679b55639c87404e2499" "8a379e7ac3a57e64de672dd744d4730b3bdb88ae328e8106f95cd81cbd44e0b6" "41098e2f8fa67dc51bbe89cce4fb7109f53a164e3a92356964c72f76d068587e" "bffa9739ce0752a37d9b1eee78fc00ba159748f50dc328af4be661484848e476" "fa2b58bb98b62c3b8cf3b6f02f058ef7827a8e497125de0254f56e373abee088" "2035a16494e06636134de6d572ec47c30e26c3447eafeb6d3a9e8aee73732396" "86704574d397606ee1433af037c46611fb0a2787e8b6fd1d6c96361575be72d2" "a41b81af6336bd822137d4341f7e16495a49b06c180d6a6417bf9fd1001b6d2b" "3c83b3676d796422704082049fc38b6966bcad960f896669dfc21a7a37a748fa" default)) + '("014cb63097fc7dbda3edf53eb09802237961cbb4c9e9abd705f23b86511b0a69" + "38c0c668d8ac3841cb9608522ca116067177c92feeabc6f002a27249976d7434" + "f4d1b183465f2d29b7a2e9dbe87ccc20598e79738e5d29fc52ec8fb8c576fcfd" + "e3daa8f18440301f3e54f2093fe15f4fe951986a8628e98dcd781efbec7a46f2" + "691d671429fa6c6d73098fc6ff05d4a14a323ea0a18787daeb93fde0e48ab18b" + "7546a14373f1f2da6896830e7a73674ef274b3da313f8a2c4a79842e8a93953e" + "d6603a129c32b716b3d3541fc0b6bfe83d0e07f1954ee64517aa62c9405a3441" + "8f5a7a9a3c510ef9cbb88e600c0b4c53cdcdb502cfe3eb50040b7e13c6f4e78e" + "ba72dfc6bb260a9d8609136b9166e04ad0292b9760a3e2431cf0cd0679f83c3a" + "e1ecb0536abec692b5a5e845067d75273fe36f24d01210bf0aa5842f2a7e029f" + "be9645aaa8c11f76a10bcf36aaf83f54f4587ced1b9b679b55639c87404e2499" + "8a379e7ac3a57e64de672dd744d4730b3bdb88ae328e8106f95cd81cbd44e0b6" + "41098e2f8fa67dc51bbe89cce4fb7109f53a164e3a92356964c72f76d068587e" + "bffa9739ce0752a37d9b1eee78fc00ba159748f50dc328af4be661484848e476" + "fa2b58bb98b62c3b8cf3b6f02f058ef7827a8e497125de0254f56e373abee088" + "2035a16494e06636134de6d572ec47c30e26c3447eafeb6d3a9e8aee73732396" + "86704574d397606ee1433af037c46611fb0a2787e8b6fd1d6c96361575be72d2" + "a41b81af6336bd822137d4341f7e16495a49b06c180d6a6417bf9fd1001b6d2b" + "3c83b3676d796422704082049fc38b6966bcad960f896669dfc21a7a37a748fa" + default)) '(dap-gdb-lldb-extension-version "0.27.0") '(dap-lldb-debug-program '("/run/current-system/sw/bin/lldb-dap")) '(elcord-boring-buffers-regexp-list - '("^ " "\\\\*Messages\\\\*" "\\\\*librewolf\\\\*" "\\\\*vesktop*\\\\*" "\\\\*telegram*\\\\")) + '("^ " "\\\\*Messages\\\\*" "\\\\*librewolf\\\\*" "\\\\*vesktop*\\\\*" + "\\\\*telegram*\\\\")) '(elcord-mode t nil (elcord)) '(elcord-quiet 1) '(fci-rule-color "#a28c6f") '(hl-todo-keyword-faces - '(("TODO" . "#dc752f") - ("NEXT" . "#dc752f") - ("THEM" . "#2d9574") - ("PROG" . "#3a81c3") - ("OKAY" . "#3a81c3") - ("DONT" . "#f2241f") - ("FAIL" . "#f2241f") - ("DONE" . "#42ae2c") - ("NOTE" . "#b1951d") - ("KLUDGE" . "#b1951d") - ("HACK" . "#b1951d") - ("TEMP" . "#b1951d") - ("FIXME" . "#dc752f") - ("XXX+" . "#dc752f") + '(("TODO" . "#dc752f") ("NEXT" . "#dc752f") ("THEM" . "#2d9574") + ("PROG" . "#3a81c3") ("OKAY" . "#3a81c3") ("DONT" . "#f2241f") + ("FAIL" . "#f2241f") ("DONE" . "#42ae2c") ("NOTE" . "#b1951d") + ("KLUDGE" . "#b1951d") ("HACK" . "#b1951d") ("TEMP" . "#b1951d") + ("FIXME" . "#dc752f") ("XXX+" . "#dc752f") ("\\?\\?\\?+" . "#dc752f"))) '(jdee-db-active-breakpoint-face-colors (cons "#030100" "#A76A19")) '(jdee-db-requested-breakpoint-face-colors (cons "#030100" "#813c07")) '(jdee-db-spec-breakpoint-face-colors (cons "#030100" "#100e0d")) '(objed-cursor-color "#874804") '(package-selected-packages - '(ivy-pass lsp-sourcekit ranger omnisharp csharp-mode bug-hunter ewal-doom-themes ewal-evil-cursors ewal-spacemacs-themes ewal org-bullets company flyspell-correct-ivy evil ivy which-key use-package)) + '(ivy-pass lsp-sourcekit ranger omnisharp csharp-mode bug-hunter + ewal-doom-themes ewal-evil-cursors ewal-spacemacs-themes + ewal org-bullets company flyspell-correct-ivy evil ivy + which-key use-package)) '(rustic-ansi-faces - ["#040201" "#874804" "#813c07" "#a45101" "#A76A19" "#D76C03" "#F09010" "#e8c99f"]) + ["#040201" "#874804" "#813c07" "#a45101" "#A76A19" "#D76C03" "#F09010" + "#e8c99f"]) + '(swift-mode:basic-offset 8) '(vc-annotate-background "#040201") '(vc-annotate-color-map - (list - (cons 20 "#813c07") - (cons 40 "#8c4305") - (cons 60 "#984903") - (cons 80 "#a45101") - (cons 100 "#9d4f02") - (cons 120 "#964d03") - (cons 140 "#8F4C05") - (cons 160 "#a75604") - (cons 180 "#bf6103") - (cons 200 "#D76C03") - (cons 220 "#bc6003") - (cons 240 "#a15403") - (cons 260 "#874804") - (cons 280 "#693906") - (cons 300 "#4b2b08") - (cons 320 "#2d1c0a") - (cons 340 "#a28c6f") - (cons 360 "#a28c6f"))) + (list (cons 20 "#813c07") (cons 40 "#8c4305") (cons 60 "#984903") + (cons 80 "#a45101") (cons 100 "#9d4f02") (cons 120 "#964d03") + (cons 140 "#8F4C05") (cons 160 "#a75604") + (cons 180 "#bf6103") (cons 200 "#D76C03") + (cons 220 "#bc6003") (cons 240 "#a15403") + (cons 260 "#874804") (cons 280 "#693906") + (cons 300 "#4b2b08") (cons 320 "#2d1c0a") + (cons 340 "#a28c6f") (cons 360 "#a28c6f"))) '(vc-annotate-very-old-color nil)) (custom-set-faces ;; custom-set-faces was added by Custom.