diff --git a/.doom.d/config.el b/.doom.d/config.el index 4303f2f..e7b2bcd 100644 --- a/.doom.d/config.el +++ b/.doom.d/config.el @@ -83,3 +83,6 @@ ;; Swap visual char and visual block mode (define-key evil-visual-state-map (kbd "v") 'evil-visual-block) (define-key evil-visual-state-map (kbd "C-v") 'evil-visual-char) + +;; projectile discovery +(setq projectile-project-search-path '(("~/src/" . 1))) diff --git a/.doom.d/init.el b/.doom.d/init.el index d327918..d2a5f08 100644 --- a/.doom.d/init.el +++ b/.doom.d/init.el @@ -4,8 +4,8 @@ ;; 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 "Module Index" link where you'll find -;; a comprehensive list of Doom's modules and what flags they support. +;; 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 @@ -15,35 +15,38 @@ ;; directory (for easy access to its source code). (doom! :input + ;;bidi ; (tfel ot) thgir etirw uoy gnipleh ;;chinese - japanese + japanese + ;;layout ; auie,ctsrnm is the superior home row :completion - (company +tng) ; the ultimate code completion backend + company ; the ultimate code completion backend ;;helm ; the *other* search engine for love and life ;;ido ; the other *other* search engine... - (ivy +fuzzy +icons) ; a search engine for love and life + (ivy + fuzzy + icons) ; 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 - fill-column ; a `fill-column' indicator + ;;(emoji +unicode) ; 🙂 hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW ;;hydra ;;indent-guides ; highlighted indent columns - minimap ; show a map of the code on the side + ;;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 - ;;pretty-code ; ligatures or substitute text with pretty symbols - ;;tabs ; an tab bar for Emacs + ;;tabs ; a tab bar for Emacs treemacs ; a project drawer, like neotree but cooler unicode ; extended unicode support for various languages - vc-gutter ; vcs diff in the fringe + (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 @@ -56,11 +59,11 @@ (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 + ;;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 + ;;snippets ; my elves. They type so I don't have to word-wrap ; soft wrapping with language-aware indent :emacs @@ -78,20 +81,21 @@ :checkers syntax ; tasing you for every semicolon you forget - spell ; tasing you for misspelling mispelling + (spell +flyspell) ; tasing you for misspelling mispelling grammar ; tasing grammar mistake every you make :tools ;;ansible - debugger ; FIXME stepping through code, to help you add bugs + ;;biblio ; Writes a PhD for you (citation needed) + ;;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 ; navigate your code and its documentation - lsp + (lookup +dictionary +docsets) ; 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 @@ -101,6 +105,7 @@ ;;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 @@ -109,7 +114,8 @@ :lang ;;agda ; types of types of types of types... - cc ; C/C++/Obj-C madness + ;;beancount ; mind the GAAP + (cc +lsp) ; C > C++ == 1 ;;clojure ; java with a lisp ;;common-lisp ; if you've seen one lisp, you've seen them all ;;coq ; proofs-as-programs @@ -117,66 +123,72 @@ ;;csharp ; unity, .NET, and mono shenanigans ;;data ; config/data formats ;;(dart +flutter) ; paint ui and not much else + ;;dhall ;;elixir ; erlang done right ;;elm ; care for a cup of TEA? - emacs-lisp ; drown in parentheses + 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) ; the hipster dialect - ;;(haskell +dante) ; a language that's lazier than I am + ;;(graphql +lsp) ; Give queries a REST + ;;(haskell +lsp) ; a language that's lazier than I am ;;hy ; readability of scheme w/ speed of python - ;;idris ; + ;;idris ; a language you can depend on ;;json ; At least it ain't XML - ;;(java +meghanada) ; the poster child for carpal tunnel syndrome + ;;(java +lsp) ; the poster child for carpal tunnel syndrome ;;javascript ; all(hope(abandon(ye(who(enter(here)))))) ;;julia ; a better, faster MATLAB ;;kotlin ; a better, slicker Java(Script) ;;latex ; writing papers in Emacs has never been so fun - ;;lean - ;;factor - ;;ledger ; an accounting system in Emacs + ;;lean ; for folks with too much to prove + ;;ledger ; be audit you can be ;;lua ; one-based indices? one-based indices - markdown ; writing docs for people to ignore - (nim + lsp) ; python + lisp at the speed of c + 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 + 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 ; beautiful is better than ugly + (python +lsp +pyenv) ; beautiful is better than ugly ;;qt ; the 'cutest' gui framework ever ;;racket ; a DSL for DSLs ;;raku ; the artist formerly known as perl6 ;;rest ; Emacs as a REST client ;;rst ; ReST in peace ;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} - rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap() + (rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() ;;scala ; java, but good - ;;scheme ; a fully conniving family of lisps - sh ; she sells {ba,z,fi}sh shells on the C xor + ;;(scheme +guile) ; a fully conniving family of lisps + (sh +lsp) ; 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 ; the tubes - yaml ; JSON, but readable + (yaml +lsp) ; JSON, but readable + ;;zig ; C, but simpler :email - ;;(mu4e +gmail) + ;;(mu4e +org +gmail) ;;notmuch ;;(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)) + (default +bindings +smartparens)) diff --git a/.doom.d/packages.el b/.doom.d/packages.el index 2a00337..95f3889 100644 --- a/.doom.d/packages.el +++ b/.doom.d/packages.el @@ -11,7 +11,7 @@ ;; 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/raxod502/straight.el#the-recipe-format +;; https://github.com/radian-software/straight.el#the-recipe-format ;(package! another-package ; :recipe (:host github :repo "username/repo")) @@ -34,7 +34,7 @@ ;; 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 raxod502/straight.el#279) +;; 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. @@ -48,18 +48,9 @@ ;(unpin! pinned-package another-pinned-package) ;; ...Or *all* packages (NOT RECOMMENDED; will likely break things) ;(unpin! t) -;; Set up package.el to work with MELPA -(require 'package) -(add-to-list 'package-archives - '("melpa" . "https://melpa.org/packages/")) -(package-initialize) -(package-refresh-contents) - -;; Download Evil -(unless (package-installed-p 'evil) - (package-install 'evil)) (package! treemacs) (package! nim-mode) (package! rainbow-mode) (package! ewal-doom-themes) +(package! exec-path-from-shell) diff --git a/.p10k.zsh b/.p10k.zsh index fc17ea2..f736f3e 100644 --- a/.p10k.zsh +++ b/.p10k.zsh @@ -1720,7 +1720,7 @@ # - verbose: Enable instant prompt and print a warning when detecting console output during # zsh initialization. Choose this if you've never tried instant prompt, haven't # seen the warning, or if you are unsure what this all means. - typeset -g POWERLEVEL9K_INSTANT_PROMPT=verbose + typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet # Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized. # For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload diff --git a/.skhdrc b/.skhdrc index e41e638..ad7524c 100755 --- a/.skhdrc +++ b/.skhdrc @@ -42,13 +42,13 @@ shift + ctrl - 8 : yabai -m window --space 9 && yabai -m space --focus 9 shift + ctrl - 0 : yabai -m window --space 10 && yabai -m space --focus 10 # Resize windows -shift + alt - left : yabai -m window --resize left:-50:0; \ - yabai -m window --resize right:-50:0 -shift + alt - down : yabai -m window --resize bottom:0:50; \ - yabai -m window --resize top:0:50 -shift + alt - up : yabai -m window --resize top:0:-50; \ - yabai -m window --resize bottom:0:-50 -shift + alt - right : yabai -m window --resize right:50:0; \ +alt - left : yabai -m window --resize left:-50:0; \ + yabai -m window --resize right:-50:0 +alt - down : yabai -m window --resize bottom:0:50; \ + yabai -m window --resize top:0:50 +alt - up : yabai -m window --resize top:0:-50; \ + yabai -m window --resize bottom:0:-50 +alt - right : yabai -m window --resize right:50:0; \ yabai -m window --resize left:50:0 # Changes spaces @@ -64,8 +64,8 @@ shift + alt - right : yabai -m window --resize right:50:0; \ # ctrl - 0 : yabai -m space --focus 10 # Make window native fullscreen -ctrl - f : yabai -m window --toggle zoom-fullscreen -shift + ctrl - f : yabai -m window --toggle native-fullscreen +# ctrl - f : yabai -m window --toggle zoom-fullscreen +# shift + ctrl - f : yabai -m window --toggle native-fullscreen # Float / Unfloat window ctrl + shift - space : \ @@ -77,3 +77,5 @@ cmd - h [ "alacritty" : skhd -k "" "iTerm2" : skhd -k "" ] +cmd + shift - n : /opt/homebrew/bin/emacs +cmd + shift - f : /Applications/Firefox.app/Contents/MacOS/firefox -new-window diff --git a/.yabairc b/.yabairc index b1f8970..52b5d17 100755 --- a/.yabairc +++ b/.yabairc @@ -15,8 +15,8 @@ # yabai -m signal --add event=dock_did_restart action="sudo yabai --load-sa" # See: https://github.com/koekeishiya/yabai/wiki/Installing-yabai-(latest-release)#macos-big-sur---automatically-load-scripting-addition-on-startup -sudo yabai --load-sa yabai -m signal --add event=dock_did_restart action="sudo yabai --load-sa" +sudo yabai --load-sa source ~/.cache/wal/colors.sh # pywal scheme - update if needed @@ -73,7 +73,7 @@ yabai -m config window_gap 10 yabai -m space 1 --label main yabai -m space 2 --label secondary yabai -m space 3 --label random -yabai -m space 4 --label extra --layout float +yabai -m space 4 --label extra # ===== Rules ==================================