This commit is contained in:
tate 2025-11-28 03:42:38 -05:00
parent 4ba4305b3e
commit abf4b97d7a

141
init.el Normal file
View file

@ -0,0 +1,141 @@
(add-to-list 'load-path "~/.emacs.d/elisp/")
;; OpenBSD KNF for C/C++
(require 'openbsd-knf-style)
(c-add-style "OpenBSD" openbsd-knf-style)
(setq c-default-style '((c-mode . "OpenBSD")))
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(blink-cursor-mode nil)
'(circe-default-realname "narehate")
'(custom-enabled-themes '(inkpot))
'(custom-safe-themes
'("2422f18687980d29da5e276547171c99f1cc1b2cb4cdbec124a53e1f34143001"
"058ba0ed929f801fc4077617e816797654c7775382943520875642d5507d8696"
"44e6d6845e571402c149a12acbf698391e62928443b3d1924478bbc54a573b32"
"d323d7aa432e9d02647069b1ecc58b8c3ab2f1104a399c5df7427e8ddc13505e"
"ad7d874d137291e09fe2963babc33d381d087fa14928cb9d34350b67b6556b6d"
"0407bc59241a431e71d639f8fe8049f2490428a4c073b657edf5f5f915ae2aa0"
"f1c8202c772d1de83eda4765fe21429a528a4fb350a28394d3705fe9678ed1f9"
default))
'(elfeed-feeds '("https://bimshwel.com/?feed=rss2"))
'(package-selected-packages
'(abyss-theme acme-theme circe dirvish elfeed evangelion-theme exwm
faff-theme inkpot-theme inverse-acme-theme mingus
pass vmd-mode))
'(rmail-spool-directory "/home/tate/Mail/INBOX")
'(tab-bar-mode t)
'(tool-bar-mode nil)
'(transient-mark-mode nil))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(default ((t (:inherit nil :extend nil :stipple nil :background "#1e1e27" :foreground "#cfbfad" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight regular :height 91 :width normal :foundry "SGI" :family "Comic Mono"))))
'(line-number ((t (:inherit (shadow default) :background "gray9"))))
'(line-number-current-line ((t (:inherit line-number :foreground "dark goldenrod"))))
'(mode-line ((t (:background "indian red" :foreground "white" :box nil))))
'(mode-line-active ((t (:inherit mode-line :background "purple")))))
;;
;; ====== Appearance ======
;;
(menu-bar-mode -1)
(tool-bar-mode -1)
(display-time-mode)
(defun my-display-numbers-hook ()
(display-line-numbers-mode 1)
)
(defun my-spotlight-mode-hook ()
(hl-line-mode 1)
)
(add-hook 'prog-mode-hook 'my-display-numbers-hook)
(add-hook 'text-mode-hook 'my-display-numbers-hook)
(add-hook 'prog-mode-hook 'my-spotlight-mode-hook)
(add-hook 'text-mode-hook 'my-spotlight-mode-hook)
(add-hook 'dired-mode-hook 'my-spotlight-mode-hook)
(setq-default cursor-type 'box)
;;
;; ====== Keybinds ======
;;
(keymap-global-set "C-c s" (lambda () (interactive) (term "/bin/ksh")))
(keymap-global-set "C-c e" 'eshell)
(keymap-global-set "C-c f" 'elfeed)
;;
;; ====== Exwm ======
;;
(use-package exwm
:config
;; Set the default number of workspaces
(setq exwm-workspace-number 5)
;; When window "class" updates, use it to set the buffer name
;; (add-hook 'exwm-update-class-hook #'efs/exwm-update-class)
;; These keys should always pass through to Emacs
(setq exwm-input-prefix-keys
'(?\C-x
?\C-u
?\C-h
?\M-x
?\M-`
?\M-&
?\M-:
?\C-\M-j ;; Buffer list
?\C-\ )) ;; Ctrl+Space
;; Ctrl+Q will enable the next key to be sent directly
(define-key exwm-mode-map [?\C-q] 'exwm-input-send-next-key)
;; Set up global key bindings. These always work, no matter the input state!
;; Keep in mind that changing this list after EXWM initializes has no effect.
(setq exwm-input-global-keys
`(
;; Reset to line-mode (C-c C-k switches to char-mode via exwm-input-release-keyboard)
([?\s-r] . exwm-reset)
;; Move between windows
([s-left] . windmove-left)
([s-right] . windmove-right)
([s-up] . windmove-up)
([s-down] . windmove-down)
;; Launch applications via shell command
([?\s-&] . (lambda (command)
(interactive (list (read-shell-command "$ ")))
(start-process-shell-command command nil command)))
;; Switch workspace
([?\s-w] . exwm-workspace-switch)
;; 's-N': Switch to certain workspace with Super (Win) plus a number key (0 - 9)
,@(mapcar (lambda (i)
`(,(kbd (format "s-%d" i)) .
(lambda ()
(interactive)
(exwm-workspace-switch-create ,i))))
(number-sequence 0 9))))
(exwm-wm-mode))
(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
;; Comment/uncomment this line to enable MELPA Stable if desired. See `package-archive-priorities`
;; and `package-pinned-packages`. Most users will not need or want to do this.
;;(add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/") t)
(package-initialize)
(setq circe-network-options
'(("Libera Chat"
:tls t
:tls-keylist (("/home/tate/.config/weechat/libera.pem"
"/home/tate/.config/weechat/libera.pem"))
:host "irc.libera.chat"
:sasl-external t
:nick "nanach1"
:channels ("#emacs")
)))