31 Commits

Author SHA1 Message Date
Michael Chalupiak
aa68d7ca99 Merge remote-tracking branch 'origin/master' into arch-desktop 2026-10-12 18:55:27 -06:00
Michael Chalupiak
28ca78c652 Merge branch 'master' of https://github.com/mchalupiak/dotfiles 2026-10-12 18:41:40 -06:00
Michael Chalupiak
00781ddcae updated kakoune 2026-10-12 18:25:41 -06:00
Michael Chalupiak
3aa286c2bf Updated kakoune and emacs 2026-07-25 13:38:59 -06:00
Michael Chalupiak
9f23b8e92b more emacs 2026-07-15 12:00:07 -06:00
Michael Chalupiak
66391c3e4d Merge branch 'master' into arch-desktop 2026-05-03 18:11:54 -04:00
Michael Chalupiak
7cd118b1a1 Merge branch 'master' of github.com:mchalupiak/Dotfiles 2026-05-03 18:11:35 -04:00
Michael Chalupiak
6b6ec87c90 small overhaul of nvim 2026-05-03 18:11:21 -04:00
Michael Chalupiak
3ffd41b042 Merge remote-tracking branch 'origin' 2026-04-22 14:55:47 -04:00
Michael Chalupiak
450950ffb5 wezterm 2026-04-22 14:54:12 -04:00
Michael Chalupiak
d9c2fc0dd5 Merge branch 'master' into arch-desktop 2026-04-21 15:14:36 -04:00
Michael Chalupiak
0c4779db6c Merge branch 'master' into arch-desktop 2026-04-20 21:30:53 -04:00
Michael Chalupiak
facda5d25c Merge branch 'master' into arch-desktop 2026-04-10 10:50:15 -04:00
Michael Chalupiak
6dc71d4ae9 Merge branch 'master' into arch-desktop 2026-02-03 23:21:15 -05:00
Michael Chalupiak
6d26754462 Aerc mail client and chawan browser 2026-02-03 23:21:15 -05:00
Michael Chalupiak
b6fe1d9f38 Merge branch 'master' into arch-desktop 2026-01-30 19:24:57 -05:00
Michael Chalupiak
6650ab1d5c Merge branch 'master' into arch-desktop 2026-01-26 01:05:47 -05:00
Michael Chalupiak
cb21d62153 Merge branch 'master' into arch-desktop 2026-01-24 21:32:43 -05:00
Michael Chalupiak
e104c9b8ce Merge branch 'master' into arch-desktop 2026-01-18 00:55:07 -05:00
Michael Chalupiak
e99901146d Merge branch 'master' into arch-desktop 2026-01-17 02:11:18 -05:00
Michael Chalupiak
dc51e2b8d8 Merge branch 'master' into arch-desktop 2026-01-10 01:51:19 -05:00
Michael Chalupiak
9fd41c75ef Merge branch 'master' into arch-desktop 2026-01-09 00:48:07 -05:00
Michael Chalupiak
adcecd9d62 Merge branch 'master' into arch-desktop 2026-01-07 23:07:20 -05:00
Michael Chalupiak
ade4c9f47c Merge branch 'master' into arch-desktop 2025-11-14 12:58:25 -05:00
Michael Chalupiak
82c55b55c7 Merge branch 'master' into arch-desktop 2025-11-14 00:17:26 -05:00
Michael Chalupiak
8ba5349c5d merge master 2025-09-24 18:36:00 -04:00
Michael Chalupiak
c16dc3b450 Added tinymist (typst) lsp settings 2025-09-14 14:25:33 -04:00
Michael Chalupiak
924c01282d Merge branch 'master' into arch-desktop 2025-08-30 18:32:52 -04:00
Michael Chalupiak
7a7b0e3f1c Merge branch 'master' into arch-desktop 2025-08-23 15:28:19 -04:00
Michael Chalupiak
cfb88473fc Merge branch 'master' into arch-desktop 2025-08-23 14:41:11 -04:00
Michael Chalupiak
32760db44f bp 2025-08-23 14:25:58 -04:00
47 changed files with 851 additions and 2862 deletions

1
.gitignore vendored
View File

@@ -12,6 +12,7 @@ config/.config/kak/plugins/*
config/.config/mutt/chalupmc@rose-hulman
config/.config/mutt/mikecchalupiak@outlook
config/.config/mutt/spamreciver1@outlook
config/.config/nvim/lazy-lock.json
config/.config/qt5ct/colors/*
config/.config/qutebrowser/autoconfig.yml
config/.config/qutebrowser/rosepine/*

View File

@@ -18,11 +18,5 @@ test -r '/home/mikec/.opam/opam-init/init.sh' && . '/home/mikec/.opam/opam-init/
if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
exec river
fi
HOMEBREW_PREFIX=/opt/homebrew
export PATH="/opt/homebrew/opt/llvm/bin:$PATH"
export CPATH="$HOMEBREW_PREFIX/include:$CPATH"
export LIBRARY_PATH="$HOMEBREW_PREFIX/lib:$LIBRARY_PATH"
. "/Users/mikec/.local/share/bob/env/env.sh"
test -e "${HOME}/.iterm2_shell_integration.bash" && source "${HOME}/.iterm2_shell_integration.bash"
. "/home/mikec/.local/share/bob/env/env.sh"

View File

@@ -140,8 +140,8 @@ alias zf='z $(flirt)'
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -z "$EDITOR" ]; then
# export EDITOR=kak
export EDITOR='nvim'
export EDITOR=kak
# export EDITOR='nvim'
fi
if [ -f ~/.bash_aliases ]; then
@@ -154,7 +154,8 @@ if [ "$XDG_SESSION_DESKTOP" = "sway" ] ; then
export STUDIO_JDK=/usr/lib/jvm/java-11-openjdk/
fi
eval "$(zoxide init bash)"
eval "$(fzf --bash)"
# eval "$(fzf --bash)"
eval "$(sk --shell bash --shell-bindings)"
export TMUX_TMPDIR=/tmp
export TINTED_SHELL_ENABLE_BASE16_VARS=1
@@ -182,19 +183,21 @@ tinty_source_shell_theme() {
# alias theme='tinty_source_shell_theme apply "$(tinty list | fzf --cycle)" && xrdb ~/.Xresources'
# fi
run_kak() {
/usr/bin/kak -c $SESH 2>/dev/null "$@" || /usr/bin/kak -s $SESH "$@"
}
# run_kak() {
# /usr/local/bin/kak -c $SESH 2>/dev/null "$@" || /usr/local/bin/kak -s $SESH "$@"
# }
if [ -n "$(command -v tmux)" ] && [ -n "$(command -v kak)" ] && [ -z "$TMUX" ]; then
SESH="$( (tmux list-sessions 2>/dev/null || echo '-1') | cut -d' ' -f1 | tr -d ':-' | sort -r | head -n1 | xargs -I{} echo '{} + 1' | bc)"
alias kak='tmux new-session -e "EDITOR=\"/usr/bin/kak -c $SESH\"" -s $SESH /usr/bin/kak -s $SESH > /dev/null'
alias kakc='kak -C $SESH'
# alias kak='tmux new-session -e "EDITOR=\"/usr/local/bin/kak -c $SESH\"" -s $SESH /usr/local/bin/kak > /dev/null'
elif [ -n "$(command -v tmux)" ] && [ -n "$(command -v kak)" ]; then
SESH="$(tmux display-message -p '#S')"
alias kakc='kak -C $SESH'
# alias kak='kak -c $SESH 2>/dev/null || kak -s $SESH'
alias kak=run_kak
alias vidir='EDITOR="/usr/bin/kak -c $SESH 2>/dev/null || /usr/bin/kak -s $SESH" vidir'
alias vipe='EDITOR="/usr/bin/kak -c $SESH 2>/dev/null || /usr/bin/kak -s $SESH" vipe'
# alias kak=run_kak
# alias vidir='EDITOR="/usr/local/bin/kak -c $SESH 2>/dev/null || /usr/local/bin/kak -s $SESH" vidir'
# alias vipe='EDITOR="/usr/local/bin/kak -c $SESH 2>/dev/null || /usr/local/bin/kak -s $SESH" vipe'
fi
if [ -n "$(command -v tmux)" ] && [ -n "$(command -v helix)" ] && [ -z "$TMUX" ]; then

View File

@@ -97,7 +97,7 @@
:defer t
:init
;; Configure themes
(setq! auto-dark-themes '((doom-gruvbox) (doom-gruvbox-light)))
(setq! auto-dark-themes '((kaolin-dark) (kaolin-light)))
;; Disable doom's theme loading mechanism (just to make sure)
(setq! doom-theme nil)
;; Declare that all themes are safe to load.

View File

@@ -1,21 +1,21 @@
;;; init.el -*- lexical-binding: t; -*-
;;; $DOOMDIR/init.el -*- lexical-binding: t; -*-
;; This file controls what Doom modules are enabled and what order they load
;; in. Remember to run 'doom sync' after modifying it!
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
;; documentation. There you'll find a link to Doom's Module Index where all
;; of our modules are listed, including what flags they support.
;; NOTE: Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
;; documentation. There you'll find a link to Doom's Module Index where all of
;; our modules are listed, including what flags they support.
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
;; 'C-c c k' for non-vim users) to view its documentation. This works on
;; flags as well (those symbols that start with a plus).
;; NOTE: Move your cursor over a module's name (or its flags) and press 'K' (or
;; 'C-c c k' for non-vim users) to view its documentation. This works on flags
;; as well (those symbols that start with a plus).
;;
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
;; directory (for easy access to its source code).
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
;; directory (for easy access to its source code).
(doom! :input
;;bidi ; (tfel ot) thgir etirw uoy gnipleh
bidi ; (tfel ot) thgir etirw uoy gnipleh
;;chinese
;;japanese
;;layout ; auie,ctsrnm is the superior home row
@@ -25,15 +25,15 @@
(corfu +orderless) ; complete with cap(f), cape and a flying feather!
;;helm ; the *other* search engine for love and life
;;ido ; the other *other* search engine...
;; ivy ; a search engine for love and life
vertico ; the search engine of the future
;;ivy ; a search engine for love and life
vertico ; the search engine of the future
:ui
;;deft ; notational velocity for Emacs
doom ; what makes DOOM look the way it does
doom-dashboard ; a nifty splash screen for Emacs
dashboard ; a nifty splash screen for Emacs
;;doom-quit ; DOOM quit-message prompts when you quit Emacs
;;(emoji +unicode) ; 🙂
(emoji +unicode) ; 🙂
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
indent-guides ; highlighted indent columns
;;ligatures ; ligatures and symbols to make your code pretty again
@@ -43,21 +43,21 @@
;;neotree ; a project drawer, like NERDTree for vim
ophints ; highlight the region an operation acts on
(popup +defaults) ; tame sudden yet inevitable temporary windows
smooth-scroll ; So smooth you won't believe it's not butter
;;smooth-scroll ; So smooth you won't believe it's not butter
;;tabs ; a tab bar for Emacs
;;treemacs ; a project drawer, like neotree but cooler
unicode ; extended unicode support for various languages
;;unicode ; extended unicode support for various languages
(vc-gutter +pretty) ; vcs diff in the fringe
vi-tilde-fringe ; fringe tildes to mark beyond EOB
;;window-select ; visually switch windows
;; workspaces ; tab emulation, persistence & separate workspaces
zen ; distraction-free coding or writing
workspaces ; tab emulation, persistence & separate workspaces
;;zen ; distraction-free coding or writing
:editor
(evil +everywhere); come to the dark side, we have cookies
file-templates ; auto-snippets for empty files
fold ; (nigh) universal code folding
(format +onsave) ; automated prettiness
;;(format +onsave) ; automated prettiness
;;god ; run Emacs commands without modifier keys
;;lispy ; vim for lisp, for people who don't like vim
multiple-cursors ; editing in many places at once
@@ -65,13 +65,13 @@
parinfer ; turn lisp into python, sort of
;;rotate-text ; cycle region at point between text candidates
snippets ; my elves. They type so I don't have to
;; (whitespace +guess +trim) ; a butler for your whitespace
(whitespace +guess +trim) ; a butler for your whitespace
word-wrap ; soft wrapping with language-aware indent
:emacs
dired ; making dired pretty [functional]
electric ; smarter, keyword-based electric-indent
;;eww ; the internet is gross
eww ; the internet is gross
ibuffer ; interactive buffer management
tramp ; remote files at your arthritic fingertips
undo ; persistent, smarter undo for your inevitable mistakes
@@ -81,33 +81,34 @@
eshell ; the elisp shell that works everywhere
;;shell ; simple shell REPL for Emacs
;;term ; basic terminal emulator for Emacs
;; vterm ; the best terminal emulation in Emacs
;;vterm ; almost the best terminal emulation in Emacs
ghostel ; the best terminal emulation in Emacs
:checkers
syntax ; tasing you for every semicolon you forget
(spell +flyspell) ; tasing you for misspelling mispelling
;;(spell +flyspell) ; tasing you for misspelling mispelling
;;grammar ; tasing grammar mistake every you make
:tools
;;ansible
;;biblio ; Writes a PhD for you (citation needed)
;;collab ; buffers with friends
;;debugger ; FIXME stepping through code, to help you add bugs
;;debugger ; stepping through code, to help you add bugs
;;direnv
;;docker
;;editorconfig ; let someone else argue about tabs vs spaces
;;ein ; tame Jupyter notebooks with emacs
(eval +overlay) ; run code, run (also, repls)
(lookup +dictionary +offline) ; navigate your code and its documentation
lookup ; navigate your code and its documentation
;;llm ; when I said you needed friends, I didn't mean...
(lsp +eglot) ; M-x vscode
(magit +forge) ; a git porcelain for Emacs
(lsp +eglot) ; M-x vscode
magit ; a git porcelain for Emacs
;;make ; run make tasks from Emacs
;;pass ; password manager for nerds
;;pdf ; pdf enhancements
;;terraform ; infrastructure as code
;;tmux ; an API for interacting with tmux
tree-sitter ; syntax and parsing, sitting in a tree...
tree-sitter ; syntax and parsing, sitting in a tree...
;;upload ; map local to remote projects via ssh/ftp
:os
@@ -116,11 +117,11 @@
:lang
;;ada ; In strong typing we (blindly) trust
;;agda ; types of types of types of types...
;;(agda +local) ; types of types of types of types...
;;beancount ; mind the GAAP
(cc +lsp +tree-sitter) ; C > C++ == 1
;;(cc +lsp) ; C > C++ == 1
;;clojure ; java with a lisp
common-lisp ; if you've seen one lisp, you've seen them all
;;common-lisp ; if you've seen one lisp, you've seen them all
;;coq ; proofs-as-programs
;;crystal ; ruby at the speed of c
;;csharp ; unity, .NET, and mono shenanigans
@@ -153,10 +154,11 @@
;;lean ; for folks with too much to prove
;;ledger ; be audit you can be
;;lua ; one-based indices? one-based indices
(markdown +grip +tree-sitter) ; writing docs for people to ignore
markdown ; writing docs for people to ignore
;;nim ; python + lisp at the speed of c
;;nix ; I hereby declare "nix geht mehr!"
;;ocaml ; an objective camel
;;odin ; C, minus its footguns
org ; organize your plain life in plain text
;;php ; perl's insecure younger brother
;;plantuml ; diagrams for confusing people more
@@ -169,20 +171,21 @@
;;rest ; Emacs as a REST client
;;rst ; ReST in peace
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
(rust +lsp +tree-sitter) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;;scad ; trust the preview, regret the render
;;scala ; java, but good
;;(scheme +guile) ; a fully conniving family of lisps
sh ; she sells {ba,z,fi}sh shells on the C xor
;;sml
;;solidity ; do you need a blockchain? No.
(swift +lsp +tree-sitter); who asked for emoji variables?
;;swift ; who asked for emoji variables?
;;terra ; Earth and Moon in alignment for performance.
(web +lsp +tree-sitter) ; the tubes
;;web ; the tubes
;;yaml ; JSON, but readable
(zig +lsp +tree-sitter) ; C, but simpler
;;zig ; C, but simpler
:email
(mu4e +org +gmail +mbsync)
(mu4e +org +gmail)
;;notmuch
;;(wanderlust +gmail)
@@ -191,7 +194,7 @@
;;emms
;;everywhere ; *leave* Emacs!? You must be joking
;;irc ; how neckbeards socialize
;;(rss +org) ; emacs as an RSS reader
(rss +org) ; emacs as an RSS reader
:config
;;literate

View File

@@ -52,6 +52,7 @@
;; (unpin! pinned-package another-pinned-package)
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
;; (unpin! t)
(package! kaolin-themes)
(package! auto-dark)
(package! odin-ts-mode
:recipe (:host github :repo "Sampie159/odin-ts-mode"))

View File

@@ -1,237 +0,0 @@
;;; doom-rose-pine-dawn-theme.el --- A light port of Rose Piné Dawn theme -*- lexical-binding: t; no-byte-compile: t; -*-
;;
;; Author: mvllow
;; Ported by: donniebreve
;; Keywords: custom themes, faces
;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs
;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1"))
;;
;;; Commentary:
;;
;; Thanks to mvllow (https://github.com/rose-pine)
;; Thanks to hlissner (https://github.com/doomemacs/themes)
;;
;;; Code:
(require 'doom-themes)
;;; Variables
(defgroup doom-rose-pine-dawn-theme nil
"Options for the `doom-rose-pine-dawn' theme."
:group 'doom-themes)
(defcustom doom-rose-pine-dawn-brighter-modeline nil
"If non-nil, more vivid colors will be used to style the mode-line."
:group 'doom-rose-pine-dawn-theme
:type 'boolean)
(defcustom doom-rose-pine-dawn-brighter-comments nil
"If non-nil, comments will be highlighted in more vivid colors."
:group 'doom-rose-pine-dawn-theme
:type 'boolean)
(defcustom doom-rose-pine-dawn-padded-modeline doom-themes-padded-modeline
"If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding."
:group 'doom-rose-pine-dawn-theme
:type '(choice integer boolean))
;;; Theme definition
(def-doom-theme doom-rose-pine-dawn
"A light port of Rosé Pine Dawn theme"
;; Main theme colors
(
;; name default 256 16
(base '("#faf4ed" "#faf4ed" "black" ))
(surface '("#fffaf3" "#fffaf3" "brightblack" ))
(overlay '("#f2e9de" "#f2e9de" "brightblack" ))
(muted '("#9893a5" "#9893a5" "brightblack" ))
(subtle '("#797593" "#797593" "brightblack" ))
(text '("#575279" "#575279" "brightblack" ))
(love '("#b4637a" "#b4637a" "red" ))
(gold '("#ea9d34" "#ea9d34" "white" ))
(rose '("#d7827e" "#d7827e" "white" ))
(pine '("#286983" "#286983" "white" ))
(foam '("#56949f" "#56949f" "white" ))
(iris '("#907aa9" "#907aa9" "white" ))
(highlightL '("#f4ede8" "#f4ede8" "grey" ))
(highlightM '("#dfdad9" "#dfdad9" "grey" ))
(highlightH '("#cecacd" "#cecacd" "grey" ))
;; Variables required by doom theme
(bg base)
(fg text)
;; These are off-color variants of bg/fg, used primarily for `solaire-mode',
;; but can also be useful as a basis for subtle highlights (e.g. for hl-line
;; or region), especially when paired with the `doom-darken', `doom-lighten',
;; and `doom-blend' helper functions.
(bg-alt surface)
(fg-alt text)
;; These should represent a spectrum from bg to fg, where base0 is a starker
;; bg and base8 is a starker fg. For example, if bg is light grey and fg is
;; dark grey, base0 should be white and base8 should be black.
(base0 surface)
(base1 base)
(base2 highlightL)
(base3 overlay)
(base4 highlightM)
(base5 highlightH)
(base6 muted)
(base7 subtle)
(base8 text)
(grey muted)
(red love)
(orange gold)
(green pine)
(teal pine)
(yellow rose)
(blue pine)
(dark-blue pine)
(magenta iris)
(violet iris)
(cyan foam)
(dark-cyan foam)
;; Variables required by doom theme ends here
;; Required face categories for syntax highlighting
(highlight subtle) ; cursor
(selection base) ; can't figure out where this is used
(region overlay) ; visual selection
(vertical-bar surface) ; window split
(comments (if doom-rose-pine-dawn-brighter-comments subtle muted))
(doc-comments (if doom-rose-pine-dawn-brighter-comments subtle muted))
(builtin pine)
(constants iris)
(functions pine)
(keywords pine)
(methods foam)
(numbers rose)
(operators gold)
(strings gold)
(type rose)
(variables iris)
(error love)
(success foam)
(warning gold)
(vc-added foam)
(vc-deleted love)
(vc-modified gold)
;; Other categories
;; Modeline
(modeline-bg (if doom-rose-pine-dawn-brighter-modeline overlay surface))
(modeline-fg text)
(modeline-bg-alt (if doom-rose-pine-dawn-brighter-modeline muted overlay))
(modeline-fg-alt text) ; should this be darker or lighter?
(modeline-bg-inactive base)
(modeline-fg-inactive subtle)
(modeline-bg-inactive-alt base)
(modeline-fg-inactive-alt subtle)
(modeline-pad
(when doom-rose-pine-dawn-padded-modeline
if (integerp doom-rose-pine-dawn-padded-modeline) doom-rose-pine-padded-modeline 4)))
;; Base theme face overrides
(
;; Font
((font-lock-comment-face &override)
:slant 'italic
:background (if doom-rose-pine-dawn-brighter-comments (doom-blend teal base 0.07)))
((font-lock-type-face &override) :slant 'italic)
((font-lock-builtin-face &override) :slant 'italic)
((font-lock-function-name-face &override) :foreground type)
((font-lock-keyword-face &override) :weight 'bold)
((font-lock-constant-face &override) :weight 'bold)
;; Highlight line
(hl-line
:background highlightL)
;; Line numbers
((line-number &override) :foreground muted)
((line-number-current-line &override) :foreground text)
;; Mode line
(mode-line
:background modeline-bg
:foreground modeline-fg
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg)))
(mode-line-inactive
:background modeline-bg-inactive
:foreground modeline-fg-inactive
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive)))
(mode-line-emphasis
:foreground (if doom-rose-pine-dawn-brighter-modeline text subtle))
;; Company
(company-tooltip-selection :background blue :foreground muted)
;; CSS mode <built-in> / scss-mode
(css-proprietary-property :foreground orange)
(css-property :foreground green)
(css-selector :foreground green)
;; Doom mode line
(doom-modeline-bar :background green) ; The line to the left
(doom-modeline-evil-emacs-state :foreground magenta) ; The dot color when in emacs mode
(doom-modeline-evil-normal-state :foreground green) ; The dot color when in normal mode
(doom-modeline-evil-visual-state :foreground magenta) ; The dot color when in visual mode
(doom-modeline-evil-insert-state :foreground orange) ; The dot color when in insert mode
;; Helm
(helm-selection :foreground base :weight 'bold :background blue)
;; Ivy
(ivy-current-match :background highlightL :distant-foreground fg)
(ivy-minibuffer-match-face-1 :foreground pine :background nil :weight 'bold)
(ivy-minibuffer-match-face-2 :foreground iris :background nil :weight 'bold)
(ivy-minibuffer-match-face-3 :foreground gold :background nil :weight 'bold)
(ivy-minibuffer-match-face-4 :foreground rose :background nil :weight 'bold)
(ivy-minibuffer-match-highlight :foreground magenta :weight 'bold)
(ivy-posframe :background modeline-bg-alt)
;; Markdown mode
(markdown-markup-face :foreground text)
(markdown-header-face :inherit 'bold :foreground red)
((markdown-code-face &override) :background surface)
;; org <built-in>
(org-block :background (doom-blend yellow bg 0.04) :extend t)
(org-block-background :background (doom-blend yellow bg 0.04))
(org-block-begin-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
(org-block-end-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
(org-level-1 :foreground gold)
(org-level-2 :foreground rose)
(org-level-3 :foreground pine)
(org-level-4 :foreground iris)
(org-level-5 :foreground gold)
(org-level-6 :foreground rose)
(org-level-7 :foreground pine)
(org-level-8 :foreground iris)
;; Solaire mode line
(solaire-mode-line-face
:inherit 'mode-line
:background modeline-bg-alt
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-alt)))
(solaire-mode-line-inactive-face
:inherit 'mode-line-inactive
:background modeline-bg-inactive-alt
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive-alt)))
;; Widget
(widget-field :foreground fg :background muted)
(widget-single-line-field :foreground fg :background muted)
;; Swiper
(swiper-line-face :background highlightM)
(swiper-match-face-1 :inherit 'ivy-minibuffer-match-face-1)
(swiper-match-face-2 :inherit 'ivy-minibuffer-match-face-2)
(swiper-match-face-3 :inherit 'ivy-minibuffer-match-face-3)
(swiper-match-face-4 :inherit 'ivy-minibuffer-match-face-4)))
;;; doom-rose-pine-dawn-theme.el ends here

View File

@@ -1,244 +0,0 @@
;;; doom-rose-pine-moon-theme.el --- A medium port of Rosé Pine Moon theme -*- lexical-binding: t; no-byte-compile: t; -*-
;;
;; Author: mvllow
;; Ported by: donniebreve
;; Keywords: custom themes, faces
;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs
;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1"))
;;
;;; Commentary:
;;
;; Thanks to mvllow (https://github.com/rose-pine)
;; Thanks to hlissner (https://github.com/doomemacs/themes)
;;
;;; Code:
(require 'doom-themes)
;;; Variables
(defgroup doom-rose-pine-moon-theme nil
"Options for the `doom-rose-pine-moon' theme."
:group 'doom-themes)
(defcustom doom-rose-pine-moon-brighter-modeline nil
"If non-nil, more vivid colors will be used to style the mode-line."
:group 'doom-rose-pine-moon-theme
:type 'boolean)
(defcustom doom-rose-pine-moon-brighter-comments nil
"If non-nil, comments will be highlighted in more vivid colors."
:group 'doom-rose-pine-moon-theme
:type 'boolean)
(defcustom doom-rose-pine-moon-brighter-text nil
"If non-nil, default text will be brighter."
:group 'doom-rose-pine-moon-theme
:type 'boolean)
(defcustom doom-rose-pine-moon-padded-modeline doom-themes-padded-modeline
"If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding."
:group 'doom-rose-pine-moon-theme
:type '(choice integer boolean))
;;; Theme definition
(def-doom-theme doom-rose-pine-moon
"A medium port of Rosé Pine Moon theme"
;; Main theme colors
(
;; name default 256 16
(base '("#232136" "#232136" "black" ))
(surface '("#2a273f" "#2a273f" "brightblack" ))
(overlay '("#393552" "#393552" "brightblack" ))
(muted '("#6e6a86" "#6e6a86" "brightblack" ))
(subtle '("#908caa" "#908caa" "brightblack" ))
(text '("#e0def4" "#e0def4" "brightblack" ))
(love '("#eb6f92" "#eb6f92" "red" ))
(gold '("#f6c177" "#f6c177" "white" ))
(rose '("#ea9a97" "#ea9a97" "white" ))
(pine '("#3e8fb0" "#3e8fb0" "white" ))
(foam '("#9ccfd8" "#9ccfd8" "white" ))
(iris '("#c4a7e7" "#c4a7e7" "white" ))
(highlightL '("#2a283e" "#2a283e" "white" ))
(highlightM '("#44415a" "#44415a" "white" ))
(highlightH '("#56526e" "#56526e" "white" ))
;; Variables required by doom theme
;; These are required by doom theme and used in various places
(bg base)
(fg text)
;; These are off-color variants of bg/fg, used primarily for `solaire-mode',
;; but can also be useful as a basis for subtle highlights (e.g. for hl-line
;; or region), especially when paired with the `doom-darken', `doom-lighten',
;; and `doom-blend' helper functions.
(bg-alt surface)
(fg-alt text)
;; These should represent a spectrum from bg to fg, where base0 is a starker
;; bg and base8 is a starker fg. For example, if bg is light grey and fg is
;; dark grey, base0 should be white and base8 should be black.
(base0 base)
(base1 surface)
(base2 highlightL)
(base3 overlay)
(base4 highlightM)
(base5 highlightH)
(base6 muted)
(base7 subtle)
(base8 text)
(grey muted)
(red love)
(orange gold)
(green pine)
(teal foam)
(yellow rose)
(pink rose)
(blue pine)
(dark-blue pine)
(magenta iris)
(violet iris)
(cyan foam)
(dark-cyan pine)
;; Variables required by doom theme ends here
;; Required face categories for syntax highlighting
(highlight subtle) ; cursor
(selection base) ; can't figure out where this is used
(region overlay) ; visual selection
(vertical-bar surface) ; window split
(comments (if doom-rose-pine-moon-brighter-comments subtle muted))
(doc-comments (if doom-rose-pine-moon-brighter-comments subtle muted))
(builtin pine)
(constants iris)
(functions pine)
(keywords pine)
(methods foam)
(numbers rose)
(operators gold)
(strings gold)
(type rose)
(variables iris)
(error love)
(success foam)
(warning gold)
(vc-added foam)
(vc-deleted love)
(vc-modified gold)
;; Other categories
;; Modeline
(modeline-bg (if doom-rose-pine-moon-brighter-modeline overlay surface))
(modeline-fg text)
(modeline-bg-alt (if doom-rose-pine-moon-brighter-modeline muted overlay))
(modeline-fg-alt text) ; should this be darker or lighter?
(modeline-bg-inactive base)
(modeline-fg-inactive subtle)
(modeline-bg-inactive-alt base)
(modeline-fg-inactive-alt subtle)
(modeline-pad
(when doom-rose-pine-moon-padded-modeline
if (integerp doom-rose-pine-moon-padded-modeline) doom-rose-pine-padded-modeline 4)))
;; Base theme face overrides
(
;; Font
((font-lock-comment-face &override)
:slant 'italic
:background (if doom-rose-pine-moon-brighter-comments (doom-blend teal base 0.07)))
((font-lock-type-face &override) :slant 'italic)
((font-lock-builtin-face &override) :slant 'italic)
((font-lock-function-name-face &override) :foreground type)
((font-lock-keyword-face &override) :weight 'bold)
((font-lock-constant-face &override) :weight 'bold)
;; Highlight line
(hl-line
:background surface)
;; Line numbers
((line-number &override) :foreground muted)
((line-number-current-line &override) :foreground text)
;; Mode line
(mode-line
:background modeline-bg
:foreground modeline-fg
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg)))
(mode-line-inactive
:background modeline-bg-inactive
:foreground modeline-fg-inactive
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive)))
(mode-line-emphasis
:foreground (if doom-rose-pine-moon-brighter-modeline text subtle))
;; Company
(company-tooltip-selection :background blue :foreground muted)
;; CSS mode <built-in> / scss-mode
(css-proprietary-property :foreground orange)
(css-property :foreground green)
(css-selector :foreground green)
;; Doom mode line
(doom-modeline-bar :background green) ; The line to the left
(doom-modeline-evil-emacs-state :foreground magenta) ; The dot color when in emacs mode
(doom-modeline-evil-normal-state :foreground green) ; The dot color when in normal mode
(doom-modeline-evil-visual-state :foreground magenta) ; The dot color when in visual mode
(doom-modeline-evil-insert-state :foreground orange) ; The dot color when in insert mode
;; Helm
(helm-selection :foreground base :weight 'bold :background blue)
;; Ivy
(ivy-current-match :background overlay :distant-foreground fg)
(ivy-minibuffer-match-face-1 :foreground pine :background nil :weight 'bold)
(ivy-minibuffer-match-face-2 :foreground iris :background nil :weight 'bold)
(ivy-minibuffer-match-face-3 :foreground gold :background nil :weight 'bold)
(ivy-minibuffer-match-face-4 :foreground rose :background nil :weight 'bold)
(ivy-minibuffer-match-highlight :foreground magenta :weight 'bold)
(ivy-posframe :background modeline-bg-alt)
;; Markdown mode
(markdown-markup-face :foreground text)
(markdown-header-face :inherit 'bold :foreground red)
((markdown-code-face &override) :background surface)
;; org <built-in>
(org-block :background (doom-blend yellow bg 0.04) :extend t)
(org-block-background :background (doom-blend yellow bg 0.04))
(org-block-begin-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
(org-block-end-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
(org-level-1 :foreground gold)
(org-level-2 :foreground rose)
(org-level-3 :foreground pine)
(org-level-4 :foreground iris)
(org-level-5 :foreground gold)
(org-level-6 :foreground rose)
(org-level-7 :foreground pine)
(org-level-8 :foreground iris)
;; Solaire mode line
(solaire-mode-line-face
:inherit 'mode-line
:background modeline-bg-alt
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-alt)))
(solaire-mode-line-inactive-face
:inherit 'mode-line-inactive
:background modeline-bg-inactive-alt
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive-alt)))
;; Widget
(widget-field :foreground fg :background muted)
(widget-single-line-field :foreground fg :background muted)
;; Swiper
(swiper-line-face :background highlightM)
(swiper-match-face-1 :inherit 'ivy-minibuffer-match-face-1)
(swiper-match-face-2 :inherit 'ivy-minibuffer-match-face-2)
(swiper-match-face-3 :inherit 'ivy-minibuffer-match-face-3)
(swiper-match-face-4 :inherit 'ivy-minibuffer-match-face-4)))
;;; doom-rose-pine-moon-theme.el ends here

View File

@@ -1,242 +0,0 @@
;;; doom-rose-pine-theme.el --- A dark port of Rosé Pine theme -*- lexical-binding: t; no-byte-compile: t; -*-
;;
;; Author: mvllow
;; Ported by: donniebreve
;; Keywords: custom themes, faces
;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs
;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1"))
;;
;;; Commentary:
;;
;; Thanks to mvllow (https://github.com/rose-pine)
;; Thanks to hlissner (https://github.com/doomemacs/themes)
;;
;;; Code:
(require 'doom-themes)
;;; Variables
(defgroup doom-rose-pine-theme nil
"Options for the `doom-rose-pine' theme."
:group 'doom-themes)
(defcustom doom-rose-pine-brighter-modeline nil
"If non-nil, more vivid colors will be used to style the mode-line."
:group 'doom-rose-pine-theme
:type 'boolean)
(defcustom doom-rose-pine-brighter-comments nil
"If non-nil, comments will be highlighted in more vivid colors."
:group 'doom-rose-pine-theme
:type 'boolean)
(defcustom doom-rose-pine-brighter-text nil
"If non-nil, default text will be brighter."
:group 'doom-rose-pine-theme
:type 'boolean)
(defcustom doom-rose-pine-padded-modeline doom-themes-padded-modeline
"If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding."
:group 'doom-rose-pine-theme
:type '(choice integer boolean))
;;; Theme definition
(def-doom-theme doom-rose-pine
"A dark port of Rosé Pine theme"
;; Main theme colors
(
;; name default 256 16
(base '("#191724" "#191724" "black" ))
(surface '("#1f1d2e" "#1f1d2e" "brightblack" ))
(overlay '("#26233a" "#26233a" "brightblack" ))
(muted '("#6e6a86" "#6e6a86" "brightblack" ))
(subtle '("#908caa" "#908caa" "brightblack" ))
(text '("#e0def4" "#e0def4" "brightblack" ))
(love '("#eb6f92" "#eb6f92" "red" ))
(gold '("#f6c177" "#f6c177" "white" ))
(rose '("#ebbcba" "#ebbcba" "white" ))
(pine '("#31748f" "#31748f" "white" ))
(foam '("#9ccfd8" "#9ccfd8" "white" ))
(iris '("#c4a7e7" "#c4a7e7" "white" ))
(highlightL '("#21202e" "#21202e" "grey" ))
(highlightM '("#403d52" "#403d52" "grey" ))
(highlightH '("#524f67" "#524f67" "grey" ))
;; Variables required by doom theme
;; These are required by doom theme and used in various places
(bg base)
(fg text)
;; These are off-color variants of bg/fg, used primarily for `solaire-mode',
;; but can also be useful as a basis for subtle highlights (e.g. for hl-line
;; or region), especially when paired with the `doom-darken', `doom-lighten',
;; and `doom-blend' helper functions.
(bg-alt surface)
(fg-alt text)
;; These should represent a spectrum from bg to fg, where base0 is a starker
;; bg and base8 is a starker fg. For example, if bg is light grey and fg is
;; dark grey, base0 should be white and base8 should be black.
(base0 base)
(base1 surface)
(base2 highlightL)
(base3 overlay)
(base4 highlightM)
(base5 highlightH)
(base6 muted)
(base7 subtle)
(base8 text)
(grey muted)
(red love)
(orange gold)
(green pine)
(teal pine)
(yellow rose)
(blue pine)
(dark-blue pine)
(magenta iris)
(violet iris)
(cyan foam)
(dark-cyan foam)
;; Variables required by doom theme ends here
;; Required face categories for syntax highlighting
(highlight subtle) ; cursor
(selection base) ; can't figure out where this is used
(region overlay) ; visual selection
(vertical-bar surface) ; window split
(comments (if doom-rose-pine-brighter-comments subtle muted))
(doc-comments (if doom-rose-pine-brighter-comments subtle muted))
(builtin pine)
(constants iris)
(functions pine)
(keywords pine)
(methods foam)
(numbers rose)
(operators gold)
(strings gold)
(type rose)
(variables iris)
(error love)
(success foam)
(warning gold)
(vc-added foam)
(vc-deleted love)
(vc-modified gold)
;; Other categories
;; Modeline
(modeline-bg (if doom-rose-pine-brighter-modeline overlay surface))
(modeline-fg text)
(modeline-bg-alt (if doom-rose-pine-brighter-modeline muted overlay))
(modeline-fg-alt text) ; should this be darker or lighter?
(modeline-bg-inactive base)
(modeline-fg-inactive subtle)
(modeline-bg-inactive-alt base)
(modeline-fg-inactive-alt subtle)
(modeline-pad
(when doom-rose-pine-padded-modeline
if (integerp doom-rose-pine-padded-modeline) doom-rose-pine-padded-modeline 4)))
;; Base theme face overrides
(
;; Font
((font-lock-comment-face &override)
:slant 'italic
:background (if doom-rose-pine-brighter-comments (doom-blend teal base 0.07)))
((font-lock-type-face &override) :slant 'italic)
((font-lock-builtin-face &override) :slant 'italic)
((font-lock-function-name-face &override) :foreground type)
((font-lock-keyword-face &override) :weight 'bold)
((font-lock-constant-face &override) :weight 'bold)
;; Highlight line
(hl-line
:background surface)
;; Line numbers
((line-number &override) :foreground muted)
((line-number-current-line &override) :foreground text)
;; Mode line
(mode-line
:background modeline-bg
:foreground modeline-fg
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg)))
(mode-line-inactive
:background modeline-bg-inactive
:foreground modeline-fg-inactive
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive)))
(mode-line-emphasis
:foreground (if doom-rose-pine-brighter-modeline text subtle))
;; Company
(company-tooltip-selection :background blue :foreground muted)
;; CSS mode <built-in> / scss-mode
(css-proprietary-property :foreground orange)
(css-property :foreground green)
(css-selector :foreground green)
;; Doom mode line
(doom-modeline-bar :background green) ; The line to the left
(doom-modeline-evil-emacs-state :foreground magenta) ; The dot color when in emacs mode
(doom-modeline-evil-normal-state :foreground green) ; The dot color when in normal mode
(doom-modeline-evil-visual-state :foreground magenta) ; The dot color when in visual mode
(doom-modeline-evil-insert-state :foreground orange) ; The dot color when in insert mode
;; Helm
(helm-selection :foreground base :weight 'bold :background blue)
;; Ivy
(ivy-current-match :background overlay :distant-foreground fg)
(ivy-minibuffer-match-face-1 :foreground pine :background nil :weight 'bold)
(ivy-minibuffer-match-face-2 :foreground iris :background nil :weight 'bold)
(ivy-minibuffer-match-face-3 :foreground gold :background nil :weight 'bold)
(ivy-minibuffer-match-face-4 :foreground rose :background nil :weight 'bold)
(ivy-minibuffer-match-highlight :foreground magenta :weight 'bold)
(ivy-posframe :background modeline-bg-alt)
;; Markdown mode
(markdown-markup-face :foreground text)
(markdown-header-face :inherit 'bold :foreground red)
((markdown-code-face &override) :background surface)
;; org <built-in>
(org-block :background (doom-blend yellow bg 0.04) :extend t)
(org-block-background :background (doom-blend yellow bg 0.04))
(org-block-begin-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
(org-block-end-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
(org-level-1 :foreground gold)
(org-level-2 :foreground rose)
(org-level-3 :foreground pine)
(org-level-4 :foreground iris)
(org-level-5 :foreground gold)
(org-level-6 :foreground rose)
(org-level-7 :foreground pine)
(org-level-8 :foreground iris)
;; Solaire mode line
(solaire-mode-line-face
:inherit 'mode-line
:background modeline-bg-alt
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-alt)))
(solaire-mode-line-inactive-face
:inherit 'mode-line-inactive
:background modeline-bg-inactive-alt
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive-alt)))
;; Widget
(widget-field :foreground fg :background muted)
(widget-single-line-field :foreground fg :background muted)
;; Swiper
(swiper-match-face-1 :inherit 'ivy-minibuffer-match-face-1)
(swiper-match-face-2 :inherit 'ivy-minibuffer-match-face-2)
(swiper-match-face-3 :inherit 'ivy-minibuffer-match-face-3)
(swiper-match-face-4 :inherit 'ivy-minibuffer-match-face-4)))
;;; doom-rose-pine-theme.el ends here

View File

@@ -15,189 +15,83 @@ plug "andreyorst/smarttab.kak" defer smarttab %{
plug "occivink/kakoune-sudo-write"
plug "jtrv/grep-write.kak"
plug "kak-lsp/kak-lsp" do %{
cargo install --locked --force --path .
}
plug "gustavo-hms/luar" %{
plug "gustavo-hms/peneira" %{
require-module peneira
}
plug "gustavo-hms/luar" config %{
require-module luar
}
plug "gustavo-hms/peneira" config %{
require-module peneira
set-option global luar_interpreter luajit
set-option global peneira_files_command 'fd -t f -I'
}
plug 'theowenyoung/kakoune-buffer-manager'
plug "h-youhei/kakoune-surround"
plug "your-tools/kak-subvert" do %{
cargo install --locked --force --path .
}
plug "https://git.sr.ht/~nasmevka/repl.kak"
plug "https://gitlab.com/kstr0k/mru-files.kak" demand mru-files %{ # %{} needed even if empty
# suggested mappings: *after* plugin loads
# think "go alt[ernate]-f[iles]"
# map global goto <a-f> '<esc>: mru-files ' -docstring 'mru-files'
# map global goto <a-F> '<esc>: mru-files-related<ret>' -docstring 'mru-files-related'
}
plug "custom-filetypes" load-path "~/.config/kak/al"
# # Color Themes
plug "tinted-theming/base16-kakoune" theme
plug "https://git.sr.ht/~hadronized/kakoune-tree-sitter-themes" theme
### End Of Plugins ###
set-option global luar_interpreter luajit
## Treesitter ##
eval %sh{ kak-tree-sitter -dksvvv --with-highlighting --with-text-objects --init $kak_session }
#eval %sh{ kak-tree-sitter -dks --with-text-objects --session $kak_session }
#eval %sh{ kak-tree-sitter -dks --with-highlighting --session $kak_session }
#eval %sh{ kak-tree-sitter -dksvvv --init $kak_session }
#
# evaluate-commands %sh{
# echo "colorscheme base16-$BASE16_THEME"
# }
## Popup ##
evaluate-commands %sh{kak-popup init}
## Highlighting ##
hook global WinCreate .* %{ add-highlighter window/number-lines number-lines -relative -hlcursor}
add-highlighter global/ show-matching
add-highlighter global/ column 80 MenuBackground
add-highlighter global/ show-whitespaces -spc " " -nbsp ""
#add-highlighter global/ show-whitespaces -nbsp "" -lf "" -indent "|"
add-highlighter global/ show-whitespaces -spc " " -nbsp "" -indent " "
## Wrapping ##
add-highlighter global/ wrap -word -indent
set-option global grepcmd 'ag'
## Formatting ##
# define-command enable-autofmt -docstring 'enable autoformatting of buffer' %{
#
#
# hook global -group autofmt BufSetOption filetype=(zig) %{
# set-option buffer formatcmd 'zig fmt --stdin'
#
# hook -group autofmt buffer BufOpenFile .* %{
# format
# }
#
# hook -group autofmt buffer BufWritePre .* %{
# format
# }
# }
#
# hook global -group autofmt BufSetOption filetype=(html) %{
# set-option buffer formatcmd 'prettier --tab-width 4 --parser html'
#
# hook -group autofmt buffer BufOpenFile .* %{
# format
# }
#
# hook -group autofmt buffer BufWritePre .* %{
# format
# }
# }
#
# hook global -group autofmt BufSetOption filetype=(css) %{
# set-option buffer formatcmd 'prettier --tab-width 4 --parser css'
#
# hook -group autofmt buffer BufOpenFile .* %{
# format
# }
#
# hook -group autofmt buffer BufWritePre .* %{
# format
# }
# }
define-command enable-autofmt -docstring 'enable autoformatting of buffer' %{
hook global -group autofmt BufSetOption filetype=(c|cpp) %{
set-option buffer formatcmd 'clang-format'
hook -group autofmt buffer BufOpenFile .* %{
format
}
hook -group autofmt buffer BufWritePre .* %{
format
}
}
}
define-command disable-autofmt -docstring 'disable autoformatting of buffer' %{
remove-hooks global autofmt
}
enable-autofmt
## Indentation ##
set global tabstop 4
set global indentwidth 4
hook global WinSetOption filetype=.* expandtab
hook global WinSetOption filetype=(makefile|gas) noexpandtab
hook global BufCreate .* %{
editorconfig-load
autoconfigtab
}
define-command set-spell -docstring 'Enable spellcheck' %{
# hook -group spellcheck global BufOpenFile .* %{
hook -group spellcheck buffer InsertChar .* %{
evaluate-commands %{
spell
}
}
hook -group spellcheck buffer InsertDelete .* %{
evaluate-commands %{
spell
}
}
# }
}
define-command set-nospell -docstring 'Disable spellcheck' %{
remove-hooks buffer spellcheck
}
define-command sleuth -docstring 'Heuristically set buffer options' %{
try %{
evaluate-commands -draft %{
# Search the first indent level
execute-keys 'gg' '/' '^\h+' '<ret>'
# Tab vs. Space
# https://youtu.be/V7PLxL8jIl8
try %{
execute-keys '<a-k>' '\t' '<ret>'
#set-option buffer indentwidth 0
noexpandtab
} catch %{
set-option buffer indentwidth %val{selection_length}
expandtab
}
}
}
}
define-command git-status -docstring 'Show git diff' %{
hook -group git-status global BufOpenFile .* %{
git show-diff
}
hook -group git-status global BufWritePost .* %{
git show-diff
}
}
define-command disable-git-status -docstring 'Disable git diff gutter' %{
remove-hooks global git-status
}
define-command sleuth-enable -docstring 'Enable sleuth' %{
# Run sleuth when opening and saving files.
hook -group sleuth global BufOpenFile .* %{
sleuth
}
hook -group sleuth global BufWritePost .* %{
sleuth
}
}
define-command sleuth-disable -docstring 'Disable sleuth' %{
remove-hooks global sleuth
}
## LSP ##
set-option global autocomplete 'prompt'
lsp-enable
lsp-inlay-diagnostics-enable global
set-option global lsp_auto_highlight_references true
set-option global lsp_hover_anchor true
# lsp-inlay-diagnostics-enable global
# set-option global lsp_auto_highlight_references true
# set-option global lsp_hover_anchor true
lsp-auto-signature-help-enable
lsp-inlay-hints-enable global
# lsp-inlay-hints-enable global
map global user k ':lsp-hover<ret>'
@@ -244,213 +138,190 @@ hook -group lsp-filetype-typst global BufSetOption filetype=typst %{
# previewFeature = "disable"
}
}
set-option global lsp_config %{
}
define-command fzf-buffer -docstring 'Invoke fzf to select a buffer' %{
define-command -docstring 'git log' git-log %{
evaluate-commands %sh{
tmux split-window -l 20% "(printf \"%s\n\" $kak_quoted_buflist | fzf --bind 'focus:execute-silent(echo \"eval -client $kak_client %{ e {} }\" | kak -p $kak_session)' || echo \"$kak_buffile\") | xargs -I{} echo \"eval -client $kak_client %{ e '{}' }\" | /usr/bin/kak -p $kak_session"
output=$(mktemp -d "${TMPDIR:-/tmp}"/kak-git.XXXXXXXX)/fifo
mkfifo ${output}
( trap - INT QUIT; git log > ${output} 2>&1 & ) > /dev/null 2>&1 < /dev/null
printf %s "evaluate-commands -try-client '$kak_opt_docsclient' '
edit! -fifo ${output} *git*
set-option buffer filetype git-log
$(hide_blame)
set-option buffer git_blob %{}
hook -always -once buffer BufCloseFifo .* ''
nop %sh{ rm -r $(dirname ${output}) }
''
'"
}
}
define-command -docstring 'Invoke fzf to select a buffer' prev-fzf-buff %{
evaluate-commands %sh{
BUFFER=$(
(
eval "set -- $kak_buflist"
while [ $# -gt 0 ]; do
printf "%s\0" "$1"
shift
done
) |
fzf-tmux --cycle -p 80%,90% --read0 --preview='bat --theme=base16-256 --color=always {} 2>/dev/null'
)
if [ -n "$BUFFER" ]; then
printf "buffer %s" "${BUFFER}"
fi
}
define-command -docstring 'fd find files' -params 1 fd %{
edit %arg{1}
}
define-command -docstring 'live grep' live-grep %{
evaluate-commands %sh{
complete-command -menu fd shell-script-candidates 'fd -I -t f .'
if [ -z "${kak_client_env_TMUX}" ]; then
printf 'fail "client was not started under tmux"\n'
else
file="$(rfv.sh)"
if [ -n "$file" ]; then
printf "edit %s\n" "$file"
fi
fi
}
declare-option -hidden str last_command
define-command -docstring 'compile a la emacs' compile %{
prompt -init "%opt{last_command}" -shell-completion "Command: " compile_text
}
define-command -docstring 'exact grep' exact-grep %{
evaluate-commands %sh{
if [ -z "${kak_client_env_TMUX}" ]; then
printf 'fail "client was not started under tmux"\n'
else
file="$(rfve.sh)"
if [ -n "$file" ]; then
printf "edit %s\n" "$file"
fi
fi
}
}
define-command -docstring 'search contents of current file' file-search %{
evaluate-commands -save-regs '"' %{
set-register dquote %sh{ mktemp }
execute-keys -draft '%<a-|> cat > $kak_reg_dquote<ret>'
evaluate-commands %sh{
if [ -z "${kak_client_env_TMUX}" ]; then
printf 'fail "client was not started under tmux"\n'
else
file="$(rfs.sh ${kak_reg_dquote} ${kak_buffile})"
if [ -n "$file" ]; then
printf "edit %s\n" "$file"
define-command -docstring 'compile_text' compile_text -hidden %{
evaluate-commands %{
evaluate-commands -try-client %opt{toolsclient} %{
fifo -scroll -name *compile-mode* -script %{
trap - INT QUIT
printf "*compilation started at $(date)*\n"
eval "$kak_quoted_text"
exit_code=$?
if [ $exit_code == 0 ]; then
printf "*compilation finished at $(date)*\n"
else
printf "*compilation exited abnormally at $(date) with exit code $exit_code*\n"
fi
rm $kak_reg_dquote
fi
} -- %arg{@}
set-option buffer filetype cmd
set-option buffer jump_current_line 0
set-option global last_command %val{text}
}
}
}
define-command -docstring 'search contents of current file with regex' regex-file-search %{
evaluate-commands -save-regs '"' %{
set-register dquote %sh{ mktemp }
execute-keys -draft '%<a-|> cat > $kak_reg_dquote<ret>'
evaluate-commands %sh{
if [ -z "${kak_client_env_TMUX}" ]; then
printf 'fail "client was not started under tmux"\n'
else
file="$(rgrs.sh ${kak_reg_dquote} ${kak_buffile})"
if [ -n "$file" ]; then
printf "edit %s\n" "$file"
fi
rm $kak_reg_dquote
fi
define-command -docstring 'compile_run' compile_run -params .. -hidden %{
evaluate-commands -save-regs ab %{
set-register a %arg{@}
set-register b %sh{ printf "*%s*" "$1" }
evaluate-commands -try-client %opt{toolsclient} %{
fifo -name %reg{b} -script %{
trap - INT QUIT
eval "$kak_quoted_reg_a"
} -- %arg{@}
}
}
}
define-command -docstring 'Invoke fzf to open a file' -params 0 fzf-edit %{
evaluate-commands %sh{
if [ -z "${kak_client_env_TMUX}" ]; then
printf 'fail "client was not started under tmux"\n'
else
file="$(fd -t f . |TMUX="${kak_client_env_TMUX}" fzf-tmux --cycle -p 80%,90% --preview='bat --theme=base16-256 --color=always {} 2>/dev/null || cat {} 2>/dev/null')"
if [ -n "$file" ]; then
printf "edit %s\n" "$file"
fi
fi
define-command -hidden cmd-jmp %{
evaluate-commands -save-regs a %{
try %{
execute-keys -draft 'ght<ret>"ay'
evaluate-commands -try-client %opt{jumpclient} -verbatim -- edit -existing -- %reg{a}
try %{ focus %opt{jumpclient} }
} catch %{
jump
}
}
}
define-command -docstring 'Invoke fzf to open a file local to the current file' -params 0 fzf-edit-local %{
evaluate-commands %sh{
if [ -z "${kak_client_env_TMUX}" ]; then
printf 'fail "client was not started under tmux"\n'
else
dir="$(get_local_path ${kak_buffile})"
if [ -n "$dir" ]; then
file="$(fd -u -t f . $dir |TMUX="${kak_client_env_TMUX}" fzf-tmux --cycle -p 80%,90% --preview='bat --theme=base16-256 --color=always {} 2>/dev/null || cat {} 2>/dev/null')"
fi
if [ -n "$file" ]; then
printf "edit %s\n" "$file"
fi
fi
hook -group cmd-highlight global WinSetOption filetype=cmd %{
add-highlighter window/cmd group
add-highlighter window/cmd/path regex "^([^:\n\*]+[^/:])$" 1:cyan
add-highlighter window/cmd/num-path regex "^([^:\n\*]+):(\d+):(\d+)?" 1:cyan 2:green 3:green
add-highlighter window/cmd/error regex "^([^:\n\*]+):(\d+):(?:(\d+):)?\h+(?:((?:fatal )?error)|(warning)|(note)|(required from(?: here)?))?.*?$" 1:cyan 2:green 3:green 4:red 5:yellow 6:blue 7:yellow
add-highlighter window/cmd/extra regex "^\h*(~*(?:(\^)~*)?)$" 1:green 2:cyan+b
add-highlighter window/cmd/info-error regex "(\*compilation exited abnormally at .+ with exit code )([0-9]+)(\*)" 1:default+b 2:red+b 3:default+b
add-highlighter window/cmd/info regex "^(\*[^\n]+\*)$" 1:default+b
add-highlighter window/cmd/ line %{%opt{jump_current_line}} default+b
hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/cmd}
}
hook global WinSetOption filetype=cmd %{
hook buffer -group cmd-hooks NormalKey <ret> cmd-jmp
hook -once -always window WinSetOption filetype=.* %{ remove-hooks buffer cmd-hooks }
}
declare-option str curpath_dirls %sh{pwd}
define-command dirls -params 1 %{
set-option global curpath_dirls "%opt{curpath_dirls}/%arg{1}"
compile_run ls -lh %opt{curpath_dirls}
set-option buffer filetype dirls
}
complete-command dirls file 0
define-command -hidden dirls-jmp %{
evaluate-commands -save-regs ab %{
try %{
execute-keys 'gl<a-t> "ay'
evaluate-commands -try-client %opt{jumpclient} -verbatim -- edit -existing -- %reg{a}
try %{ focus %opt{jumpclient} }
} catch %{
execute-keys 'gl<a-t> "ay'
dirls %reg{a}
}
}
}
define-command -docstring 'Pick project' -params 0 switch-project %{
evaluate-commands %sh{
if [ -z "${kak_client_env_TMUX}" ]; then
printf 'fail "client was not started under tmux"\n'
else
proj="$(cat ~/.scripts/projects | TMUX="${kak_client_env_TMUX}" fzf-tmux --cycle -p 80%,90% | cut -d' ' -f1)"
if [ -n "$proj" ]; then
printf "cd %s\n" "$proj"
printf 'fzf-edit\n'
fi
fi
}
define-command -hidden dirls-jmp-up %{
dirls ".."
}
define-command -docstring 'Project wide search' project-search %{
evaluate-commands %sh{
hook -group dirls-highlight global WinSetOption filetype=dirls %{
add-highlighter window/dirls group
add-highlighter window/dirls/file regex "^(-[^\n]+)$" 1:cyan
add-highlighter window/dirls/folder regex "^(d[^\n]+)$" 1:blue
add-highlighter window/dirls/ line %{%opt{jump_current_line}} default+b
hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/dirls}
}
if [ -z "${kak_client_env_TMUX}" ]; then
printf 'fail "client was not started under tmux"\n'
else
file="$(rgfs.sh)"
if [ -n "$file" ]; then
printf "edit %s\n" "$file"
fi
fi
}
hook global WinSetOption filetype=dirls %{
hook buffer -group dirls-hooks NormalKey <ret> dirls-jmp
hook buffer -group dirls-hooks NormalKey <minus> dirls-jmp-up
}
define-command -docstring 'Print Working Directory' -params 0 pwd %{
evaluate-commands echo %sh{ echo "$(pwd)"}
}
# define-command -docstring 'copy to clipboard' xcopy %{
# execute-keys '<a-|>xclip -selection clipboard -i<ret>'
# }
# define-command -docstring 'paste from clipboard' xpaste %{
# evaluate-commands -save-regs '"' %{
# set-register dquote %sh{ xclip -selection clipboard -o }
# execute-keys 'p'
# }
# }
define-command -docstring 'copy to clipboard' xcopy %{
execute-keys '<a-|>wl-copy<ret>'
execute-keys '<a-|>xclip -selection clipboard -i<ret>'
}
define-command -docstring 'paste from clipboard' xpaste %{
evaluate-commands -save-regs '"' %{
set-register dquote %sh{ wl-paste }
execute-keys 'P'
set-register dquote %sh{ xclip -selection clipboard -o }
execute-keys 'p'
}
}
define-command -docstring 'find files in particular directory' peneira-dir-files %{
peneira-files-configure-buffer
prompt -shell-script-completion '(fd -t d -d 1 -I . $@ || fd -t d -d 1 -I . $(dirname $@)) | (sk -f $@ || cat)' 'directory: ' peneira-files-in-dir
}
define-command peneira-files-in-dir -hidden %{
peneira 'file: ' 'fd -t f -I . $kak_text' 'edit %arg{1}'
}
map -docstring 'fix c-i in silly terminals' global normal '<tab>' '<c-i>'
declare-user-mode config
map -docstring 'enter config mode' global user e ':enter-user-mode config<ret>'
map -docstring 'edit kakoune config' global config k ':e ~/.config/kak/kakrc<ret>'
map -docstring 'edit tmux config' global config t ':e ~/.tmux.conf<ret>'
map -docstring 'edit bash config' global config b ':e ~/.bashrc<ret>'
map -docstring 'edit scripts folder' global config s ':cd ~/.scripts<ret>:fzf-edit<ret>'
map -docstring 'edit .config folder' global config c ':cd ~/.config<ret>:fzf-edit<ret>'
declare-user-mode buffer
map -docstring 'enter buffer mode' global user b ':enter-user-mode buffer<ret>'
map -docstring 'next buffer' global buffer n ':buffer-next<ret>'
map -docstring 'previous buffer' global buffer p ':buffer-previous<ret>'
map -docstring 'close current buffer' global buffer d ':delete-buffer!<ret>'
map -docstring 'write and close current buffer' global buffer w ':w<ret>:db<ret>'
map -docstring 'list and select a buffer' global buffer b ':fzf-buffer<ret>'
map -docstring 'open buf manager' global user b ':buffer-manager<ret>'
map -docstring 'compile mode' global user c ':compile<ret>'
map -docstring 'next error' global user ] ':jump-next *compile-mode*<ret>'
map -docstring 'previous error' global user [ ':jump-previous *compile-mode*<ret>'
declare-user-mode find
map -docstring 'enter find mode' global user f ':enter-user-mode find<ret>'
map -docstring 'find files' global find f ':fzf-edit<ret>'
map -docstring 'find tags for the current project' global find t ':ctags-search '
map -docstring 'find line in current file' global find l ':file-search<ret>'
map -docstring 'find line in current file with regex' global find L ':regex-file-search<ret>'
map -docstring 'find files in current directory' global find F ':fzf-edit-local<ret>'
map -docstring "grep file contents recursively" global find g ':live-grep<ret>'
map -docstring "grep exact file contents recursively" global find e ':exact-grep<ret>'
map -docstring 'project wide search' global find p ':project-search<ret>'
map -docstring 'clipboard paste' global user p ':xpaste<ret>'
map -docstring 'clipboard yank' global user y ':xcopy<ret>'
map -docstring 'find tags for the current project' global user t ':ctags-search '
map -docstring 'find files' global user f ':peneira-files<ret>'
map -docstring 'find files in particular dir' global user F ':peneira-dir-files<ret>'
map -docstring 'enter lsp mode' global user l ':enter-user-mode lsp<ret>'
map -docstring 'goto definition (tag)' global lsp t '<a-i>w:ctags-search<ret>'
map -docstring 'enter treesitter mode' global user t ':enter-user-mode tree-sitter<ret>'
map -docstring 'enter treesitter search mode' global user s ':enter-user-mode tree-sitter-search<ret>'
declare-user-mode tmux
map -docstring 'enter tmux/window mode' global user w ':enter-user-mode tmux<ret>'
map -docstring 'vertical split' global tmux v ':tmux-terminal-horizontal kak -c %val{session}<ret>'
@@ -459,35 +330,9 @@ map -docstring 'new tab' global tmux t ':tmux-terminal-window kak -c %val{sessio
map -docstring 'vertical terminal split' global tmux V ':tmux-repl-horizontal bash<ret>'
map -docstring 'horizontal terminal split' global tmux H ':tmux-repl-vertical bash<ret>'
map -docstring 'new terminal tab' global tmux T ':tmux-repl-window<ret>'
map -docstring 'new git window' global tmux g ':tmux-terminal-window lazygit<ret>'
declare-user-mode project
map -docstring 'enter project mode' global user p ':enter-user-mode project<ret>'
map -docstring 'open project' global project o ':switch-project<ret>'
map -docstring 'enter man mode' global user m ':enter-user-mode man<ret>'
declare-user-mode general
map -docstring 'enter general keybinds mode' global user g ':enter-user-mode general<ret>'
#map -docstring 'clipboard yank' global user y '<a-|>clip.exe<ret>'
map -docstring 'clipboard yank' global general y ':xcopy<ret>'
#map -docstring 'clipboard paste' global user p '|powershell.exe -C Get-Clipboard | tr -d "\r"<ret>'
map -docstring 'clipboard paste' global general p ':xpaste<ret>'
map -docstring 'quit kakoune' global general q ':q<ret>'
map -docstring 'toggle comments' global general c ':comment-line<ret>'
declare-user-mode spell
map -docstring 'enter spell mode' global general s ':enter-user-mode spell<ret>'
map -docstring 'enable spell check' global spell s ':spell<ret>'
map -docstring 'clear spell check' global spell c ':spell-clear<ret>'
map -docstring 'next spell check' global spell n ':spell-next<ret>'
map -docstring 'spell check replacements' global spell r ':spell-replace<ret>'
map -docstring 'quit kakoune' global user q ':q!<ret>'
try %{
colorscheme %sh{
ruby -e "time = Time.new; if time.hour < 20 and time.hour > 6 then puts 'dawnfox' else puts 'carbonfox' end"
}
} catch %{
colorscheme carbonfox
}
colorscheme dawnfox

View File

@@ -26,5 +26,5 @@ dataSourceCommonSettings\activeState=true
dataSourceCommonSettings\activeState=true
[UserFeedback]
ApplicationStartCount=137
ApplicationTime=622
ApplicationStartCount=141
ApplicationTime=705

View File

@@ -26,5 +26,5 @@ dataSourceCommonSettings\activeState=true
dataSourceCommonSettings\activeState=true
[UserFeedback]
ApplicationStartCount=3
ApplicationTime=35142
ApplicationStartCount=72
ApplicationTime=68724

View File

@@ -23,5 +23,5 @@ dataSourceCommonSettings\activeState=true
dataSourceCommonSettings\activeState=true
[UserFeedback]
ApplicationStartCount=1
ApplicationTime=14
ApplicationStartCount=18
ApplicationTime=16794

View File

@@ -1,2 +1,2 @@
[UserFeedback]
ApplicationStartCount=1
ApplicationStartCount=18

View File

@@ -26,6 +26,6 @@ dataSourceCommonSettings\activeState=true
dataSourceCommonSettings\activeState=true
[UserFeedback]
ApplicationStartCount=210
ApplicationTime=2008695
ApplicationStartCount=260
ApplicationTime=2430104
LastEncouragement=@DateTime(\0\0\0\x10\0\0\0\0\0\0%\x87}\x4\n\x84\xab\0)

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,2 @@
CompilerSet errorformat&
CompilerSet makeprg=cd\ /home/E40127478/projects/dex/dex_lxb/\ &&\ ./build_all.sh\ $*

View File

@@ -1,67 +1,63 @@
{
"auto-dark-mode.nvim": { "branch": "master", "commit": "e300259ec777a40b4b9e3c8e6ade203e78d15881" },
"blink.cmp": { "branch": "main", "commit": "451168851e8e2466bc97ee3e026c3dcb9141ce07" },
"catppuccin": { "branch": "main", "commit": "a7788416689dbefea659d9e9415c87926b0ba5d8" },
"blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" },
"catppuccin": { "branch": "main", "commit": "edefef779ab08ce1a4a404713e3012b0d202bd35" },
"cellular-automaton.nvim": { "branch": "main", "commit": "1606e9d5d04ff254023c3f3c62842d065708d6d3" },
"command.nvim": { "branch": "main", "commit": "cf73df4f9afc123b1fc3a8674d3fae08d2ad67db" },
"command.nvim": { "branch": "main", "commit": "e5736fea4bdab1f86b17bcd71b873517bb145e1b" },
"compiler-explorer.nvim": { "branch": "master", "commit": "523c6a7a3d8c034b421a71eb20b0da75b0b16f62" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"dim.lua": { "branch": "main", "commit": "a3a0dce75f7212ab61130e77a8157530bd23db15" },
"dracula.nvim": { "branch": "main", "commit": "ae752c13e95fb7c5f58da4b5123cb804ea7568ee" },
"dropbar.nvim": { "branch": "master", "commit": "ce202248134e3949aac375fd66c28e5207785b10" },
"everblush": { "branch": "main", "commit": "678f808d81801b983b6fb8296fb17ba1b2785d7c" },
"everforest": { "branch": "master", "commit": "b03a03148c8b34c24c96960b93da9c8883d11f54" },
"everforest": { "branch": "master", "commit": "85a86eb62409e3ec88713bff3d1b9d7374e112e4" },
"fennel.vim": { "branch": "main", "commit": "c6a9c035ca108cbb24273d96cd6277fb8fbc60b4" },
"firenvim": { "branch": "master", "commit": "a18ef908ac06b52ad9333b70e3e630b0a56ecb3d" },
"github-colors": { "branch": "main", "commit": "7292749e49e6f870e63879a528bb05c8c8d1a59a" },
"github-nvim-theme": { "branch": "main", "commit": "c106c9472154d6b2c74b74565616b877ae8ed31d" },
"gitsigns.nvim": { "branch": "main", "commit": "caa98e2e5e4c23a1652c23be839d2e1722cecc29" },
"gruvbox-material": { "branch": "master", "commit": "790afe9dd085aa04eccd1da3626c5fa05c620e53" },
"gruvbox.nvim": { "branch": "main", "commit": "334d5fd49fc8033f26408425366c66c6390c57bb" },
"hex.nvim": { "branch": "master", "commit": "b46e63356a69e8d6f046c38a9708d55d17f15038" },
"gitsigns.nvim": { "branch": "main", "commit": "851a051e2bd2caba97e23314c68d69f1b1cf5d19" },
"gruvbox-material": { "branch": "master", "commit": "11d779b26a9ab2b3db8c22c6ac9fb6e8ed4fea79" },
"gruvbox.nvim": { "branch": "main", "commit": "154eb5ff5b96d0641307113fa385eaf0d36d9796" },
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
"leap.nvim": { "branch": "main", "commit": "b960d5038c5c505c52e56a54490f9bbb1f0e6ef6" },
"leap.nvim": { "branch": "main", "commit": "277e04fad21e3af05a55cc414757b09a704f2a92" },
"love2d.nvim": { "branch": "main", "commit": "25715394680590f56aab90390d430cab0dc46808" },
"lua-utils.nvim": { "branch": "main", "commit": "e565749421f4bbb5d2e85e37c3cef9d56553d8bd" },
"lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "25f609e7fca78af7cede4f9fa3af8a94b1c4950b" },
"mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
"lualine.nvim": { "branch": "master", "commit": "221ce6b2d999187044529f49da6554a92f740a96" },
"markview.nvim": { "branch": "main", "commit": "190bb227c9d3eb4451b81fa16ea3d2efde2d67c5" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "b3298993d55fa194279b5eb9dbfb3a43da65cadf" },
"mason.nvim": { "branch": "main", "commit": "2a6940af80375532e5e9e7c1f2fc6319a1b7a69d" },
"melange-nvim": { "branch": "master", "commit": "ce42f6b629beeaa00591ba73a77d3eeac4cf28ce" },
"mellow.nvim": { "branch": "main", "commit": "6273b7f0ddf6ac2b75021b3bc0bd8b3305cfeef1" },
"mini.nvim": { "branch": "main", "commit": "3923662bf3d6ca49a9503f8d7196ea0450983e6a" },
"monochrome.nvim": { "branch": "main", "commit": "2de78d9688ea4a177bcd9be554ab9192337d35ff" },
"monokai.nvim": { "branch": "master", "commit": "b8bd44d5796503173627d7a1fc51f77ec3a08a63" },
"monokai.nvim": { "branch": "master", "commit": "fca3943173f6026347f9ffc68baab39454446c3b" },
"moonlight.nvim": { "branch": "pure-lua", "commit": "e24e4218ec680b6396532808abf57ca0ada82e66" },
"moonscript-vim": { "branch": "master", "commit": "715c96c7c3b02adc507f84bf5754985460afc426" },
"multicursor.nvim": { "branch": "1.0", "commit": "704b99f10a72cc05d370cfeb294ff83412a8ab55" },
"nabla.nvim": { "branch": "master", "commit": "9b69b709063ccf40ac36fabb4fff7d90b3736475" },
"nelua.vim": { "branch": "main", "commit": "08ddb2e0dda7d2bd6cd9d4efadb6a07547e135c3" },
"neogit": { "branch": "master", "commit": "4681c1fdac1b730592ae195576e87406f7255750" },
"neorg": { "branch": "main", "commit": "408fc04013a95da8f217cb0958a06b6a77c01743" },
"nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" },
"nelua.vim": { "branch": "main", "commit": "1342286a1c06fc2cef50f06cd34dfcdd8df5b65c" },
"neogit": { "branch": "master", "commit": "70708be9664b7fcdd010eb07bdc3ebc9311c2027" },
"neorg": { "branch": "main", "commit": "a09e0bb9b32e2d0406d4503ae8c1a7ad2ca83eae" },
"nightfox.nvim": { "branch": "main", "commit": "4dacd3f0185a2227bdf3b6c0975a8f0bf87cac9a" },
"nord.nvim": { "branch": "master", "commit": "80c1e5321505aeb22b7a9f23eb82f1e193c12470" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" },
"nvim-highlight-colors": { "branch": "main", "commit": "e2cb22089cc2358b2b995c09578224f142de6039" },
"nvim-lspconfig": { "branch": "master", "commit": "5492a24edd68f78d8a778edcb8905d0a28993abc" },
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
"nui.nvim": { "branch": "main", "commit": "10fc361835c856ba4233ef5ea135b919bf3dce97" },
"nvim-autopairs": { "branch": "master", "commit": "430522f95fe4fb7c511ec64f8c1a90cc6a66c05c" },
"nvim-highlight-colors": { "branch": "main", "commit": "e4c7af0211866162d999ce0bdd6a029302e19139" },
"nvim-lspconfig": { "branch": "master", "commit": "db68de3575fff9dd9bb78b34c8371759ed35fe34" },
"nvim-nio": { "branch": "master", "commit": "edcc181a875301dd21840189aa2f2f9ad69fc172" },
"nvim-surround": { "branch": "main", "commit": "1098d7b3c34adcfa7feb3289ee434529abd4afd1" },
"nvim-treesitter": { "branch": "master", "commit": "cf12346a3414fa1b06af75c79faebe7f76df080a" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef" },
"nvim-ts-autotag": { "branch": "main", "commit": "8e1c0a389f20bf7f5b0dd0e00306c1247bda2595" },
"nvim-unception": { "branch": "main", "commit": "df0e505f0f1371c49c2bcf993985962edb5a279d" },
"nvim-web-devicons": { "branch": "master", "commit": "d7462543c9e366c0d196c7f67a945eaaf5d99414" },
"nvim-treesitter": { "branch": "main", "commit": "0ba3703f0ac706af97c80d426fc88fed4d1e5e8f" },
"nvim-treesitter-textobjects": { "branch": "main", "commit": "5c7b0263797dfd1bd6202f2b219f3b53a80b2187" },
"nvim-ts-autotag": { "branch": "main", "commit": "d7220b55e16ed3c04e88086256def5d282429493" },
"nvim-unception": { "branch": "main", "commit": "f14eeb22238d2c2bdafe9a2e5e1f4bd200d0e450" },
"nvim-web-devicons": { "branch": "master", "commit": "58447c1fca354bbf184425e4a8d01deecbd6f3c4" },
"oceanic-next": { "branch": "master", "commit": "09833f72d5ba23de2e8bcae18f479f326f5f677a" },
"oil.nvim": { "branch": "master", "commit": "0fcc83805ad11cf714a949c98c605ed717e0b83e" },
"oil.nvim": { "branch": "master", "commit": "b73018b75affd13fa38e2fc94ef753b465f770d7" },
"one-nvim": { "branch": "main", "commit": "faf6fb3f98fccbe009c3466f657a8fff84a5f956" },
"onedark.nvim": { "branch": "master", "commit": "213c23ae45a04797572242568d5d51937181792d" },
"pathlib.nvim": { "branch": "main", "commit": "57e5598af6fe253761c1b48e0b59b7cd6699e2c1" },
"plantuml-syntax": { "branch": "master", "commit": "9d4900aa16674bf5bb8296a72b975317d573b547" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"range-highlight.nvim": { "branch": "master", "commit": "097103da6550c2a34c029971c3d7da63d3fef320" },
"rose-pine": { "branch": "main", "commit": "cf2a288696b03d0934da713d66c6d71557b5c997" },
"rose-pine": { "branch": "main", "commit": "ff483051a47e27d84bdef47703538df1ed9f4a47" },
"sherbet.nvim": { "branch": "master", "commit": "5c4166eff70ec551ae0023edfb89141b25cc18c6" },
"snacks.nvim": { "branch": "main", "commit": "ad9ede6a9cddf16cedbd31b8932d6dcdee9b716e" },
"snacks.nvim": { "branch": "main", "commit": "882c996cf28183f4d63640de0b4c02ec886d01f2" },
"telescope-tabs": { "branch": "vim_ui_select", "commit": "f01bc722582fdcaa58ea37492b382ff109893d95" },
"tokyonight.nvim": { "branch": "main", "commit": "cdc07ac78467a233fd62c493de29a17e0cf2b2b6" },
"v-vim": { "branch": "master", "commit": "1dc1388bafb89072f8349dbd96f9462ae22237cb" },

View File

@@ -4,12 +4,45 @@ local setnx = function(key, command, desc)
end
setnx('<leader>ff', Snacks.picker.files, 'Find files')
setnx('<leader>fF', function() Snacks.picker.files({ dirs = { '.' }}) end, 'Find files in current dir')
setnx('<leader>f/', Snacks.picker.grep_word, 'Search current word')
setnx('<leader>fg', Snacks.picker.grep, 'Search in files')
setnx('<leader>fr', Snacks.picker.recent, 'Find recent files')
setnx('<leader>b', Snacks.picker.buffers, 'List buffers')
setnx('<leader>h', Snacks.picker.help, 'Search help')
setnx('<leader>X', require'hex'.toggle, 'Toggle hex editor')
setnx('<leader>P', '<CMD>Markview splitToggle<CR>', 'Open markview preview')
setnx('<leader>z', Snacks.zen.zen, 'Toggle snacks zen mode')
setnx('<leader>d', '<CMD>AnyJump<CR>', 'AnyJump jump to definition')
local setto = function(key, command, desc)
set({ 'x', 'o' }, key, command, { desc = desc })
end
local setton = function(key, command, desc)
set({ 'n', 'x', 'o' }, key, command, { desc = desc })
end
local select_to = function(query)
return function ()
require'nvim-treesitter-textobjects.select'.select_textobject(query, "textobjects")
end
end
local move_next_start = function(query)
return function ()
require'nvim-treesitter-textobjects.move'.goto_next_start(query, "textobjects")
end
end
local move_prev_start = function(query)
return function ()
require'nvim-treesitter-textobjects.move'.goto_previous_start(query, "textobjects")
end
end
setto('if', select_to("@function.inner"), 'Select inside function')
setto('af', select_to("@function.outer"), 'Select around function')
setto('ia', select_to("@parameter.inner"), 'Select inside parameter')
setto('aa', select_to("@parameter.outer"), 'Select around parameter')
setton(']p', move_next_start("@parameter.inner"), 'Goto next parameter')
setton('[p', move_prev_start("@parameter.inner"), 'Goto previous parameter')
setnx('<leader>m', Snacks.picker.marks, 'Search marks')
setnx('<leader>q', Snacks.picker.qflist, 'Search quickfix list')
setnx('<leader>l', Snacks.picker.loclist, 'Search location list')
@@ -48,8 +81,8 @@ setnx('`', '\'', 'Goto mark without column')
setnx('<leader>x', '<CMD>bd!<CR>', 'Close Current Buffer')
setnx('grr', Snacks.picker.lsp_references, 'Search lsp references')
-- setnx('grI', tele.lsp_incoming_calls, 'Find incoming function calls')
-- setnx('grO', tele.lsp_outgoing_calls, 'Find outgoing function calls')
setnx('grI', Snacks.picker.lsp_incoming_calls, 'Find incoming function calls')
setnx('grO', Snacks.picker.lsp_outgoing_calls, 'Find outgoing function calls')
setnx('grd', Snacks.picker.diagnostics, 'Show LSP diagnostics')
setnx('grD', (function()
local diag = true

View File

@@ -8,41 +8,22 @@ vim.api.nvim_create_autocmd('LspAttach', {
end
})
-- vim.lsp.config('rust-analyzer', {
-- settings = {
-- ["rust-analyzer"] = {
-- inlayHints = {
-- bindingModeHints = {
-- enable = false,
-- },
-- chainingHints = {
-- enable = true,
-- },
-- closingBraceHints = {
-- enable = true,
-- minLines = 25,
-- },
-- closureReturnTypeHints = {
-- enable = "never",
-- },
-- lifetimeElisionHints = {
-- enable = "never",
-- useParameterNames = false,
-- },
-- maxLength = 25,
-- parameterHints = {
-- enable = true,
-- },
-- reborrowHints = {
-- enable = "never",
-- },
-- renderColons = true,
-- typeHints = {
-- enable = true,
-- hideClosureInitialization = false,
-- hideNamedConstructor = false,
-- },
-- },
-- }
-- }
-- })
vim.lsp.config('lua_ls', {
settings = {
Lua = {
workspace = {
library = vim.api.nvim_get_runtime_file("", true),
maxPreload = 100000,
preloadFileSize = 100000,
}
}
}
})
vim.lsp.config('tinymist', {
settings = {
exportPdf = "onType",
},
})
vim.diagnostic.config({ update_in_insert = true, float = true, virtual_lines = true})

View File

@@ -14,6 +14,7 @@ vim.opt.winborder = 'none'
vim.opt.smartindent = true
vim.opt.foldlevel = 9999
-- vim.opt.spell = true
vim.opt.spelllang = 'en_us'
@@ -63,6 +64,8 @@ vim.g.netrw_keepdir = 0
vim.g.netrw_preview = 1
vim.g.netrw_alto = 0
vim.opt.exrc = true
vim.ui.select = Snacks.picker.select
-- vim.cmd('colorscheme carbonfox')
@@ -82,6 +85,6 @@ vim.lsp.config('lua_ls', {
vim.lsp.config('tinymist', {
settings = {
exportPdf = "onType",
}
},
})
vim.diagnostic.config({ update_in_insert = true, float = true, virtual_lines = true})

View File

@@ -151,11 +151,11 @@ return {
-- refer to the configuration section below
set_dark_mode = function()
vim.api.nvim_set_option_value("background", "dark", {})
vim.cmd('colorscheme carbonfox')
vim.cmd('colorscheme rose-pine-main')
end,
set_light_mode = function()
vim.api.nvim_set_option_value("background", "light", {})
vim.cmd('colorscheme dawnfox')
vim.cmd('colorscheme rose-pine-dawn')
end,
},
},

View File

@@ -34,22 +34,22 @@ return {
ft = 'puml',
},
{
"S1M0N38/love2d.nvim",
-- event = "VeryLazy",
ft = 'lua',
version = "2.*",
opts = { },
},
{
"nvim-neorg/neorg",
-- lazy = false, -- Disable lazy loading as some `lazy.nvim` distributions set `lazy = true` by default
ft = 'norg',
version = "*", -- Pin Neorg to the latest stable release
config = true,
},
-- {
-- "S1M0N38/love2d.nvim",
-- -- event = "VeryLazy",
-- ft = 'lua',
-- version = "2.*",
-- opts = { },
-- },
--
-- {
-- "nvim-neorg/neorg",
-- -- lazy = false, -- Disable lazy loading as some `lazy.nvim` distributions set `lazy = true` by default
-- ft = 'norg',
-- version = "*", -- Pin Neorg to the latest stable release
-- config = true,
-- },
--
-- {
-- "Olical/conjure"
-- },

View File

@@ -21,15 +21,6 @@ return {
},
},
-- {
-- "MysticalDevil/inlay-hints.nvim",
-- event = "LspAttach",
-- dependencies = { "neovim/nvim-lspconfig" },
-- config = function()
-- require("inlay-hints").setup()
-- end
-- },
--
{
'saghen/blink.cmp',
-- optional: provides snippets for the snippet source

View File

@@ -1,66 +1,39 @@
return {
{
'nvim-treesitter/nvim-treesitter',
-- branch = 'main',
'neovim-treesitter/nvim-treesitter',
dependencies = { 'neovim-treesitter/treesitter-parser-registry' },
branch = 'main',
version = false,
lazy = false,
build = ':TSUpdate',
config = function()
require'nvim-treesitter.configs'.setup {
textobjects = {
select = {
enable = true,
lookahead = true,
keymaps = {
["af"] = "@function.outer",
["if"] = "@function.inner",
}
},
move = {
enable = true,
set_jumps = false,
goto_next_start = {
[']a'] = '@parameter.inner',
},
goto_previous_start = {
['[a'] = '@parameter.inner',
}
},
},
auto_install = true,
highlight = {
enable = true,
},
}
local langs = require'nvim-treesitter'.get_installed('parsers')
vim.api.nvim_create_autocmd('FileType', {
pattern = langs,
callback = function()
vim.treesitter.start() -- highlighting
vim.wo.foldexpr = 'v:lua.vim.treesitter.foldexpr()' -- folds
vim.wo.foldmethod = 'expr'
vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()" -- indentation
end,
})
end
},
{
'nvim-treesitter/nvim-treesitter-textobjects',
branch = 'main',
opts = {
select = {
lookahead = true,
}
}
},
-- {
-- 'folke/twilight.nvim',
-- dependencies = {
-- 'nvim-treesitter/nvim-treesitter',
-- },
-- cmd = {
-- 'Twilight',
-- 'TwilightEnable',
-- 'TwilightDisable',
-- },
-- },
-- {
-- 'RRethy/vim-illuminate',
-- event = 'VeryLazy',
-- lazy = false,
-- },
{
'0oAstro/dim.lua',
dependencies = {
'nvim-treesitter/nvim-treesitter',
'neovim-treesitter/nvim-treesitter',
'neovim/nvim-lspconfig'
},
event = 'LspAttach',

View File

@@ -5,30 +5,12 @@ return {
event = 'VeryLazy',
},
-- {
-- 'lukas-reineke/indent-blankline.nvim',
-- event = 'VeryLazy',
-- config = function()
-- require'ibl'.setup{ scope = { enabled = false } }
-- end
-- },
{
'nvim-tree/nvim-web-devicons',
-- event = 'VeryLazy',
lazy = true,
},
-- {
-- 'goolord/alpha-nvim',
-- dependencies = {
-- 'nvim-tree/nvim-web-devicons',
-- },
-- config = function()
-- require('alpha').setup(require'alpha.themes.startify'.config)
-- end
-- },
{
'lewis6991/gitsigns.nvim',
event = 'VeryLazy',
@@ -37,9 +19,9 @@ return {
}
},
{
'Bekaboo/dropbar.nvim',
},
-- {
-- 'Bekaboo/dropbar.nvim',
-- },
{
'nvim-lualine/lualine.nvim',
@@ -52,8 +34,8 @@ return {
for i, server in pairs(vim.lsp.get_clients({ bufnr = 0 })) do
table.insert(names, server.name)
end
return " [" .. table.concat(names, " ") .. "]"
-- return "[" .. table.concat(names, " ") .. "]"
-- return " [" .. table.concat(names, " ") .. "]"
return "[" .. table.concat(names, " ") .. "]"
end
require('lualine').setup {
options = {

View File

@@ -1,21 +1,4 @@
return {
{
'nvim-lua/plenary.nvim',
-- event = 'VeryLazy',
lazy = true,
},
{
'RaafatTurki/hex.nvim',
config = true,
cmd = {
'HexDump',
'HexAssemble',
'HexToggle',
},
},
{
"sindrets/diffview.nvim",
event = 'VeryLazy',
@@ -29,11 +12,17 @@ return {
-- this is equivalent to setup({}) function
},
{
'pechorin/any-jump.vim',
config = function()
vim.g.any_jump_search_prefered_engine = 'ag'
end,
},
{
"NeogitOrg/neogit",
lazy = true,
dependencies = {
"nvim-lua/plenary.nvim", -- required
"sindrets/diffview.nvim", -- optional - Diff integration
-- Only one of these is needed.
@@ -44,6 +33,14 @@ return {
},
},
{
"OXY2DEV/markview.nvim",
lazy = false,
-- Completion for `blink.cmp`
dependencies = { "saghen/blink.cmp" },
},
{
'vieitesss/command.nvim',
lazy = false,
@@ -51,12 +48,6 @@ return {
opts = {},
},
{
'glacambre/firenvim',
build = ":call firenvim#install(0)"
},
{
'brenoprata10/nvim-highlight-colors',
event = 'VeryLazy',
@@ -82,6 +73,19 @@ return {
end
},
{
"lukas-reineke/indent-blankline.nvim",
main = "ibl",
---@module "ibl"
---@type ibl.config
opts = {
scope = {
show_start = false,
show_end = false,
},
},
},
{
"folke/snacks.nvim",
priority = 1000,
@@ -92,14 +96,36 @@ return {
-- or leave it empty to use the default settings
-- refer to the configuration section below
bigfile = { enabled = true },
-- dashboard = { enabled = true },
dashboard = {
enabled = true,
presets = {
},
formats = {
key = function(item)
return { { "[", hl = "special" }, { item.key, hl = "key" }, { "]", hl = "special" } }
end,
},
sections = {
-- { section = "terminal", cmd = "fortune -s | cowsay", hl = "header", padding = 1, indent = 8 },
{ section = "header" },
{ section = "startup" },
{ title = "MRU", padding = 1 },
{ section = "recent_files", limit = 8, padding = 1 },
{ title = "MRU ", file = vim.fn.fnamemodify(".", ":~"), padding = 1 },
{ section = "recent_files", cwd = true, limit = 8, padding = 1 },
{ title = "Sessions", padding = 1 },
{ section = "projects", padding = 1 },
{ title = "Bookmarks", padding = 1 },
{ section = "keys" },
},
},
dim = { enabled = true },
-- explorer = { enabled = true },
-- git = { enabled = false },
image = {
enabled = true
},
indent = { enabled = true },
indent = { enabled = false },
input = { enabled = true },
lazygit = { enabled = false },
picker = {
@@ -113,92 +139,57 @@ return {
},
notifier = { enabled = true },
-- quickfile = { enabled = true },
-- scope = { enabled = true },
scope = { enabled = true },
-- scroll = { enabled = true },
terminal = { enabled = false },
-- statuscolumn = { enabled = true },
-- words = { enabled = true },
words = { enabled = true },
zen = {
enabled = true,
-- toggles = {
-- git_signs = true,
-- },
win = {
backdrop = {
transparent = false,
blend = 99,
},
},
},
},
},
{
'echasnovski/mini.nvim',
config = function()
require('mini.starter').setup()
-- require('mini.cursorword').setup()
local miniclue = require'mini.clue'
miniclue.setup{
window = {
delay = 0,
config = {
width = 'auto',
},
},
triggers = {
-- Leader triggers
{ mode = 'n', keys = '<Leader>' },
{ mode = 'x', keys = '<Leader>' },
-- Built-in completion
{ mode = 'i', keys = '<C-x>' },
-- `g` key
{ mode = 'n', keys = 'g' },
{ mode = 'x', keys = 'g' },
-- Next
{ mode = 'n', keys = '['},
{ mode = 'n', keys = ']'},
{ mode = 'x', keys = '['},
{ mode = 'x', keys = ']'},
-- Marks
{ mode = 'n', keys = "'" },
{ mode = 'n', keys = '`' },
{ mode = 'x', keys = "'" },
{ mode = 'x', keys = '`' },
-- Registers
{ mode = 'n', keys = '"' },
{ mode = 'x', keys = '"' },
{ mode = 'i', keys = '<C-r>' },
{ mode = 'c', keys = '<C-r>' },
-- Window commands
{ mode = 'n', keys = '<C-w>' },
-- `z` key
{ mode = 'n', keys = 'z' },
{ mode = 'x', keys = 'z' },
-- Localleader
{ mode = 'n', keys = '<Localleader>'},
{ mode = 'x', keys = '<Localleader>'},
},
clues = {
-- Enhance this by adding descriptions for <Leader> mapping groups
miniclue.gen_clues.builtin_completion(),
miniclue.gen_clues.g(),
miniclue.gen_clues.marks(),
miniclue.gen_clues.registers(),
miniclue.gen_clues.windows(),
miniclue.gen_clues.z(),
{ mode = 'n', keys = '<leader>f', desc = '+Find' },
{ mode = 'x', keys = '<leader>f', desc = '+Find' },
{ mode = 'n', keys = '<leader>o', desc = '+Open' },
{ mode = 'x', keys = '<leader>o', desc = '+Open' },
{ mode = 'n', keys = '<leader>g', desc = '+Git' },
{ mode = 'x', keys = '<leader>g', desc = '+Git' },
{ mode = 'n', keys = '<leader>c', desc = '+Compile' },
{ mode = 'x', keys = '<leader>c', desc = '+Compile' },
},
}
end
"folke/which-key.nvim",
event = "VeryLazy",
opts = {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
preset = 'helix',
sort = { "order", "alphanum", "local", "mod" },
win = {
border = 'none',
},
icons = {
rules = false,
},
spec = {
{ '<leader>f', group = 'Find' },
{ '<leader>o', group = 'Open' },
{ '<leader>g', group = 'Git' },
{ '<leader>c', group = 'Compile' },
},
},
keys = {
{
"<leader>?",
function()
require("which-key").show({ global = false })
end,
desc = "Buffer Local Keymaps (which-key)",
},
},
},
{
@@ -206,6 +197,10 @@ return {
---@module 'oil'
---@type oil.SetupOpts
opts = {
win_options = {
winbar = "%#@attribute.builtin#%{substitute(v:lua.require('oil').get_current_dir(), '^' . $HOME, '~', '')}",
},
triggers = {
{ 'g', mode = { 'n', 'x' } },
},
@@ -267,98 +262,98 @@ return {
event = 'VeryLazy',
},
{
"jake-stewart/multicursor.nvim",
branch = "1.0",
config = function()
local mc = require("multicursor-nvim")
mc.setup()
local set = vim.keymap.set
-- Add or skip cursor above/below the main cursor.
set({"n", "x"}, "<localleader>k", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" })
set({"n", "x"}, "<localleader>j", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" })
set({"n", "x"}, "<up>", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" })
set({"n", "x"}, "<down>", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" })
set({"n", "x"}, "<localleader>K", function() mc.lineSkipCursor(-1) end, { desc = "Skip previous line to add cursor" })
set({"n", "x"}, "<localleader>J", function() mc.lineSkipCursor(1) end, { desc = "Skip next line to add cursor" })
-- Add or skip adding a new cursor by matching word/selection
set({"n", "x"}, "<localleader>n", function() mc.matchAddCursor(1) end, { desc = "Add cursor to next currently selected word" })
set({"n", "x"}, "<localleader>s", function() mc.matchSkipCursor(1) end, { desc = "Skip next instance of current word to add cursor" })
set({"n", "x"}, "<localleader>N", function() mc.matchAddCursor(-1) end, { desc = "Add cursor to previous currently selected word" })
set({"n", "x"}, "<localleader>S", function() mc.matchSkipCursor(-1) end, { desc = "Skip previous instance of current word to add cursor" })
set({"n", "x"}, "<localleader>m", mc.operator, { desc = "Add cursors to text object" })
set("n", "<localleader>s", function()
vim.ui.input({prompt = "Match: "}, function(input) mc.operator({pattern = input}) end)
end, { desc = "Add cursors to regex match inside text object " })
set("n", "<localleader>*", function()
mc.operator({pattern = vim.fn.expand("<cword>")})
end, { desc = "Add cursors to current word inside text object" })
set("x", "<localleader>s", mc.matchCursors, { desc = "Add cursors to regex match inside visual selection" })
-- Add cursor at next argument treesitter
set({'n', 'x'}, ']A', function()
if vim.v.count < 1 then
mc.addCursor(']a')
else
for _=1, vim.v.count - 1 do
mc.addCursor(']a')
end
end
end, { desc = 'Create multicursor on next argument'})
set({'n', 'x'}, '[A', function()
if vim.v.count < 1 then
mc.addCursor('[a')
else
for _=1, vim.v.count - 1 do
mc.addCursor('[a')
end
end
end, { desc = 'Create multicursor on previous argument'})
-- Add and remove cursors with control + left click.
set("n", "<c-leftmouse>", mc.handleMouse)
set("n", "<c-leftdrag>", mc.handleMouseDrag)
set("n", "<c-leftrelease>", mc.handleMouseRelease)
-- Disable and enable cursors.
set({"n", "x"}, "<c-q>", mc.toggleCursor, { desc = "Toggle multiple cursors" })
-- Mappings defined in a keymap layer only apply when there are
-- multiple cursors. This lets you have overlapping mappings.
mc.addKeymapLayer(function(layerSet)
-- Select a different cursor as the main one.
layerSet({"n", "x"}, "<localleader>h", mc.prevCursor, { desc = "Make previous cursor primary" })
layerSet({"n", "x"}, "<localleader>l", mc.nextCursor, { desc = "Make next cursor primary" })
layerSet({"n", "x"}, "<left>", mc.prevCursor, { desc = "Make previous cursor primary" })
layerSet({"n", "x"}, "<right>", mc.nextCursor, { desc = "Make next cursor primary" })
-- Delete the main cursor.
layerSet({"n", "x"}, "<localleader>x", mc.deleteCursor)
-- Enable and clear cursors using escape.
layerSet("n", "<esc>", function()
if not mc.cursorsEnabled() then
mc.enableCursors()
else
mc.clearCursors()
end
end)
end)
-- Customize how cursors look.
local hl = vim.api.nvim_set_hl
hl(0, "MultiCursorCursor", { reverse = true })
hl(0, "MultiCursorVisual", { link = "Visual" })
hl(0, "MultiCursorSign", { link = "SignColumn"})
hl(0, "MultiCursorMatchPreview", { link = "Search" })
hl(0, "MultiCursorDisabledCursor", { reverse = true })
hl(0, "MultiCursorDisabledVisual", { link = "Visual" })
hl(0, "MultiCursorDisabledSign", { link = "SignColumn"})
end
},
-- {
-- "jake-stewart/multicursor.nvim",
-- branch = "1.0",
-- config = function()
-- local mc = require("multicursor-nvim")
-- mc.setup()
--
-- local set = vim.keymap.set
--
-- -- Add or skip cursor above/below the main cursor.
-- set({"n", "x"}, "<localleader>k", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" })
-- set({"n", "x"}, "<localleader>j", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" })
-- set({"n", "x"}, "<up>", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" })
-- set({"n", "x"}, "<down>", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" })
-- set({"n", "x"}, "<localleader>K", function() mc.lineSkipCursor(-1) end, { desc = "Skip previous line to add cursor" })
-- set({"n", "x"}, "<localleader>J", function() mc.lineSkipCursor(1) end, { desc = "Skip next line to add cursor" })
--
-- -- Add or skip adding a new cursor by matching word/selection
-- set({"n", "x"}, "<localleader>n", function() mc.matchAddCursor(1) end, { desc = "Add cursor to next currently selected word" })
-- set({"n", "x"}, "<localleader>s", function() mc.matchSkipCursor(1) end, { desc = "Skip next instance of current word to add cursor" })
-- set({"n", "x"}, "<localleader>N", function() mc.matchAddCursor(-1) end, { desc = "Add cursor to previous currently selected word" })
-- set({"n", "x"}, "<localleader>S", function() mc.matchSkipCursor(-1) end, { desc = "Skip previous instance of current word to add cursor" })
--
-- set({"n", "x"}, "<localleader>m", mc.operator, { desc = "Add cursors to text object" })
-- set("n", "<localleader>s", function()
-- vim.ui.input({prompt = "Match: "}, function(input) mc.operator({pattern = input}) end)
-- end, { desc = "Add cursors to regex match inside text object " })
-- set("n", "<localleader>*", function()
-- mc.operator({pattern = vim.fn.expand("<cword>")})
-- end, { desc = "Add cursors to current word inside text object" })
-- set("x", "<localleader>s", mc.matchCursors, { desc = "Add cursors to regex match inside visual selection" })
--
-- -- Add cursor at next argument treesitter
-- set({'n', 'x'}, ']A', function()
-- if vim.v.count < 1 then
-- mc.addCursor(']p')
-- else
-- for _=1, vim.v.count - 1 do
-- mc.addCursor(']p')
-- end
-- end
-- end, { desc = 'Create multicursor on next argument'})
-- set({'n', 'x'}, '[A', function()
-- if vim.v.count < 1 then
-- mc.addCursor('[p')
-- else
-- for _=1, vim.v.count - 1 do
-- mc.addCursor('[p')
-- end
-- end
-- end, { desc = 'Create multicursor on previous argument'})
--
-- -- Add and remove cursors with control + left click.
-- set("n", "<c-leftmouse>", mc.handleMouse)
-- set("n", "<c-leftdrag>", mc.handleMouseDrag)
-- set("n", "<c-leftrelease>", mc.handleMouseRelease)
--
-- -- Disable and enable cursors.
-- set({"n", "x"}, "<c-q>", mc.toggleCursor, { desc = "Toggle multiple cursors" })
--
-- -- Mappings defined in a keymap layer only apply when there are
-- -- multiple cursors. This lets you have overlapping mappings.
-- mc.addKeymapLayer(function(layerSet)
--
-- -- Select a different cursor as the main one.
-- layerSet({"n", "x"}, "<localleader>h", mc.prevCursor, { desc = "Make previous cursor primary" })
-- layerSet({"n", "x"}, "<localleader>l", mc.nextCursor, { desc = "Make next cursor primary" })
-- layerSet({"n", "x"}, "<left>", mc.prevCursor, { desc = "Make previous cursor primary" })
-- layerSet({"n", "x"}, "<right>", mc.nextCursor, { desc = "Make next cursor primary" })
--
-- -- Delete the main cursor.
-- layerSet({"n", "x"}, "<localleader>x", mc.deleteCursor)
--
-- -- Enable and clear cursors using escape.
-- layerSet("n", "<esc>", function()
-- if not mc.cursorsEnabled() then
-- mc.enableCursors()
-- else
-- mc.clearCursors()
-- end
-- end)
-- end)
--
-- -- Customize how cursors look.
-- local hl = vim.api.nvim_set_hl
-- hl(0, "MultiCursorCursor", { reverse = true })
-- hl(0, "MultiCursorVisual", { link = "Visual" })
-- hl(0, "MultiCursorSign", { link = "SignColumn"})
-- hl(0, "MultiCursorMatchPreview", { link = "Search" })
-- hl(0, "MultiCursorDisabledCursor", { reverse = true })
-- hl(0, "MultiCursorDisabledVisual", { link = "Visual" })
-- hl(0, "MultiCursorDisabledSign", { link = "SignColumn"})
-- end
-- },
}

View File

@@ -7,3 +7,4 @@ https://www.amazon.com/ap/signin Amazon Sign-In
https://blackhawk.cps.golf/onlineresweb/teetime/checkout?id=2390546 Black Hawk Online Booking Engine
https://boardsource.xyz/cart Boardsource - MBK Low Pro Keycaps
https://www.gouletpens.com/26032528/checkouts/1f056f22cfa3f632ef0ba6e960fa297e?previous_step=shipping_method&step=payment_method https://www.gouletpens.com/26032528/checkouts/1f056f22cfa3f632ef0ba6e960fa297e?previous_step=shipping_method&step=payment_method
https://online.cartus.com/resp/Main#/addElectronicReimbursement?PageType=0 CartusOnline - Bank Account Information

View File

@@ -11,7 +11,7 @@
# Note: the "Super" modifier is also known as Logo, GUI, Windows, Mod4, etc.
# Super+Shift+Return to start an instance of foot (https://codeberg.org/dnkl/foot)
riverctl map normal Super Return spawn alacritty
riverctl map normal Super Return spawn wezterm
riverctl map normal Super D spawn 'bemenu-run --fn "Iosevka Term SS12 14"'
# Super+Q to close the focused view
@@ -169,10 +169,9 @@ riverctl focus-follows-cursor normal
riverctl map normal Super+Control O spawn 'mumble rpc starttalking'
riverctl map normal Super O spawn 'mumble rpc stoptalking'
riverctl map normal Super Escape spawn 'swaylock -f -C ~/.config/sway/rose-pine'
riverctl map normal Super Escape spawn 'swaylock -f' #-C ~/.config/sway/rose-pine'
swaybg -m fill -i $HOME/Pictures/wallpapers/wallpaper &
# pgrep creek || ( while $HOME/.config/river/bar.sh; do sleep 1; done ) | creek -fn 'Ubuntu:size=14' -nf 0xb8b8b8 -nb 0x282828 -ff 0x181818 -fb 0x7cafc2
pipewire-launch &
waybar &
wlr-randr --output DP-2 --adaptive-sync enabled --mode 2560x1440@165Hz
wlr-randr --output DP-2 --adaptive-sync enabled --mode 2560x1440@165Hz --output HDMI-A-1 --left-of DP-2
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP='river'
waybar &

View File

@@ -1,158 +0,0 @@
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
;; Place your private configuration here! Remember, you do not need to run 'doom
;; sync' after modifying this file!
;; Some functionality uses this to identify you, e.g. GPG configuration, email
;; clients, file templates and snippets.
(setq user-full-name "Michael Chalupiak"
user-mail-address "mikecchalupiak@outlook.com")
;; Doom exposes five (optional) variables for controlling fonts in Doom. Here
;; are the three important ones:
;;
;; + `doom-font'
;; + `doom-variable-pitch-font'
;; + `doom-big-font' -- used for `doom-big-font-mode'; use this for
;; presentations or streaming.
;;
;; They all accept either a font-spec, font string ("Input Mono-12"), or xlfd
;; font string. You generally only need these two:
(setq doom-font (font-spec :family "Iosevka Term SS12" :size 18)
doom-variable-pitch-font (font-spec :family "Cantarell" :size 18 :weight 'bold))
;; There are two ways to load a theme. Both assume the theme is installed and
;; available. You can either set `doom-theme' or manually load a theme with the
;; `load-theme' function. This is the default:
(setq doom-theme 'doom-gruvbox)
;; If you use `org' and don't want your org files in the default location below,
;; change `org-directory'. It must be set before org loads!
(setq org-directory "~/org/")
;; This determines the style of line numbers in effect. If set to `nil', line
;; numbers are disabled. For relative line numbers, set this to `relative'.
(setq display-line-numbers-type 'relative)
;; Here are some additional functions/macros that could help you configure Doom:
;;
;; - `load!' for loading external *.el files relative to this one
;; - `use-package!' for configuring packages
;; - `after!' for running code after a package has loaded
;; - `add-load-path!' for adding directories to the `load-path', relative to
;; this file. Emacs searches the `load-path' when you load packages with
;; `require' or `use-package'.
;; - `map!' for binding new keys
;;
;; To get information about any of these functions/macros, move the cursor over
;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k').
;; This will open documentation for it, including demos of how they are used.
;;
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
;; they are implemented.
;; Custom Config ;;
;; fixes slow vterm performance (especially in cava)
(setq vterm-timer-delay 0.001)
;; deft directory & recursive search in that directory
;; (setq deft-directory "~/notes")
;; (setq deft-recursive t)
;; set naming rules for deft
;; (setq deft-org-mode-title-prefix t)
;; (setq deft-file-naming-rules
;; '((noslash . "-")
;; (nospace . "-")
;; (case-fn . downcase)))
;; enable tree-sitter
;; (global-tree-sitter-mode)
;; enable tree-sitter syntax highlighting
;; (add-hook 'c-mode-hook #'tree-sitter-hl-mode)
(global-flycheck-mode t)
(global-prettify-symbols-mode)
(global-display-fill-column-indicator-mode)
(after! js
(setq-default js--prettify-symbols-alist '()))
(add-hook 'typescript-tsx-mode-hook
(lambda () (setq prettify-symbols-alist '())))
(defun racket-alist-hook-function () (push '("lambda" . ?λ) prettify-symbols-alist))
(add-hook 'racket-mode-hook
'racket-alist-hook-function)
;;(setq mpc-host "137.112.200.154")
(setq mpc-browser-tags '(Artist Album|Playlist Title|File))
(add-hook 'mpc-mode-hook
(lambda ()
(keymap-local-set "C-k" 'windmove-up)
(keymap-local-set "C-j" 'windmove-down)
(keymap-local-set "C-h" 'windmove-left)
(keymap-local-set "C-l" 'windmove-right)
(keymap-local-set "C-q" 'mpc-quit)
(keymap-local-set "a" (lambda () (interactive) (mpc-select) (mpc-playlist-add)))
(keymap-local-set "D" (lambda () (interactive) (mpc-select) (mpc-playlist-delete)))))
(add-hook 'mpc-songs-mode-hook
(lambda ()
(keymap-local-set "p" 'mpc-playlist)))
;; (keymap-local-set "C-<return>" 'mpc-play-at-point)
;; (keymap-local-set "<SPC>" 'mpc-toggle-play)
;; (keymap-local-set "s" 'mpc-toggle-shuffle)
;; (keymap-local-set "n" 'next-line)
;; (keymap-local-set "p" 'previous-line)
;; (keymap-local-set "f" 'mpc-next)
;; (keymap-local-set "b" 'mpc-prev)))
(after! mu4e
(setq sendmail-program (executable-find "msmtp")
send-mail-function #'smtpmail-send-it
message-sendmail-f-is-evil t
message-sendmail-extra-arguments '("--read-envelope-from")
message-send-mail-function #'message-send-mail-with-sendmail))
(set-email-account! "mikec@mchalupiak.com"
'((mu4e-sent-folder . "/mikec@mchalupiak.com/Sent")
(mu4e-drafts-folder . "/mikec@mchalupiak.com/Drafts")
(mu4e-trash-folder . "/mikec@mchalupiak.com/Junk")
(mu4e-refile-folder . "/mikec@mchalupiak.com/INBOX"))
;;(smtpmail-smtp-user . "foo@bar.com")
;;(user-mail-address . "foo@bar.com") ;; only needed for mu < 1.4
;;(mu4e-compose-signature . "---\nYours truly\nThe Baz"))
t)
(set-email-account! "mikecchalupiak@outlook.com"
'((mu4e-sent-folder . "/mikecchalupiak@outlook.com/Sent")
(mu4e-drafts-folder . "/mikecchalupiak@outlook.com/Drafts")
(mu4e-trash-folder . "/mikecchalupiak@outlook.com/Junk")
(mu4e-refile-folder . "/mikecchalupiak@outlook.com/INBOX"))
;;(smtpmail-smtp-user . "foo@bar.com")
;;(user-mail-address . "foo@bar.com") ;; only needed for mu < 1.4
;;(mu4e-compose-signature . "---\nYours truly\nThe Baz"))
t)
(set-email-account! "chalupmc@rose-hulman.edu"
'((mu4e-sent-folder . "/chalupmc@rose-hulman.edu/Sent")
(mu4e-drafts-folder . "/chalupmc@rose-hulman.edu/Drafts")
(mu4e-trash-folder . "/chalupmc@rose-hulman.edu/Junk")
(mu4e-refile-folder . "/chalupmc@rose-hulman.edu/INBOX"))
;;(smtpmail-smtp-user . "foo@bar.com")
;;(user-mail-address . "foo@bar.com") ;; only needed for mu < 1.4
;;(mu4e-compose-signature . "---\nYours truly\nThe Baz"))
t)
;;(setq +notmuch-sync-backend 'mbsync)
(defun open-mpc () (interactive)
(setq mpc-host (read-string "IP Address:"))
(call-interactively 'mpc))
;; (set-frame-parameter nil 'alpha-background 80) ; For current frame
;; (add-to-list 'default-frame-alist '(alpha-background . 80)) ; For all new frames henceforth
(setq inhibit-x-resources t)
(require 'dime)
(dime-setup '(dime-repl dime-note-tree))
(setq dime-dylan-implementations
'((opendylan ("/home/mikec/Documents/suckless/dylan/opendylan-2024.1/bin/dswank")
:env ("OPEN_DYLAN_USER_REGISTRIES=/tmp/dime-test/registry"))))
(add-to-list 'default-frame-alist '(undecorated . t))

View File

@@ -1,28 +0,0 @@
;;; custom.el --- -*- lexical-binding: t; -*-
;; Copyright (C) 2023 Michael Chalupiak
;; Author: Michael Chalupiak <mikecchalupiak@outlook.com>
;; Keywords:
(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.
'(custom-safe-themes
'("56044c5a9cc45b6ec45c0eb28df100d3f0a576f18eef33ff8ff5d32bac2d9700"
"48042425e84cd92184837e01d0b4fe9f912d875c43021c3bcb7eeb51f1be5710"
"09e98c608045c7778c67d5671161cfbb741cc25350abe61e3eb2ce798bb88209"
"691d671429fa6c6d73098fc6ff05d4a14a323ea0a18787daeb93fde0e48ab18b"
"e3daa8f18440301f3e54f2093fe15f4fe951986a8628e98dcd781efbec7a46f2"
"8c7e832be864674c220f9a9361c851917a93f921fedb7717b1b5ece47690c098"
"e4a702e262c3e3501dfe25091621fe12cd63c7845221687e36a79e17cf3a67e0"
"f5f80dd6588e59cfc3ce2f11568ff8296717a938edd448a947f9823a4e282b66" default))
'(magit-todos-insert-after '(bottom) nil nil "Changed by setter of obsolete option `magit-todos-insert-at'")
'(package-selected-packages '(lsp-ui vlf)))
(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.
'(ts-fold-replacement-face ((t (:foreground unspecified :box nil :inherit font-lock-comment-face :weight light)))))

View File

@@ -1,195 +0,0 @@
;;; init.el -*- lexical-binding: t; -*-
;; This file controls what Doom modules are enabled and what order they load
;; in. Remember to run 'doom sync' after modifying it!
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
;; documentation. There you'll find a link to Doom's Module Index where all
;; of our modules are listed, including what flags they support.
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
;; 'C-c c k' for non-vim users) to view its documentation. This works on
;; flags as well (those symbols that start with a plus).
;;
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
;; directory (for easy access to its source code).
(doom! :input
;;bidi ; (tfel ot) thgir etirw uoy gnipleh
;;chinese
;;japanese
;;layout ; auie,ctsrnm is the superior home row
:completion
company ; the ultimate code completion backend
;;helm ; the *other* search engine for love and life
;;ido ; the other *other* search engine...
;;ivy ; a search engine for love and life
vertico ; the search engine of the future
:ui
;;deft ; notational velocity for Emacs
doom ; what makes DOOM look the way it does
doom-dashboard ; a nifty splash screen for Emacs
;;doom-quit ; DOOM quit-message prompts when you quit Emacs
(emoji +unicode) ; 🙂
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
;;hydra
indent-guides ; highlighted indent columns
ligatures ; ligatures and symbols to make your code pretty again
;;minimap ; show a map of the code on the side
modeline ; snazzy, Atom-inspired modeline, plus API
nav-flash ; blink cursor line after big motions
;;neotree ; a project drawer, like NERDTree for vim
ophints ; highlight the region an operation acts on
(popup +defaults) ; tame sudden yet inevitable temporary windows
;;tabs ; a tab bar for Emacs
;;treemacs ; a project drawer, like neotree but cooler
unicode ; extended unicode support for various languages
(vc-gutter +pretty) ; vcs diff in the fringe
vi-tilde-fringe ; fringe tildes to mark beyond EOB
;;window-select ; visually switch windows
;;workspaces ; tab emulation, persistence & separate workspaces
zen ; distraction-free coding or writing
:editor
;; (evil +everywhere); come to the dark side, we have cookies
file-templates ; auto-snippets for empty files
fold ; (nigh) universal code folding
(format +onsave) ; automated prettiness
;;god ; run Emacs commands without modifier keys
;;lispy ; vim for lisp, for people who don't like vim
;;multiple-cursors ; editing in many places at once
;;objed ; text object editing for the innocent
parinfer ; turn lisp into python, sort of
;;rotate-text ; cycle region at point between text candidates
snippets ; my elves. They type so I don't have to
word-wrap ; soft wrapping with language-aware indent
:emacs
dired ; making dired pretty [functional]
electric ; smarter, keyword-based electric-indent
;;ibuffer ; interactive buffer management
undo ; persistent, smarter undo for your inevitable mistakes
vc ; version-control and Emacs, sitting in a tree
:term
eshell ; the elisp shell that works everywhere
;;shell ; simple shell REPL for Emacs
;;term ; basic terminal emulator for Emacs
vterm ; the best terminal emulation in Emacs
:checkers
syntax ; tasing you for every semicolon you forget
;;(spell +flyspell) ; tasing you for misspelling mispelling
;;grammar ; tasing grammar mistake every you make
:tools
;;ansible
;;biblio ; Writes a PhD for you (citation needed)
;;collab ; buffers with friends
;;debugger ; FIXME stepping through code, to help you add bugs
;;direnv
;;docker
;;editorconfig ; let someone else argue about tabs vs spaces
ein ; tame Jupyter notebooks with emacs
(eval +overlay) ; run code, run (also, repls)
;;gist ; interacting with github gists
(lookup +dictonary +offline) ; navigate your code and its documentation
lsp ; M-x vscode
magit ; a git porcelain for Emacs
;;make ; run make tasks from Emacs
;;pass ; password manager for nerds
pdf ; pdf enhancements
;;prodigy ; FIXME managing external services & code builders
;;rgb ; creating color strings
;;taskrunner ; taskrunner for all your projects
;;terraform ; infrastructure as code
;;tmux ; an API for interacting with tmux
tree-sitter ; syntax and parsing, sitting in a tree...
;;upload ; map local to remote projects via ssh/ftp
:os
(:if IS-MAC macos) ; improve compatibility with macOS
tty ; improve the terminal Emacs experience
:lang
;;agda ; types of types of types of types...
;;beancount ; mind the GAAP
(cc +lsp +tree-sitter) ; C > C++ == 1
(clojure +tree-sitter +lsp) ; java with a lisp
common-lisp ; if you've seen one lisp, you've seen them all
;;coq ; proofs-as-programs
;;crystal ; ruby at the speed of c
;;csharp ; unity, .NET, and mono shenanigans
data ; config/data formats
;;(dart +flutter) ; paint ui and not much else
;;dhall
(elixir +lsp +tree-sitter) ; erlang done right
;;elm ; care for a cup of TEA?
emacs-lisp ; drown in parentheses
;;erlang ; an elegant language for a more civilized age
;;ess ; emacs speaks statistics
;;factor
;;faust ; dsp, but you get to keep your soul
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
;;fsharp ; ML stands for Microsoft's Language
;;fstar ; (dependent) types and (monadic) effects and Z3
;;gdscript ; the language you waited for
(go +lsp +tree-sitter) ; the hipster dialect
;;(graphql +lsp) ; Give queries a REST
(haskell +lsp +tree-sitter) ; a language that's lazier than I am
;;hy ; readability of scheme w/ speed of python
;;idris ; a language you can depend on
(json +tree-sitter) ; At least it ain't XML
(java +lsp +tree-sitter) ; the poster child for carpal tunnel syndrome
(javascript +lsp +tree-sitter) ; all(hope(abandon(ye(who(enter(here))))))
(julia +tree-sitter) ; a better, faster MATLAB
;;kotlin ; a better, slicker Java(Script)
(latex +lsp) ; writing papers in Emacs has never been so fun
;;lean ; for folks with too much to prove
;;ledger ; be audit you can be
(lua +tree-sitter) ; one-based indices? one-based indices
markdown ; writing docs for people to ignore
;;nim ; python + lisp at the speed of c
;;nix ; I hereby declare "nix geht mehr!"
;;ocaml ; an objective camel
org ; organize your plain life in plain text
;;php ; perl's insecure younger brother
;;plantuml ; diagrams for confusing people more
;;purescript ; javascript, but functional
(python +lsp +tree-sitter) ; beautiful is better than ugly
;;qt ; the 'cutest' gui framework ever
(racket +lsp +xp) ; a DSL for DSLs
;;raku ; the artist formerly known as perl6
(rest +jq) ; Emacs as a REST client
;;rst ; ReST in peace
(ruby +lsp +tree-sitter +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
(rust +lsp +tree-sitter) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;;scala ; java, but good
(scheme +chicken) ; a fully conniving family of lisps
(sh +fish +powershell +lsp +tree-sitter) ; she sells {ba,z,fi}sh shells on the C xor
;;sml
;;solidity ; do you need a blockchain? No.
;;swift ; who asked for emoji variables?
;;terra ; Earth and Moon in alignment for performance.
(web +lsp +tree-sitter) ; the tubes
(yaml +tree-sitter) ; JSON, but readable
(zig +lsp +tree-sitter) ; C, but simpler
:email
(mu4e +org +mbsync)
;;(notmuch +org)
;;(wanderlust +gmail)
:app
;;calendar
emms
;;everywhere ; *leave* Emacs!? You must be joking
;;irc ; how neckbeards socialize
;;(rss +org) ; emacs as an RSS reader
;;twitter ; twitter client https://twitter.com/vnought
:config
;;literate
(default +bindings +smartparens))

View File

@@ -1,57 +0,0 @@
;; -*- no-byte-compile: t; -*-
;;; $DOOMDIR/packages.el
;; To install a package with Doom you must declare them here and run 'doom sync'
;; on the command line, then restart Emacs for the changes to take effect -- or
;; use 'M-x doom/reload'.
;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
;(package! some-package)
;; To install a package directly from a remote git repo, you must specify a
;; `:recipe'. You'll find documentation on what `:recipe' accepts here:
;; https://github.com/radian-software/straight.el#the-recipe-format
;(package! another-package
; :recipe (:host github :repo "username/repo"))
;; If the package you are trying to install does not contain a PACKAGENAME.el
;; file, or is located in a subdirectory of the repo, you'll need to specify
;; `:files' in the `:recipe':
;(package! this-package
; :recipe (:host github :repo "username/repo"
; :files ("some-file.el" "src/lisp/*.el")))
;; If you'd like to disable a package included with Doom, you can do so here
;; with the `:disable' property:
;(package! builtin-package :disable t)
;; You can override the recipe of a built in package without having to specify
;; all the properties for `:recipe'. These will inherit the rest of its recipe
;; from Doom or MELPA/ELPA/Emacsmirror:
;(package! builtin-package :recipe (:nonrecursive t))
;(package! builtin-package-2 :recipe (:repo "myfork/package"))
;; Specify a `:branch' to install a package from a particular branch or tag.
;; This is required for some packages whose default branch isn't 'master' (which
;; our package manager can't deal with; see radian-software/straight.el#279)
;(package! builtin-package :recipe (:branch "develop"))
;; Use `:pin' to specify a particular commit to install.
;(package! builtin-package :pin "1a2b3c4d5e")
;; Doom's packages are pinned to a specific commit and updated from release to
;; release. The `unpin!' macro allows you to unpin single packages...
;(unpin! pinned-package)
;; ...or multiple packages
;(unpin! pinned-package another-pinned-package)
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
;(unpin! t)
(package! rose-pine-doom-emacs
:recipe (:host github :repo "donniebreve/rose-pine-doom-emacs"
:files ("doom-rose-pine-theme.el" "doom-rose-pine-moon-theme.el" "doom-rose-pine-dawn-theme.el")
:pre-build ("make" "install")))
(package! dylan)
(package! dime)
(package! vlf)

View File

@@ -1,237 +0,0 @@
;;; doom-rose-pine-dawn-theme.el --- A light port of Rose Piné Dawn theme -*- lexical-binding: t; no-byte-compile: t; -*-
;;
;; Author: mvllow
;; Ported by: donniebreve
;; Keywords: custom themes, faces
;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs
;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1"))
;;
;;; Commentary:
;;
;; Thanks to mvllow (https://github.com/rose-pine)
;; Thanks to hlissner (https://github.com/doomemacs/themes)
;;
;;; Code:
(require 'doom-themes)
;;; Variables
(defgroup doom-rose-pine-dawn-theme nil
"Options for the `doom-rose-pine-dawn' theme."
:group 'doom-themes)
(defcustom doom-rose-pine-dawn-brighter-modeline nil
"If non-nil, more vivid colors will be used to style the mode-line."
:group 'doom-rose-pine-dawn-theme
:type 'boolean)
(defcustom doom-rose-pine-dawn-brighter-comments nil
"If non-nil, comments will be highlighted in more vivid colors."
:group 'doom-rose-pine-dawn-theme
:type 'boolean)
(defcustom doom-rose-pine-dawn-padded-modeline doom-themes-padded-modeline
"If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding."
:group 'doom-rose-pine-dawn-theme
:type '(choice integer boolean))
;;; Theme definition
(def-doom-theme doom-rose-pine-dawn
"A light port of Rosé Pine Dawn theme"
;; Main theme colors
(
;; name default 256 16
(base '("#faf4ed" "#faf4ed" "black" ))
(surface '("#fffaf3" "#fffaf3" "brightblack" ))
(overlay '("#f2e9de" "#f2e9de" "brightblack" ))
(muted '("#9893a5" "#9893a5" "brightblack" ))
(subtle '("#797593" "#797593" "brightblack" ))
(text '("#575279" "#575279" "brightblack" ))
(love '("#b4637a" "#b4637a" "red" ))
(gold '("#ea9d34" "#ea9d34" "white" ))
(rose '("#d7827e" "#d7827e" "white" ))
(pine '("#286983" "#286983" "white" ))
(foam '("#56949f" "#56949f" "white" ))
(iris '("#907aa9" "#907aa9" "white" ))
(highlightL '("#f4ede8" "#f4ede8" "grey" ))
(highlightM '("#dfdad9" "#dfdad9" "grey" ))
(highlightH '("#cecacd" "#cecacd" "grey" ))
;; Variables required by doom theme
(bg base)
(fg text)
;; These are off-color variants of bg/fg, used primarily for `solaire-mode',
;; but can also be useful as a basis for subtle highlights (e.g. for hl-line
;; or region), especially when paired with the `doom-darken', `doom-lighten',
;; and `doom-blend' helper functions.
(bg-alt surface)
(fg-alt text)
;; These should represent a spectrum from bg to fg, where base0 is a starker
;; bg and base8 is a starker fg. For example, if bg is light grey and fg is
;; dark grey, base0 should be white and base8 should be black.
(base0 surface)
(base1 base)
(base2 highlightL)
(base3 overlay)
(base4 highlightM)
(base5 highlightH)
(base6 muted)
(base7 subtle)
(base8 text)
(grey muted)
(red love)
(orange gold)
(green pine)
(teal pine)
(yellow rose)
(blue pine)
(dark-blue pine)
(magenta iris)
(violet iris)
(cyan foam)
(dark-cyan foam)
;; Variables required by doom theme ends here
;; Required face categories for syntax highlighting
(highlight subtle) ; cursor
(selection base) ; can't figure out where this is used
(region overlay) ; visual selection
(vertical-bar surface) ; window split
(comments (if doom-rose-pine-dawn-brighter-comments subtle muted))
(doc-comments (if doom-rose-pine-dawn-brighter-comments subtle muted))
(builtin pine)
(constants iris)
(functions pine)
(keywords pine)
(methods foam)
(numbers rose)
(operators gold)
(strings gold)
(type rose)
(variables iris)
(error love)
(success foam)
(warning gold)
(vc-added foam)
(vc-deleted love)
(vc-modified gold)
;; Other categories
;; Modeline
(modeline-bg (if doom-rose-pine-dawn-brighter-modeline overlay surface))
(modeline-fg text)
(modeline-bg-alt (if doom-rose-pine-dawn-brighter-modeline muted overlay))
(modeline-fg-alt text) ; should this be darker or lighter?
(modeline-bg-inactive base)
(modeline-fg-inactive subtle)
(modeline-bg-inactive-alt base)
(modeline-fg-inactive-alt subtle)
(modeline-pad
(when doom-rose-pine-dawn-padded-modeline
if (integerp doom-rose-pine-dawn-padded-modeline) doom-rose-pine-padded-modeline 4)))
;; Base theme face overrides
(
;; Font
((font-lock-comment-face &override)
:slant 'italic
:background (if doom-rose-pine-dawn-brighter-comments (doom-blend teal base 0.07)))
((font-lock-type-face &override) :slant 'italic)
((font-lock-builtin-face &override) :slant 'italic)
((font-lock-function-name-face &override) :foreground type)
((font-lock-keyword-face &override) :weight 'bold)
((font-lock-constant-face &override) :weight 'bold)
;; Highlight line
(hl-line
:background highlightL)
;; Line numbers
((line-number &override) :foreground muted)
((line-number-current-line &override) :foreground text)
;; Mode line
(mode-line
:background modeline-bg
:foreground modeline-fg
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg)))
(mode-line-inactive
:background modeline-bg-inactive
:foreground modeline-fg-inactive
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive)))
(mode-line-emphasis
:foreground (if doom-rose-pine-dawn-brighter-modeline text subtle))
;; Company
(company-tooltip-selection :background blue :foreground muted)
;; CSS mode <built-in> / scss-mode
(css-proprietary-property :foreground orange)
(css-property :foreground green)
(css-selector :foreground green)
;; Doom mode line
(doom-modeline-bar :background green) ; The line to the left
(doom-modeline-evil-emacs-state :foreground magenta) ; The dot color when in emacs mode
(doom-modeline-evil-normal-state :foreground green) ; The dot color when in normal mode
(doom-modeline-evil-visual-state :foreground magenta) ; The dot color when in visual mode
(doom-modeline-evil-insert-state :foreground orange) ; The dot color when in insert mode
;; Helm
(helm-selection :foreground base :weight 'bold :background blue)
;; Ivy
(ivy-current-match :background highlightL :distant-foreground fg)
(ivy-minibuffer-match-face-1 :foreground pine :background nil :weight 'bold)
(ivy-minibuffer-match-face-2 :foreground iris :background nil :weight 'bold)
(ivy-minibuffer-match-face-3 :foreground gold :background nil :weight 'bold)
(ivy-minibuffer-match-face-4 :foreground rose :background nil :weight 'bold)
(ivy-minibuffer-match-highlight :foreground magenta :weight 'bold)
(ivy-posframe :background modeline-bg-alt)
;; Markdown mode
(markdown-markup-face :foreground text)
(markdown-header-face :inherit 'bold :foreground red)
((markdown-code-face &override) :background surface)
;; org <built-in>
(org-block :background (doom-blend yellow bg 0.04) :extend t)
(org-block-background :background (doom-blend yellow bg 0.04))
(org-block-begin-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
(org-block-end-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
(org-level-1 :foreground gold)
(org-level-2 :foreground rose)
(org-level-3 :foreground pine)
(org-level-4 :foreground iris)
(org-level-5 :foreground gold)
(org-level-6 :foreground rose)
(org-level-7 :foreground pine)
(org-level-8 :foreground iris)
;; Solaire mode line
(solaire-mode-line-face
:inherit 'mode-line
:background modeline-bg-alt
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-alt)))
(solaire-mode-line-inactive-face
:inherit 'mode-line-inactive
:background modeline-bg-inactive-alt
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive-alt)))
;; Widget
(widget-field :foreground fg :background muted)
(widget-single-line-field :foreground fg :background muted)
;; Swiper
(swiper-line-face :background highlightM)
(swiper-match-face-1 :inherit 'ivy-minibuffer-match-face-1)
(swiper-match-face-2 :inherit 'ivy-minibuffer-match-face-2)
(swiper-match-face-3 :inherit 'ivy-minibuffer-match-face-3)
(swiper-match-face-4 :inherit 'ivy-minibuffer-match-face-4)))
;;; doom-rose-pine-dawn-theme.el ends here

View File

@@ -1,244 +0,0 @@
;;; doom-rose-pine-moon-theme.el --- A medium port of Rosé Pine Moon theme -*- lexical-binding: t; no-byte-compile: t; -*-
;;
;; Author: mvllow
;; Ported by: donniebreve
;; Keywords: custom themes, faces
;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs
;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1"))
;;
;;; Commentary:
;;
;; Thanks to mvllow (https://github.com/rose-pine)
;; Thanks to hlissner (https://github.com/doomemacs/themes)
;;
;;; Code:
(require 'doom-themes)
;;; Variables
(defgroup doom-rose-pine-moon-theme nil
"Options for the `doom-rose-pine-moon' theme."
:group 'doom-themes)
(defcustom doom-rose-pine-moon-brighter-modeline nil
"If non-nil, more vivid colors will be used to style the mode-line."
:group 'doom-rose-pine-moon-theme
:type 'boolean)
(defcustom doom-rose-pine-moon-brighter-comments nil
"If non-nil, comments will be highlighted in more vivid colors."
:group 'doom-rose-pine-moon-theme
:type 'boolean)
(defcustom doom-rose-pine-moon-brighter-text nil
"If non-nil, default text will be brighter."
:group 'doom-rose-pine-moon-theme
:type 'boolean)
(defcustom doom-rose-pine-moon-padded-modeline doom-themes-padded-modeline
"If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding."
:group 'doom-rose-pine-moon-theme
:type '(choice integer boolean))
;;; Theme definition
(def-doom-theme doom-rose-pine-moon
"A medium port of Rosé Pine Moon theme"
;; Main theme colors
(
;; name default 256 16
(base '("#232136" "#232136" "black" ))
(surface '("#2a273f" "#2a273f" "brightblack" ))
(overlay '("#393552" "#393552" "brightblack" ))
(muted '("#6e6a86" "#6e6a86" "brightblack" ))
(subtle '("#908caa" "#908caa" "brightblack" ))
(text '("#e0def4" "#e0def4" "brightblack" ))
(love '("#eb6f92" "#eb6f92" "red" ))
(gold '("#f6c177" "#f6c177" "white" ))
(rose '("#ea9a97" "#ea9a97" "white" ))
(pine '("#3e8fb0" "#3e8fb0" "white" ))
(foam '("#9ccfd8" "#9ccfd8" "white" ))
(iris '("#c4a7e7" "#c4a7e7" "white" ))
(highlightL '("#2a283e" "#2a283e" "white" ))
(highlightM '("#44415a" "#44415a" "white" ))
(highlightH '("#56526e" "#56526e" "white" ))
;; Variables required by doom theme
;; These are required by doom theme and used in various places
(bg base)
(fg text)
;; These are off-color variants of bg/fg, used primarily for `solaire-mode',
;; but can also be useful as a basis for subtle highlights (e.g. for hl-line
;; or region), especially when paired with the `doom-darken', `doom-lighten',
;; and `doom-blend' helper functions.
(bg-alt surface)
(fg-alt text)
;; These should represent a spectrum from bg to fg, where base0 is a starker
;; bg and base8 is a starker fg. For example, if bg is light grey and fg is
;; dark grey, base0 should be white and base8 should be black.
(base0 base)
(base1 surface)
(base2 highlightL)
(base3 overlay)
(base4 highlightM)
(base5 highlightH)
(base6 muted)
(base7 subtle)
(base8 text)
(grey muted)
(red love)
(orange gold)
(green pine)
(teal foam)
(yellow rose)
(pink rose)
(blue pine)
(dark-blue pine)
(magenta iris)
(violet iris)
(cyan foam)
(dark-cyan pine)
;; Variables required by doom theme ends here
;; Required face categories for syntax highlighting
(highlight subtle) ; cursor
(selection base) ; can't figure out where this is used
(region overlay) ; visual selection
(vertical-bar surface) ; window split
(comments (if doom-rose-pine-moon-brighter-comments subtle muted))
(doc-comments (if doom-rose-pine-moon-brighter-comments subtle muted))
(builtin pine)
(constants iris)
(functions pine)
(keywords pine)
(methods foam)
(numbers rose)
(operators gold)
(strings gold)
(type rose)
(variables iris)
(error love)
(success foam)
(warning gold)
(vc-added foam)
(vc-deleted love)
(vc-modified gold)
;; Other categories
;; Modeline
(modeline-bg (if doom-rose-pine-moon-brighter-modeline overlay surface))
(modeline-fg text)
(modeline-bg-alt (if doom-rose-pine-moon-brighter-modeline muted overlay))
(modeline-fg-alt text) ; should this be darker or lighter?
(modeline-bg-inactive base)
(modeline-fg-inactive subtle)
(modeline-bg-inactive-alt base)
(modeline-fg-inactive-alt subtle)
(modeline-pad
(when doom-rose-pine-moon-padded-modeline
if (integerp doom-rose-pine-moon-padded-modeline) doom-rose-pine-padded-modeline 4)))
;; Base theme face overrides
(
;; Font
((font-lock-comment-face &override)
:slant 'italic
:background (if doom-rose-pine-moon-brighter-comments (doom-blend teal base 0.07)))
((font-lock-type-face &override) :slant 'italic)
((font-lock-builtin-face &override) :slant 'italic)
((font-lock-function-name-face &override) :foreground type)
((font-lock-keyword-face &override) :weight 'bold)
((font-lock-constant-face &override) :weight 'bold)
;; Highlight line
(hl-line
:background surface)
;; Line numbers
((line-number &override) :foreground muted)
((line-number-current-line &override) :foreground text)
;; Mode line
(mode-line
:background modeline-bg
:foreground modeline-fg
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg)))
(mode-line-inactive
:background modeline-bg-inactive
:foreground modeline-fg-inactive
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive)))
(mode-line-emphasis
:foreground (if doom-rose-pine-moon-brighter-modeline text subtle))
;; Company
(company-tooltip-selection :background blue :foreground muted)
;; CSS mode <built-in> / scss-mode
(css-proprietary-property :foreground orange)
(css-property :foreground green)
(css-selector :foreground green)
;; Doom mode line
(doom-modeline-bar :background green) ; The line to the left
(doom-modeline-evil-emacs-state :foreground magenta) ; The dot color when in emacs mode
(doom-modeline-evil-normal-state :foreground green) ; The dot color when in normal mode
(doom-modeline-evil-visual-state :foreground magenta) ; The dot color when in visual mode
(doom-modeline-evil-insert-state :foreground orange) ; The dot color when in insert mode
;; Helm
(helm-selection :foreground base :weight 'bold :background blue)
;; Ivy
(ivy-current-match :background overlay :distant-foreground fg)
(ivy-minibuffer-match-face-1 :foreground pine :background nil :weight 'bold)
(ivy-minibuffer-match-face-2 :foreground iris :background nil :weight 'bold)
(ivy-minibuffer-match-face-3 :foreground gold :background nil :weight 'bold)
(ivy-minibuffer-match-face-4 :foreground rose :background nil :weight 'bold)
(ivy-minibuffer-match-highlight :foreground magenta :weight 'bold)
(ivy-posframe :background modeline-bg-alt)
;; Markdown mode
(markdown-markup-face :foreground text)
(markdown-header-face :inherit 'bold :foreground red)
((markdown-code-face &override) :background surface)
;; org <built-in>
(org-block :background (doom-blend yellow bg 0.04) :extend t)
(org-block-background :background (doom-blend yellow bg 0.04))
(org-block-begin-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
(org-block-end-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
(org-level-1 :foreground gold)
(org-level-2 :foreground rose)
(org-level-3 :foreground pine)
(org-level-4 :foreground iris)
(org-level-5 :foreground gold)
(org-level-6 :foreground rose)
(org-level-7 :foreground pine)
(org-level-8 :foreground iris)
;; Solaire mode line
(solaire-mode-line-face
:inherit 'mode-line
:background modeline-bg-alt
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-alt)))
(solaire-mode-line-inactive-face
:inherit 'mode-line-inactive
:background modeline-bg-inactive-alt
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive-alt)))
;; Widget
(widget-field :foreground fg :background muted)
(widget-single-line-field :foreground fg :background muted)
;; Swiper
(swiper-line-face :background highlightM)
(swiper-match-face-1 :inherit 'ivy-minibuffer-match-face-1)
(swiper-match-face-2 :inherit 'ivy-minibuffer-match-face-2)
(swiper-match-face-3 :inherit 'ivy-minibuffer-match-face-3)
(swiper-match-face-4 :inherit 'ivy-minibuffer-match-face-4)))
;;; doom-rose-pine-moon-theme.el ends here

View File

@@ -1,242 +0,0 @@
;;; doom-rose-pine-theme.el --- A dark port of Rosé Pine theme -*- lexical-binding: t; no-byte-compile: t; -*-
;;
;; Author: mvllow
;; Ported by: donniebreve
;; Keywords: custom themes, faces
;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs
;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1"))
;;
;;; Commentary:
;;
;; Thanks to mvllow (https://github.com/rose-pine)
;; Thanks to hlissner (https://github.com/doomemacs/themes)
;;
;;; Code:
(require 'doom-themes)
;;; Variables
(defgroup doom-rose-pine-theme nil
"Options for the `doom-rose-pine' theme."
:group 'doom-themes)
(defcustom doom-rose-pine-brighter-modeline nil
"If non-nil, more vivid colors will be used to style the mode-line."
:group 'doom-rose-pine-theme
:type 'boolean)
(defcustom doom-rose-pine-brighter-comments nil
"If non-nil, comments will be highlighted in more vivid colors."
:group 'doom-rose-pine-theme
:type 'boolean)
(defcustom doom-rose-pine-brighter-text nil
"If non-nil, default text will be brighter."
:group 'doom-rose-pine-theme
:type 'boolean)
(defcustom doom-rose-pine-padded-modeline doom-themes-padded-modeline
"If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding."
:group 'doom-rose-pine-theme
:type '(choice integer boolean))
;;; Theme definition
(def-doom-theme doom-rose-pine
"A dark port of Rosé Pine theme"
;; Main theme colors
(
;; name default 256 16
(base '("#191724" "#191724" "black" ))
(surface '("#1f1d2e" "#1f1d2e" "brightblack" ))
(overlay '("#26233a" "#26233a" "brightblack" ))
(muted '("#6e6a86" "#6e6a86" "brightblack" ))
(subtle '("#908caa" "#908caa" "brightblack" ))
(text '("#e0def4" "#e0def4" "brightblack" ))
(love '("#eb6f92" "#eb6f92" "red" ))
(gold '("#f6c177" "#f6c177" "white" ))
(rose '("#ebbcba" "#ebbcba" "white" ))
(pine '("#31748f" "#31748f" "white" ))
(foam '("#9ccfd8" "#9ccfd8" "white" ))
(iris '("#c4a7e7" "#c4a7e7" "white" ))
(highlightL '("#21202e" "#21202e" "grey" ))
(highlightM '("#403d52" "#403d52" "grey" ))
(highlightH '("#524f67" "#524f67" "grey" ))
;; Variables required by doom theme
;; These are required by doom theme and used in various places
(bg base)
(fg text)
;; These are off-color variants of bg/fg, used primarily for `solaire-mode',
;; but can also be useful as a basis for subtle highlights (e.g. for hl-line
;; or region), especially when paired with the `doom-darken', `doom-lighten',
;; and `doom-blend' helper functions.
(bg-alt surface)
(fg-alt text)
;; These should represent a spectrum from bg to fg, where base0 is a starker
;; bg and base8 is a starker fg. For example, if bg is light grey and fg is
;; dark grey, base0 should be white and base8 should be black.
(base0 base)
(base1 surface)
(base2 highlightL)
(base3 overlay)
(base4 highlightM)
(base5 highlightH)
(base6 muted)
(base7 subtle)
(base8 text)
(grey muted)
(red love)
(orange gold)
(green pine)
(teal pine)
(yellow rose)
(blue pine)
(dark-blue pine)
(magenta iris)
(violet iris)
(cyan foam)
(dark-cyan foam)
;; Variables required by doom theme ends here
;; Required face categories for syntax highlighting
(highlight subtle) ; cursor
(selection base) ; can't figure out where this is used
(region overlay) ; visual selection
(vertical-bar surface) ; window split
(comments (if doom-rose-pine-brighter-comments subtle muted))
(doc-comments (if doom-rose-pine-brighter-comments subtle muted))
(builtin pine)
(constants iris)
(functions pine)
(keywords pine)
(methods foam)
(numbers rose)
(operators gold)
(strings gold)
(type rose)
(variables iris)
(error love)
(success foam)
(warning gold)
(vc-added foam)
(vc-deleted love)
(vc-modified gold)
;; Other categories
;; Modeline
(modeline-bg (if doom-rose-pine-brighter-modeline overlay surface))
(modeline-fg text)
(modeline-bg-alt (if doom-rose-pine-brighter-modeline muted overlay))
(modeline-fg-alt text) ; should this be darker or lighter?
(modeline-bg-inactive base)
(modeline-fg-inactive subtle)
(modeline-bg-inactive-alt base)
(modeline-fg-inactive-alt subtle)
(modeline-pad
(when doom-rose-pine-padded-modeline
if (integerp doom-rose-pine-padded-modeline) doom-rose-pine-padded-modeline 4)))
;; Base theme face overrides
(
;; Font
((font-lock-comment-face &override)
:slant 'italic
:background (if doom-rose-pine-brighter-comments (doom-blend teal base 0.07)))
((font-lock-type-face &override) :slant 'italic)
((font-lock-builtin-face &override) :slant 'italic)
((font-lock-function-name-face &override) :foreground type)
((font-lock-keyword-face &override) :weight 'bold)
((font-lock-constant-face &override) :weight 'bold)
;; Highlight line
(hl-line
:background surface)
;; Line numbers
((line-number &override) :foreground muted)
((line-number-current-line &override) :foreground text)
;; Mode line
(mode-line
:background modeline-bg
:foreground modeline-fg
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg)))
(mode-line-inactive
:background modeline-bg-inactive
:foreground modeline-fg-inactive
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive)))
(mode-line-emphasis
:foreground (if doom-rose-pine-brighter-modeline text subtle))
;; Company
(company-tooltip-selection :background blue :foreground muted)
;; CSS mode <built-in> / scss-mode
(css-proprietary-property :foreground orange)
(css-property :foreground green)
(css-selector :foreground green)
;; Doom mode line
(doom-modeline-bar :background green) ; The line to the left
(doom-modeline-evil-emacs-state :foreground magenta) ; The dot color when in emacs mode
(doom-modeline-evil-normal-state :foreground green) ; The dot color when in normal mode
(doom-modeline-evil-visual-state :foreground magenta) ; The dot color when in visual mode
(doom-modeline-evil-insert-state :foreground orange) ; The dot color when in insert mode
;; Helm
(helm-selection :foreground base :weight 'bold :background blue)
;; Ivy
(ivy-current-match :background overlay :distant-foreground fg)
(ivy-minibuffer-match-face-1 :foreground pine :background nil :weight 'bold)
(ivy-minibuffer-match-face-2 :foreground iris :background nil :weight 'bold)
(ivy-minibuffer-match-face-3 :foreground gold :background nil :weight 'bold)
(ivy-minibuffer-match-face-4 :foreground rose :background nil :weight 'bold)
(ivy-minibuffer-match-highlight :foreground magenta :weight 'bold)
(ivy-posframe :background modeline-bg-alt)
;; Markdown mode
(markdown-markup-face :foreground text)
(markdown-header-face :inherit 'bold :foreground red)
((markdown-code-face &override) :background surface)
;; org <built-in>
(org-block :background (doom-blend yellow bg 0.04) :extend t)
(org-block-background :background (doom-blend yellow bg 0.04))
(org-block-begin-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
(org-block-end-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
(org-level-1 :foreground gold)
(org-level-2 :foreground rose)
(org-level-3 :foreground pine)
(org-level-4 :foreground iris)
(org-level-5 :foreground gold)
(org-level-6 :foreground rose)
(org-level-7 :foreground pine)
(org-level-8 :foreground iris)
;; Solaire mode line
(solaire-mode-line-face
:inherit 'mode-line
:background modeline-bg-alt
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-alt)))
(solaire-mode-line-inactive-face
:inherit 'mode-line-inactive
:background modeline-bg-inactive-alt
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive-alt)))
;; Widget
(widget-field :foreground fg :background muted)
(widget-single-line-field :foreground fg :background muted)
;; Swiper
(swiper-match-face-1 :inherit 'ivy-minibuffer-match-face-1)
(swiper-match-face-2 :inherit 'ivy-minibuffer-match-face-2)
(swiper-match-face-3 :inherit 'ivy-minibuffer-match-face-3)
(swiper-match-face-4 :inherit 'ivy-minibuffer-match-face-4)))
;;; doom-rose-pine-theme.el ends here

View File

@@ -18,17 +18,27 @@
;; Description
;;
;;; Code:
(setq url-proxy-services '(("no_proxy" . "localhost")
("http" . "proxygov.ray.com:80")
("https" . "proxygov.ray.com:80")))
;; (require 'misc)
(setopt treesit-enabled-modes t)
(set-face-attribute 'default nil
:width 'normal :weight 'normal
:slant 'normal :font (font-spec :family "Iosevka Term SS12" :size 18))
:slant 'normal :font (font-spec :family "Iosevka Term SS12" :size 20))
(set-face-attribute 'fixed-pitch nil
:width 'normal :weight 'normal
:slant 'normal :font (font-spec :family "Iosevka Term SS12" :size 18))
(set-face-attribute 'variable-pitch nil
:width 'normal :weight 'normal
:slant 'normal :font (font-spec :family "Gentium Plus" :size 18))
:slant 'normal :font (font-spec :family "Iosevka Term SS12" :size 20))
;; (set-face-attribute 'variable-pitch nil
;; :width 'normal :weight 'normal
;; :slant 'normal :font (font-spec :family "Gentium Plus" :size 18))
(defconst default-mode-line-format (copy-sequence mode-line-format))
(setq dired-kill-when-opening-new-dired-buffer t)
(setq gdb-show-main t
gdb-many-windows t)
(setq elfeed-use-curl nil)
(setq use-short-answers t)
(setq compilation-scroll-output t)
(setq history-length 100
global-auto-revert-non-file-buffers t
use-dialog-box nil
@@ -51,8 +61,16 @@
(save-place-mode 1)
(global-auto-revert-mode 1)
(context-menu-mode 1)
(electric-pair-mode 1)
(electric-indent-mode 1)
(define-globalized-minor-mode global-electric-pair-mode electric-pair-mode
(lambda () (if (memq 'major-mode
'(emacs-lisp-mode common-lisp-mode lisp-mode scheme-mode))
(electric-pair-mode 1))))
(define-globalized-minor-mode global-electric-indent-mode electric-indent-mode
(lambda () (electric-indent-mode 1)))
(global-electric-pair-mode)
(global-electric-indent-mode)
;; (treesit-auto-install-grammar 'ask)
;; (treesit-enabled-modes t)
;; (enable-recursive-minibuffers t)
;; (read-extended-command-predicate #'command-completion-default-include-p)

View File

@@ -1,11 +1,14 @@
;;; -*- lexical-binding: t; -*-
;; (global-set-key (kbd "M-f") #'forward-to-word)
;; (global-set-key (kbd "M-F") #'forward-word)
(global-set-key (kbd "C-c f") #'consult-fd)
(global-set-key (kbd "C-c C-f") #'find-file-at-point)
(global-set-key (kbd "C-c r") #'recentf)
(global-set-key (kbd "C-c x") #'kill-current-buffer)
(global-set-key (kbd "C-c X") (lambda () (interactive) (other-window 1) (kill-buffer-and-window)))
(global-set-key (kbd "C-c X") (lambda () "kill other window" (interactive) (other-window 1) (kill-buffer-and-window)))
(global-set-key (kbd "C-c g") #'consult-ripgrep)
(global-set-key (kbd "C-c C-g") (lambda () (interactive) (let ((current-prefix-arg '(4))) (call-interactively #'consult-ripgrep))))
(global-set-key (kbd "C-c L") #'consult-line)
(global-set-key (kbd "C-c i") #'consult-info)
(global-set-key (kbd "C-c s") #'ispell-word)
@@ -27,8 +30,8 @@
(global-set-key (kbd "C-c k") #'eldoc)
(global-set-key (kbd "C-c m") #'man)
(global-set-key (kbd "C-c o c") (lambda () (interactive) (dired user-init-dir)))
(global-set-key (kbd "C-c o t") (lambda () (interactive) (eshell 'N)))
(global-set-key (kbd "C-c o c") (lambda () "open config" (interactive) (dired user-init-dir)))
(global-set-key (kbd "C-c o t") (lambda () "open eshell" (interactive) (eshell 'N)))
(global-set-key (kbd "C-c o g") #'magit)
(global-set-key (kbd "C-c o e") #'mu4e)
(global-set-key (kbd "C-c o r") #'elfeed-summary)

View File

@@ -37,6 +37,6 @@
(time-subtract after-init-time before-init-time)))
gcs-done))
(add-hook 'emacs-startup-hook #'efs/display-startup-time)
;; (add-hook 'emacs-startup-hook #'efs/display-startup-time)
(provide 'early-init)
;;; early-init.el ends here

View File

@@ -32,6 +32,12 @@
(add-hook 'eshell-load-hook #'eat-eshell-mode)
(use-package vterm
:ensure t)
(use-package devdocs
:ensure t)
(use-package magit
:ensure t
:defer t)
@@ -152,186 +158,193 @@
(mpdel/run-context-hooks 'enter-hooks mpdel/current-context))))
(use-package org
:ensure t
:defer t)
(use-package org-msg
:ensure t
:defer t
:hook ((mu4e-main-mode . org-msg-mode)
(mu4e-compose-mode . org-msg-mode))
:config
(setq mail-user-agent 'mu4e-user-agent)
(setq org-msg-options "html-postamble:nil H:5 num:nil ^:{} toc:nil author:nil email:nil \\n:t"
org-msg-startup "hidestars indent inlineimages"
org-msg-default-alternatives '((new . (text html))
(reply-to-html . (text html))
(reply-to-text . (text)))
org-msg-convert-citation t))
;; active Babel languages
(require 'org-tempo)
(org-babel-do-load-languages
'org-babel-load-languages
'((emacs-lisp . t))))
(use-package mu4e
:ensure t
:commands (mu4e)
:config
(setq mu4e-mu-binary (executable-find "mu"))
(setq mu4e-read-option-use-builtin nil
mu4e-completing-read-function 'completing-read)
;; this is the directory we created before:
(setq mu4e-maildir "~/.local/share/mail/")
;; this command is called to sync imap servers:
(setq mu4e-get-mail-command (concat (executable-find "mbsync") " -a"))
;; how often to call it in seconds:
(setq mu4e-update-interval 300)
;; save attachment to desktop by default
;; or another choice of yours:
(setq mu4e-attachment-dir "~/Downloads")
;; rename files when moving - needed for mbsync:
(setq mu4e-change-filenames-when-moving t)
;; list of your email adresses:
(setq mu4e-user-mail-address-list '("mikecchalupiak@outlook.com"
"chalupmc@rose-hulman.edu"
"mikec@mchalupiak.com"
"spamreciver1@outlook.com"))
; the following is to show shortcuts in the main view.
(setq mu4e-bookmarks ())
(add-to-list 'mu4e-bookmarks
'(:name "spamreciver"
:query "maildir:/spamreciver1@outlook.com/INBOX"
:key ?s))
(add-to-list 'mu4e-bookmarks
'(:name "mchalupiak.com"
:query "maildir:/mikec@mchalupiak.com/INBOX"
:key ?h))
(add-to-list 'mu4e-bookmarks
'(:name "rose"
:query "maildir:/chalupmc@rose-hulman.edu/INBOX"
:key ?r))
(add-to-list 'mu4e-bookmarks
'(:name "outlook"
:query "maildir:/mikecchalupiak@outlook.com/INBOX"
:key ?o))
;; (use-package org-msg
;; :ensure t
;; :defer t
;; :hook ((mu4e-main-mode . org-msg-mode)
;; (mu4e-compose-mode . org-msg-mode))
;; :config
;; (setq mail-user-agent 'mu4e-user-agent)
;; (setq org-msg-options "html-postamble:nil H:5 num:nil ^:{} toc:nil author:nil email:nil \\n:t"
;; org-msg-startup "hidestars indent inlineimages"
;; org-msg-default-alternatives '((new . (text html))
;; (reply-to-html . (text html))
;; (reply-to-text . (text)))
;; org-msg-convert-citation t))
(setq mu4e-contexts
`(,(make-mu4e-context
:name "outlook"
:match-func
(lambda (msg)
(when msg
(mu4e-message-contact-field-matches msg
:to "mikecchalupiak@outlook.com")))
:vars '((user-mail-address . "mikecchalupiak@outlook.com")
(user-full-name . "Michael Chalupiak")
(mu4e-drafts-folder . "/mikecchalupiak@outlook.com/Drafts")
(mu4e-refile-folder . "/mikecchalupiak@outlook.com/Archive")
(mu4e-sent-folder . "/mikecchalupiak@outlook.com/Sent")
(mu4e-trash-folder . "/mikecchalupiak@outlook.com/Trash")))
;; (use-package mu4e
;; :ensure t
;; :commands (mu4e)
;; :config
;; (setq mu4e-mu-binary (executable-find "mu"))
,(make-mu4e-context
:name "rose"
:match-func
(lambda (msg)
(when msg
(mu4e-message-contact-field-matches msg
:to "chalupmc@rose-hulman.edu")))
:vars '((user-mail-address . "chalupmc@rose-hulman.edu")
(user-full-name . "Michael Chalupiak")
(mu4e-drafts-folder . "/chalupmc@rose-hulman.edu/Drafts")
(mu4e-refile-folder . "/chalupmc@rose-hulman.edu/Archive")
(mu4e-sent-folder . "/chalupmc@rose-hulman.edu/Sent")
(mu4e-trash-folder . "/chalupmc@rose-hulman.edu/Trash")))
;; (setq mu4e-read-option-use-builtin nil
;; mu4e-completing-read-function 'completing-read)
;; ;; this is the directory we created before:
;; (setq mu4e-maildir "~/.local/share/mail/")
,(make-mu4e-context
:name "hosted"
:match-func
(lambda (msg)
(when msg
(mu4e-message-contact-field-matches msg
:to "mikec@mchalupiak.com")))
:vars '((user-mail-address . "mikec@mchalupiak.com")
(user-full-name . "Michael Chalupiak")
;; check your ~/.maildir to see how the subdirectories are called
;; e.g `ls ~/.maildir/example'
(mu4e-drafts-folder . "/mikec@mchalupiak.com/Drafts")
(mu4e-refile-folder . "/mikec@mchalupiak.com/Archive")
(mu4e-sent-folder . "/mikec@mchalupiak.com/Sent")
(mu4e-trash-folder . "/mikec@mchalupiak.com/Trash")))
,(make-mu4e-context
:name "spam"
:match-func
(lambda (msg)
(when msg
(mu4e-message-contact-field-matches msg
:to "spamreciver1@outlook.com")))
:vars '((user-mail-address . "spamreciver1@outlook.com")
(user-full-name . "spamreciver")
;; check your ~/.maildir to see how the subdirectories are called
;; e.g `ls ~/.maildir/example'
(mu4e-drafts-folder . "/spamreciver1@outlook.com/Drafts")
(mu4e-refile-folder . "/spamreciver1@outlook.com/Archive")
(mu4e-sent-folder . "/spamreciver1@outlook.com/Sent")
(mu4e-trash-folder . "/spamreciver1@outlook.com/Trash")))))
;; ;; this command is called to sync imap servers:
;; (setq mu4e-get-mail-command (concat (executable-find "mbsync") " -a"))
;; ;; how often to call it in seconds:
;; (setq mu4e-update-interval 300)
(setq mu4e-context-policy 'pick-first) ;; start with the first (default) context;
(setq mu4e-compose-context-policy 'ask)
; gpg encryptiom & decryption:
;; this can be left alone
(require 'epa-file)
(epa-file-enable)
(setq epa-pinentry-mode 'loopback)
(auth-source-forget-all-cached)
;; ;; save attachment to desktop by default
;; ;; or another choice of yours:
;; (setq mu4e-attachment-dir "~/Downloads")
;; don't keep message compose buffers around after sending:
(setq message-kill-buffer-on-exit t)
;; ;; rename files when moving - needed for mbsync:
;; (setq mu4e-change-filenames-when-moving t)
;; send function:
(setq send-mail-function 'message-send-mail-with-sendmail
message-send-mail-function 'message-send-mail-with-sendmail)
;; ;; list of your email adresses:
;; (setq mu4e-user-mail-address-list '("mikecchalupiak@outlook.com"
;; "chalupmc@rose-hulman.edu"
;; "mikec@mchalupiak.com"
;; "spamreciver1@outlook.com"))
;; ; the following is to show shortcuts in the main view.
;; (setq mu4e-bookmarks ())
;; (add-to-list 'mu4e-bookmarks
;; '(:name "spamreciver"
;; :query "maildir:/spamreciver1@outlook.com/INBOX"
;; :key ?s))
;; (add-to-list 'mu4e-bookmarks
;; '(:name "mchalupiak.com"
;; :query "maildir:/mikec@mchalupiak.com/INBOX"
;; :key ?h))
;; (add-to-list 'mu4e-bookmarks
;; '(:name "rose"
;; :query "maildir:/chalupmc@rose-hulman.edu/INBOX"
;; :key ?r))
;; (add-to-list 'mu4e-bookmarks
;; '(:name "outlook"
;; :query "maildir:/mikecchalupiak@outlook.com/INBOX"
;; :key ?o))
;; send program:
;; this is exeranal. remember we installed it before.
(setq sendmail-program (executable-find "msmtp"))
;; select the right sender email from the context.
(setq message-sendmail-envelope-from 'header)
;; (setq mu4e-contexts
;; `(,(make-mu4e-context
;; :name "outlook"
;; :match-func
;; (lambda (msg)
;; (when msg
;; (mu4e-message-contact-field-matches msg
;; :to "mikecchalupiak@outlook.com")))
;; :vars '((user-mail-address . "mikecchalupiak@outlook.com")
;; (user-full-name . "Michael Chalupiak")
;; (mu4e-drafts-folder . "/mikecchalupiak@outlook.com/Drafts")
;; (mu4e-refile-folder . "/mikecchalupiak@outlook.com/Archive")
;; (mu4e-sent-folder . "/mikecchalupiak@outlook.com/Sent")
;; (mu4e-trash-folder . "/mikecchalupiak@outlook.com/Trash")))
;; chose from account before sending
;; this is a custom function that works for me.
;; well I stole it somewhere long ago.
;; I suggest using it to make matters easy
;; of course adjust the email adresses and account descriptions
(defun timu/set-msmtp-account ()
(if (message-mail-p)
(save-excursion
(let*
((from (save-restriction
(message-narrow-to-headers)
(message-fetch-field "from")))
(account
(cond
((string-match "mikecchalupiak@outlook.com" from) "outlook")
((string-match "chalupmc@rose-hulman.edu" from) "rose")
((string-match "mikec@mchalupiak.com" from) "hosted")
((string-match "spamreciver1@outlook.com" from) "spam"))))
(setq message-sendmail-extra-arguments (list '"-a" account)))))
;; ,(make-mu4e-context
;; :name "rose"
;; :match-func
;; (lambda (msg)
;; (when msg
;; (mu4e-message-contact-field-matches msg
;; :to "chalupmc@rose-hulman.edu")))
;; :vars '((user-mail-address . "chalupmc@rose-hulman.edu")
;; (user-full-name . "Michael Chalupiak")
;; (mu4e-drafts-folder . "/chalupmc@rose-hulman.edu/Drafts")
;; (mu4e-refile-folder . "/chalupmc@rose-hulman.edu/Archive")
;; (mu4e-sent-folder . "/chalupmc@rose-hulman.edu/Sent")
;; (mu4e-trash-folder . "/chalupmc@rose-hulman.edu/Trash")))
(add-hook 'message-send-mail-hook 'timu/set-msmtp-account)
;; ,(make-mu4e-context
;; :name "hosted"
;; :match-func
;; (lambda (msg)
;; (when msg
;; (mu4e-message-contact-field-matches msg
;; :to "mikec@mchalupiak.com")))
;; :vars '((user-mail-address . "mikec@mchalupiak.com")
;; (user-full-name . "Michael Chalupiak")
;; ;; check your ~/.maildir to see how the subdirectories are called
;; ;; e.g `ls ~/.maildir/example'
;; (mu4e-drafts-folder . "/mikec@mchalupiak.com/Drafts")
;; (mu4e-refile-folder . "/mikec@mchalupiak.com/Archive")
;; (mu4e-sent-folder . "/mikec@mchalupiak.com/Sent")
;; (mu4e-trash-folder . "/mikec@mchalupiak.com/Trash")))
;; ,(make-mu4e-context
;; :name "spam"
;; :match-func
;; (lambda (msg)
;; (when msg
;; (mu4e-message-contact-field-matches msg
;; :to "spamreciver1@outlook.com")))
;; :vars '((user-mail-address . "spamreciver1@outlook.com")
;; (user-full-name . "spamreciver")
;; ;; check your ~/.maildir to see how the subdirectories are called
;; ;; e.g `ls ~/.maildir/example'
;; (mu4e-drafts-folder . "/spamreciver1@outlook.com/Drafts")
;; (mu4e-refile-folder . "/spamreciver1@outlook.com/Archive")
;; (mu4e-sent-folder . "/spamreciver1@outlook.com/Sent")
;; (mu4e-trash-folder . "/spamreciver1@outlook.com/Trash")))))
;; mu4e cc & bcc
;; this is custom as well
(add-hook 'mu4e-compose-mode-hook
(defun timu/add-cc-and-bcc ()
"My Function to automatically add Cc & Bcc: headers.
This is in the mu4e compose mode."
(save-excursion (message-add-header "Cc:\n"))
(save-excursion (message-add-header "Bcc:\n"))))))
;; ask for context if no context matches;)))
;; (setq mu4e-context-policy 'pick-first) ;; start with the first (default) context;
;; (setq mu4e-compose-context-policy 'ask)
;; ; gpg encryptiom & decryption:
;; ;; this can be left alone
;; (require 'epa-file)
;; (epa-file-enable)
;; (setq epa-pinentry-mode 'loopback)
;; (auth-source-forget-all-cached)
;; ;; don't keep message compose buffers around after sending:
;; (setq message-kill-buffer-on-exit t)
;; ;; send function:
;; (setq send-mail-function 'message-send-mail-with-sendmail
;; message-send-mail-function 'message-send-mail-with-sendmail)
;; ;; send program:
;; ;; this is exeranal. remember we installed it before.
;; (setq sendmail-program (executable-find "msmtp"))
;; ;; select the right sender email from the context.
;; (setq message-sendmail-envelope-from 'header)
;; ;; chose from account before sending
;; ;; this is a custom function that works for me.
;; ;; well I stole it somewhere long ago.
;; ;; I suggest using it to make matters easy
;; ;; of course adjust the email adresses and account descriptions
;; (defun timu/set-msmtp-account ()
;; (if (message-mail-p)
;; (save-excursion
;; (let*
;; ((from (save-restriction
;; (message-narrow-to-headers)
;; (message-fetch-field "from")))
;; (account
;; (cond
;; ((string-match "mikecchalupiak@outlook.com" from) "outlook")
;; ((string-match "chalupmc@rose-hulman.edu" from) "rose")
;; ((string-match "mikec@mchalupiak.com" from) "hosted")
;; ((string-match "spamreciver1@outlook.com" from) "spam"))))
;; (setq message-sendmail-extra-arguments (list '"-a" account)))))
;; (add-hook 'message-send-mail-hook 'timu/set-msmtp-account)
;; ;; mu4e cc & bcc
;; ;; this is custom as well
;; (add-hook 'mu4e-compose-mode-hook
;; (defun timu/add-cc-and-bcc ()
;; "My Function to automatically add Cc & Bcc: headers.
;; This is in the mu4e compose mode."
;; (save-excursion (message-add-header "Cc:\n"))
;; (save-excursion (message-add-header "Bcc:\n"))))))
;; ;; ask for context if no context matches;)))
(use-package elfeed
:ensure t
@@ -366,20 +379,19 @@
'( ("https://phaazon.net/blog/feed")
("https://irreal.org/blog/?feed=rss2")
("https://port19.xyz/rss.xml")
("https://www.gingerbill.org/article/index.xml")
("https://lukesmith.xyz/index.xml")
("https://notrelated.xyz/rss")
("https://karl-voit.at/feeds/lazyblorg-all.atom_1.0.links-and-content.xml")
;("https://sizeof.cat/index.xml")
("https://www.youtube.com/feeds/videos.xml?channel_id=UCkKmeTinUEU27syZPKrzWQQ")
("https://www.youtube.com/feeds/videos.xml?playlist_id=PLq1vmb-z7PpQt2PDNUr7XOzBjWAOWf0Rt")
("https://danielde.dev/rss.xml")
("https://pkolaczk.github.io/feed.xml")
("https://joeyh.name/blog/index.rss")
("https://kagifeedback.org/atom/t/release-notes")
("https://api.substack.com/feed/podcast/462466.rss")
("https://www.dailywire.com/feeds/rss.xml")
("https://feeds.simplecast.com/6c2VScgo")
("https://feeds.simplecast.com/pp_b9xO6")))
("https://kagifeedback.org/atom/t/release-notes")))
;; ("https://api.substack.com/feed/podcast/462466.rss")
;; ("https://www.dailywire.com/feeds/rss.xml")
;; ("https://feeds.simplecast.com/6c2VScgo")
;; ("https://feeds.simplecast.com/pp_b9xO6")))
(defun elfeed/show-eww-open (&optional use-generic-p)
"open with eww"
(interactive "P")

View File

@@ -19,14 +19,14 @@
;;
;;; Code:
(use-package treesit-auto
:ensure t
;; :defer t
:custom
(treesit-auto-install t)
:config
(treesit-auto-add-to-auto-mode-alist 'all)
(global-treesit-auto-mode))
;; (use-package treesit-auto
;; :ensure t
;; ;; :defer t
;; :custom
;; (treesit-auto-install t)
;; :config
;; (treesit-auto-add-to-auto-mode-alist 'all)
;; (global-treesit-auto-mode))
;; (use-package gitconfig-mode
;; :ensure t
@@ -89,9 +89,13 @@
(add-to-list 'auto-mode-alist '("\\.odin\\'" . odin-ts-mode))
(add-to-list 'auto-mode-alist '("\\.zig\\(?:\\.zon\\)?\\'" . zig-ts-mode))
(defvar treesit-language-source-alist '())
;; (straight-use-package '(tree-sitter-langs :type git :host github
;; :repo "emacs-tree-sitter/tree-sitter-langs"))
;; (defvar treesit-language-source-alist '())
(add-to-list 'treesit-language-source-alist '(odin "https://github.com/tree-sitter-grammars/tree-sitter-odin"))
(add-to-list 'treesit-language-source-alist '(zig "https://github.com/tree-sitter-grammars/tree-sitter-zig"))
(add-to-list 'treesit-language-source-alist '(go "https://github.com/tree-sitter/tree-sitter-go"))
(add-to-list 'treesit-language-source-alist '(gomod "https://github.com/camdencheek/tree-sitter-go-mod"))
(provide 'lang)
;;; lang.el ends here

View File

@@ -39,4 +39,5 @@
(load bootstrap-file nil 'nomessage))
(provide 'straight)
;;; straight.el ends here

View File

@@ -329,10 +329,12 @@
;; Don't highlight current level indentation; it's distracting and is
;; unnecessary overhead for little benefit.
indent-bars-highlight-current-depth nil)
(add-hook 'prog-mode-hook #'indent-bars-mode 50)
(add-hook 'text-mode-hook #'indent-bars-mode 50)
:custom
(indent-bars-no-descend-lists t) ; no extra bars in continued func arg lists
(indent-bars-treesit-support t)
(indent-bars-treesit-ignore-blank-lines-types '("module"))
(indent-bars-treesit-ignore-blank-lines-types '("module")))
;; Add other languages as needed
;; (indent-bars-treesit-scope '((python function_definition class_definition for_statement
;; if_statement with_statement while_statement)))
@@ -341,7 +343,7 @@
;; list list_comprehension
;; dictionary dictionary_comprehension
;; parenthesized_expression subscript)))
:hook ((prog-mode text-mode) . indent-bars-mode))
(use-package dashboard
:ensure t

View File

@@ -19,11 +19,47 @@
;;
;;; Code:
(use-package system-packages
:ensure t)
(use-package exec-path-from-shell
:ensure t
:config
(defun copy-ssh-agent ()
"copy env variables for ssh agent"
(interactive)
(exec-path-from-shell-copy-env "SSH_AGENT_PID")
(exec-path-from-shell-copy-env "SSH_AUTH_SOCK"))
(copy-ssh-agent))
(use-package dumb-jump
:ensure t
:config
(setq dumb-jump-prefer-searcher 'ag)
(setq xref-show-definitions-function #'consult-xref)
(add-hook 'xref-backend-functions #'dumb-jump-xref-activate))
(use-package surround
:ensure t
:defer t
:bind-keymap ("M-'" . surround-keymap))
(use-package expand-region
:ensure t
:bind (("C-= =" . er/expand-region)
("C-= w" . er/mark-word)
("C-= s" . er/mark-symbol)
("C-= S" . er/mark-symbol-with-prefix)
("C-= f" . er/mark-defun)
("C-= c" . er/mark-comment)
("C-= m" . er/mark-method-call)
("C-= a" . er/mark-next-accessor)
("C-= p" . er/mark-inside-pairs)
("C-= P" . er/mark-outside-pairs)
("C-= '" . er/mark-inside-quotes)
("C-= \"" . er/mark-outside-quotes)))
(use-package dirvish
:ensure t
:defer t
@@ -43,7 +79,8 @@
:ensure t
:defer 5
:config
(dtrt-indent-global-mode 1))
(add-hook 'prog-mode-hook #'dtrt-indent-mode)
(add-hook 'text-mode-hook #'dtrt-indent-mode))
(use-package undo-fu
:ensure t
@@ -55,17 +92,6 @@
(setq undo-fu-session-incompatible-files '("/COMMIT_EDITMSG\\'" "/git-rebase-todo\\'"))
(undo-fu-session-global-mode))
(use-package blamer
:ensure t
; :bind (("s-i" . blamer-show-commit-info)
; ("C-c i" . blamer-show-posframe-commit-info))
:defer 10
:custom
(blamer-idle-time 0.2)
(blamer-min-offset 70)
:config
(global-blamer-mode 1))
(use-package git-gutter
:defer 10
:hook (prog-mode . git-gutter-mode)

View File

@@ -1,5 +1 @@
# This file is written by nwg-look. Do not edit.
[Icon Theme]
Name=Default
Comment=Default Cursor Theme
Inherits=BreezeX-RosePineDawn-Linux

View File

@@ -10,7 +10,7 @@ set -ga terminal-overrides ",xterm-256color:Tc"
set -g mouse on
# Changes prefix key to control a instead of control b
unbind C-b
set-option -g prefix C-a
set-option -g prefix C-Space
set -sg escape-time 25
setw -g mode-keys vi
bind b choose-tree
@@ -19,12 +19,15 @@ bind-key h select-pane -L
bind-key j select-pane -D
bind-key k select-pane -U
bind-key l select-pane -R
bind-key a last-window
set -g status-style "bg=default"
set -g status-position top
set -g window-status-current-style "fg=yellow"
set -g window-status-style "fg=magenta"
set -g base-index 1
set-option -g lock-after-time 0
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'git@github.com:user/plugin'
@@ -32,8 +35,9 @@ set -g base-index 1
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
# run '~/.tmux/plugins/tpm/tpm'
#run-shell "tmux source-file ~/.local/share/tinted-theming/tinty/repos/tinted-tmux/colors/base16-$BASE16_THEME.conf"
set -g prefix None
bind -Troot C-a switchc -Tprefix
bind -Tprefix C-x if -F '#{s/empty//:key-table}' 'set key-table empty' 'set -u key-table'
bind -Tempty C-x switchc -Tprefix
#
# set -g prefix None
# bind -Troot C-Space switchc -Tprefix
# bind -Tprefix C-x if -F '#{s/empty//:key-table}' 'set key-table empty' 'set -u key-table'
# bind -Tempty C-x switchc -Tprefix
set -g set-clipboard on

View File

@@ -16,6 +16,7 @@ config.color_scheme = appearance_themes[appearance] or 'carbonfox'
config.font_size = 14
config.enable_tab_bar = true
config.use_fancy_tab_bar = false
-- config.window_decorations = "RESIZE"
-- config.front_end = "WebGpu"
-- config.integrated_title_button_style = "Gnome"