diff options
Diffstat (limited to 'shoshin-config.el')
-rw-r--r-- | shoshin-config.el | 189 |
1 files changed, 0 insertions, 189 deletions
diff --git a/shoshin-config.el b/shoshin-config.el deleted file mode 100644 index ffd98c1..0000000 --- a/shoshin-config.el +++ /dev/null @@ -1,189 +0,0 @@ -;;; shoshimacs.el --- Beginner's Mind Config -*- lexical-binding:t -*- - -(let ((my-custom-file (expand-file-name - "shoshimacs-custom.el" user-emacs-directory))) - (unless (file-exists-p my-custom-file) - (make-empty-file my-custom-file)) - (setq custom-file my-custom-file) - (load custom-file)) - -(defvar my-themes-to-install - '(cyberpunk-theme dracula-theme nano-theme) - "List of themes to install when loading shoshimacs config.") - -(defvar my-chosen-themes - '(cyberpunk dichromacy dracula leuven modus-operandi modus-vivendi - nano-dark nano-light tango tango-dark) - "List of themes I prefer for narrowing and random selection.") - -;;; Package Management -(when (< emacs-major-version 28) - (add-to-list 'package-archives '("nongnu" . "https://elpa.nongnu.org/nongnu/"))) - -(package-initialize) -(package-refresh-contents) - -(when (and (functionp #'native-comp-available-p) (native-comp-available-p)) - (setq native-comp-always-compile t - package-native-compile t)) - -;;; Major Keybinding -;; these need to be set before requiring the package -(setq xah-fly-use-control-key nil - xah-fly-use-meta-key nil) -(package-install 'xah-fly-keys) -(require 'xah-fly-keys) -(xah-fly-keys-set-layout "qwerty") -(xah-fly-keys t) - -(define-key 'xah-fly-leader-key-map (kbd "1") #'delete-other-windows) - -(defmacro with-map-defkey (keymap leader &rest pairs) - "Define a new KEYMAP with prefix key LEADER, and list of bindings in it." - (declare (indent 2)) - `(progn - (defvar ,keymap (make-sparse-keymap)) - (define-prefix-command (quote ,keymap)) - (global-set-key (kbd ,leader) ,keymap) - (mapc (lambda (pair) - (define-key ,keymap - (kbd (if (numberp (car pair)) (number-to-string (car pair)) - (symbol-name (car pair)))) - (cadr pair))) - (quote ,(seq-partition pairs 2))))) - -(defvar *my-config* "~/projects/shoshimacs/shoshin-config.org" - "Path to my main configuration file.") - -(defun my-configuration () - (interactive) - (find-file *my-config*)) - -(defun my-reload-config () - "Tangles and reloads a literate config with `org-babel-load-file'" - (interactive) - (org-babel-load-file *my-config*)) - -(with-map-defkey my-key-map "M-m" - 1 delete-other-windows - a apropos - b consult-buffer - c my-configuration - d embark-act - e eshell - f find-file - g magit - h info - i consult-imenu - j describe-function - k describe-variable - n tab-next - s consult-ripgrep - t consult-theme - w which-key-mode - <f1> my-reload-config) - -;;; Completion -(setq completion-styles '(flex basic partial-completion emacs22) - completion-cycle-threshold 3 - tab-always-indent 'complete) - -(package-install 'consult) - -(global-set-key (kbd "C-x b") #'consult-buffer) -(define-key xah-fly-leader-key-map (kbd "f") #'consult-buffer) -(define-key xah-fly-command-map (kbd "n") #'consult-line) - -(with-eval-after-load 'consult - (consult-customize consult-theme :preview-key '(:debounce 0.5 any)) - (setq consult-themes my-chosen-themes)) - -(package-install 'embark) -(package-install 'embark-consult) -(global-set-key (kbd "C-;") #'embark-act) -(setq prefix-help-command #'embark-prefix-help-command) - -(package-install 'marginalia) -(marginalia-mode) - -(package-install 'vertico) -(setq minibuffer-prompt-properties - '(read-only t cursor-intangible t face minibuffer-prompt)) -(add-hook 'minibuffer-setup-hook #'cursor-intangible-mode) -(setq read-extended-command-predicate - #'command-completion-default-include-p) -(setq enable-recursive-minibuffers t) -(vertico-mode) - -(require 'vertico-directory) -(define-key vertico-map (kbd "RET") #'vertico-directory-enter) -(define-key vertico-map (kbd "DEL") #'vertico-directory-delete-char) -(define-key vertico-map (kbd "M-DEL") #'vertico-directory-delete-word) -(define-key vertico-map (kbd "M-j") #'vertico-quick-insert) - -(package-install 'corfu) -(setq corfu-auto t - corfu-cycle t - corfu-quit-no-match t) -(global-corfu-mode t) - -(package-install 'corfu-terminal) -(unless (display-graphic-p) - (corfu-terminal-mode +1)) - -(package-install 'which-key) -(which-key-mode) - -;;; Editing -(electric-pair-mode) - -(package-install 'markdown-mode) - -(defun my-org-top-level-heading () - (interactive) - (let ((moo 1)) - (while moo (setq moo (org-up-heading-safe))))) - -(package-install 'htmlize) - -(recentf-mode) - -(setq indent-tabs-mode nil) - -;;; Programming -(package-install 'sly) - -(package-install 'json-mode) - -(package-install 'inf-ruby) - -(package-install 'devdocs) - -;;; Projects -(package-install 'magit) - -;;; External Services -(package-install 'plz) - -(package-install 'srht) -(setq srht-username "shoshin") - -;;; User Interface -(when (display-graphic-p) - (scroll-bar-mode -1) - (fringe-mode '(8 . 0))) - -(tab-bar-mode t) -(display-battery-mode t) - -(package-install 'darkroom) - -(set-frame-font "Victor Mono") - -(global-hl-line-mode t) - -(load-theme (seq-random-elt my-chosen-themes)) - -(mapc #'package-install my-themes-to-install) - -(package-install 'windresize) |