From 3885ead0983ed9919120acdacfd0fa6407f963fd Mon Sep 17 00:00:00 2001 From: Chris Cochrun Date: Tue, 24 Mar 2026 16:44:26 -0500 Subject: [PATCH] idk --- init.el | 4437 ------------------------------------------------------- 1 file changed, 4437 deletions(-) diff --git a/init.el b/init.el index dd7641bd..e69de29b 100644 --- a/init.el +++ b/init.el @@ -1,4437 +0,0 @@ -;;; init.el -*- lexical-binding: t; -*- -(defun chris/display-startup-time () - (message "Emacs loaded in %s with %d garbage collections." - (format "%.2f seconds" - (float-time - (time-subtract after-init-time before-init-time))) - gcs-done)) -(add-hook 'emacs-startup-hook #'chris/display-startup-time) - -(setq inhibit-startup-message t) - -(setq default-frame-alist '((undecorated . t))) -(tool-bar-mode -1) -(tooltip-mode -1) -(set-fringe-mode +1) -(scroll-bar-mode -1) -(menu-bar-mode -1) -(blink-cursor-mode -1) -(column-number-mode +1) -(setq-default indent-tabs-mode nil) - -(setq comp-deferred-compilation-deny-list nil) -(setq frame-resize-pixelwise t) -(set-frame-parameter nil 'undecorated t) -(add-to-list 'default-frame-alist '(undecorated . t)) - -(if (string-equal (system-name) "syl") - (defvar chris/default-font-size 120) - (defvar chris/default-font-size 120)) - -(defun chris/set-font-faces () - "Set the faces for our fonts" - (interactive) - (message "Setting faces!") - (set-face-attribute 'default nil :font "VictorMono Nerd Font Propo" - :height chris/default-font-size) - (set-face-attribute 'fixed-pitch nil :font "VictorMono Nerd Font Propo" - :height chris/default-font-size) - (set-face-attribute 'variable-pitch nil :font "Noto Sans" - :height (+ chris/default-font-size (/ chris/default-font-size 12)) - :weight 'regular)) - -(defun chris/set-transparency () - "Set the frame to be transparent but not the text" - (set-frame-parameter (selected-frame) 'alpha-background 95) - (add-to-list 'default-frame-alist '(alpha-background . 95)) - (add-to-list 'initial-frame-alist '(alpha-background . 95))) - -(if (daemonp) (add-hook 'after-make-frame-functions - (lambda (frame) - (with-selected-frame frame - (chris/set-font-faces) - (chris/set-transparency) - (tool-bar-mode -1))) - (chris/set-font-faces))) - -(setq display-line-numbers-type t) -(global-display-line-numbers-mode +1) -(add-hook 'prog-mode-hook (display-line-numbers-mode +1)) -(global-visual-line-mode +1) - -(defun on-frame-open (frame) - (if (not (display-graphic-p frame)) - (set-face-background 'default "unspecified-bg" frame))) -(add-hook 'after-make-frame-functions 'on-frame-open) - -;; always avoid GUI -(setq use-dialog-box nil) -;; Don't display floating tooltips; display their contents in the echo-area, -;; because native tooltips are ugly. -(when (bound-and-true-p tooltip-mode) - (tooltip-mode -1)) -;; ...especially on linux -(setq x-gtk-use-system-tooltips nil) - - ;; Favor vertical splits over horizontal ones. Screens are usually wide. -(setq split-width-threshold 160 - split-height-threshold nil) - -(setq doc-view-resolution 192) - -(fset 'evil-redirect-digit-argument 'ignore) - -(global-set-key (kbd "") 'keyboard-escape-quit) - -(recentf-mode +1) -;; (savehist-mode +1) -;; (add-to-list 'savehist-additional-variables 'register-alist) -;; (add-to-list 'savehist-additional-variables kill-ring) - -(add-to-list 'exec-path "/home/chris/bin") -(add-to-list 'exec-path "/home/chris/.cargo/bin") - -(setq initial-major-mode 'org-mode) -(setq initial-scratch-message "#+TITLE: SCRATCH\n#+DESCRIPTION: This buffer is for temporary things\n") - -(setq require-final-newline nil) - -(dolist (path load-path) - (when (string-match-p "/nix/store/[a-z0-9]\\{32\\}-emacs-packages-deps.*" path) - (dolist (autoload-file (directory-files path t "-autoloads.el")) - (with-demoted-errors "init.el error: %s" - (load autoload-file nil t))))) - -(require 'package) -(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) -(package-initialize) - -(eval-when-compile (require 'use-package)) -(setq use-package-verbose t) -(defalias 'yes-or-no-p 'y-or-n-p) - -;; (use-package use-package -;; :config -;; (add-to-list 'use-package-keywords :bind+ t)) - - (use-package command-log-mode - :commands command-log-mode) - - (defun chris/home-manager-reload () - (interactive) - (let* ((which-emacs (shell-command-to-string "nix-store --query $(which emacs)")) - (pattern (rx "newLoadPath+=(/nix/store/" - (group (* any)) - "-emacs-packages-deps/share/emacs/site-lisp)")) - (current-deps (when (string-match pattern which-emacs) - (match-string 1 which-emacs))) - (subdirs (concat "/nix/store/" current-deps "-emacs-packages-deps/share/emacs/site-lisp/subdirs.el")) - (native (concat "/nix/store/" current-deps "-emacs-packages-deps/share/emacs/native-lisp/"))) - (load-file subdirs) - (when (boundp 'native-comp-eln-load-path) - (add-to-list 'native-comp-eln-load-path native)))) - -(use-package all-the-icons) - -(use-package doom-modeline - :init - (doom-modeline-mode 0) - (setq doom-modeline-height 25 - doom-modeline-bar-width 3 - all-the-icons-scale-factor 0.9 - doom-modeline-hud nil - doom-modeline-buffer-file-name-style 'file-name - doom-modeline-buffer-encoding nil - doom-modeline-mu4e t - doom-modeline-enable-word-count nil) - (if (daemonp) - (add-hook 'after-make-frame-functions - (lambda (frame) - (with-selected-frame frame - (setq doom-modeline-icon t)))))) - -(use-package doom-themes - :ensure t - :init (load-theme 'doom-snazzy t)) - -(use-package rainbow-delimiters - :hook (prog-mode . rainbow-delimiters-mode)) - -(use-package aggressive-indent - :config - (aggressive-indent-mode -1)) - -(use-package adaptive-wrap) - -(use-package which-key - :config - (setq which-key-idle-delay 0.3) - (which-key-mode)) - -(use-package mini-echo - :init - (mini-echo-mode 1) - (setq mini-echo-default-segments '(:long - ("evil" "major-mode" "buffer-name" "vcs" "buffer-position" "buffer-size" - "flymake" "process" "selection-info" "narrow" "macro" "profiler") - :short - ("buffer-name-short" "buffer-position" "process" "profiler" - "selection-info" "narrow" "macro")) - mini-echo-rules '((org-mode :long - (("evil" . 1) - ("major-mode" . 2) - ("buffer-name" . 3) - ("word-count" . 4)))) - mini-echo-right-padding 2 - mini-echo-buffer-status-style 'both - mini-echo-update-interval 0.2) - - (set-face-foreground 'mini-echo-blue "#57c7ff") - (set-face-foreground 'mini-echo-red "#ff5c57") - (set-face-foreground 'mini-echo-magenta "#ff6ac1") - (set-face-foreground 'mini-echo-green "#5af78e") - (set-face-foreground 'mini-echo-gray "#848688") - (set-face-foreground 'mini-echo-yellow "#f3f99d") - (set-face-foreground 'mini-echo-cyan "#9aedfe") - - (defun chris/mini-echo-minibuffer-width-lessp () - "Return non-nil if current minibuffer window width less than 120." - (< (mini-echo-minibuffer-width) 100)) - - (setq mini-echo-short-style-predicate 'chris/mini-echo-minibuffer-width-lessp) - - :config - (defun chris/toggle-mode-lines () - "Switch between doom and mini-echo" - (interactive) - (if mini-echo-mode - (eval (mini-echo-mode 0) (doom-modeline-mode 1)) - (eval (doom-modeline-mode 0) (mini-echo-mode 1))))) - -(setq xref-search-program 'ripgrep) - -(add-to-list 'exec-path "/usr/bin") -(add-to-list 'exec-path "~/.cargo/bin") -(setenv "NIX_CONF_DIR" "/etc/nix") -(setenv "NIX_REMOTE" "daemon") -(setenv "XCURSOR_THEME" "phinger-cursors-light") -(setenv "QT_SCALE_FACTOR" "1") -(setenv "QT_QPA_PLATFORM" "wayland;xcb") -(setenv "CLUTTER_BACKEND" "wayland") -(setenv "GDK_BACKEND" "wayland,x11") -(setenv "SDL_VIDEODRIVER" "wayland") -(setenv "XDG_SESSION_TYPE" "wayland") - -(defun chris/nix-reload () - (interactive) - (let* ((query (shell-command-to-string "nix-store --query $(which emacs)")) - (store-path (expand-file-name "share/emacs" (string-trim query)))) - (load-file (expand-file-name "site-lisp/subdirs.el" store-path)) - (when (boundp 'native-comp-eln-load-path) - (add-to-list 'native-comp-eln-load-path (expand-file-name "native-lisp/" store-path))))) - -(setenv "WAYLAND_DISPLAY" "wayland-1") - -(executable-find "ssh") -(setq ispell-program-name "hunspell" - ispell-local-dictionary "en_US" - ispell-local-dictionary-alist - ;; Please note the list `("-d" "en_US")` contains ACTUAL parameters passed to hunspell - ;; You could use `("-d" "en_US,en_US-med")` to check with multiple dictionaries - '(("en_US" "[[:alpha:]]" "[^[:alpha:]]" "[']" nil ("-d" "en_US") nil utf-8))) -(add-hook 'org-mode-hook 'chris/org-mode-setup) - -(setq proced-auto-update-flag t - proced-auto-update-interval 2 - proced-enable-color-flag t - proced-format-alist '((chris pid tree pcpu pmem time (args comm)) - (short user pid tree pcpu pmem start time (args comm)) - (medium user pid tree pcpu pmem vsize rss ttname state start time - (args comm)) - (long user euid group pid tree pri nice pcpu pmem vsize rss ttname - state start time (args comm)) - (verbose user euid group egid pid ppid tree pgrp sess pri nice pcpu - pmem state thcount vsize rss ttname tpgid minflt majflt - cminflt cmajflt start time utime stime ctime cutime cstime - etime (args comm)))) - -(use-package no-littering) - -;; no-littering doesn't set this by default so we must place -;; auto save files in the same path as it uses for sessions -(setq auto-save-file-name-transforms - `((".*" ,(no-littering-expand-var-file-name "auto-save/") t))) - -(setq backup-directory-alist '(("." . "~/.emacs.d/backup")) - backup-by-copying t ; Don't delink hardlinks - version-control t ; Use version numbers on backups - delete-old-versions t ; Automatically delete excess backups - kept-new-versions 20 ; how many of the newest versions to keep - kept-old-versions 5 ; and how many of the old - ) - -(use-package ligature - :load-path "path-to-ligature-repo" - :config - ;; Enable the "www" ligature in every possible major mode - (ligature-set-ligatures 't '("www")) - ;; Enable traditional ligature support in eww-mode, if the - ;; `variable-pitch' face supports it - (ligature-set-ligatures 'eww-mode '("ff" "fi" "ffi")) - ;; Enable all Cascadia and Fira Code ligatures in programming modes - (ligature-set-ligatures 'prog-mode - '(;; == === ==== => =| =>>=>=|=>==>> ==< =/=//=// =~ - ;; =:= =!= - ("=" (rx (+ (or ">" "<" "|" "/" "~" ":" "!" "=")))) - ;; ;; ;;; - (";" (rx (+ ";"))) - ;; && &&& - ("&" (rx (+ "&"))) - ;; !! !!! !. !: !!. != !== !~ - ("!" (rx (+ (or "=" "!" "\." ":" "~")))) - ;; ?? ??? ?: ?= ?. - ("?" (rx (or ":" "=" "\." (+ "?")))) - ;; %% %%% - ("%" (rx (+ "%"))) - ;; |> ||> |||> ||||> |] |} || ||| |-> ||-|| - ;; |->>-||-<<-| |- |== ||=|| - ;; |==>>==<<==<=>==//==/=!==:===> - ("|" (rx (+ (or ">" "<" "|" "/" ":" "!" "}" "\]" - "-" "=" )))) - ;; \\ \\\ \/ - ("\\" (rx (or "/" (+ "\\")))) - ;; ++ +++ ++++ +> - ("+" (rx (or ">" (+ "+")))) - ;; :: ::: :::: :> :< := :// ::= - (":" (rx (or ">" "<" "=" "//" ":=" (+ ":")))) - ;; // /// //// /\ /* /> /===:===!=//===>>==>==/ - ("/" (rx (+ (or ">" "<" "|" "/" "\\" "\*" ":" "!" - "=")))) - ;; .. ... .... .= .- .? ..= ..< - ("\." (rx (or "=" "-" "\?" "\.=" "\.<" (+ "\.")))) - ;; -- --- ---- -~ -> ->> -| -|->-->>->--<<-| - ("-" (rx (+ (or ">" "<" "|" "~" "-")))) - ;; *> */ *) ** *** **** - ("*" (rx (or ">" "/" ")" (+ "*")))) - ;; www wwww - ("w" (rx (+ "w"))) - ;; <>