Recent updates
This commit is contained in:
@@ -98,3 +98,161 @@
|
|||||||
(operators normal)
|
(operators normal)
|
||||||
(prettify insert)
|
(prettify insert)
|
||||||
slurp/barf)))
|
slurp/barf)))
|
||||||
|
|
||||||
|
(use-package! kubernetes-overview
|
||||||
|
:commands (kubernetes-overview)
|
||||||
|
:config
|
||||||
|
(setq kubernetes-poll-frequency 3600
|
||||||
|
kubernetes-redraw-frequency 3600))
|
||||||
|
|
||||||
|
(use-package! kubernetes-evil
|
||||||
|
:after kubernetes-overview)
|
||||||
|
|
||||||
|
(use-package! ledger-mode
|
||||||
|
:mode "\\.ledger\\'")
|
||||||
|
|
||||||
|
(use-package! evil-ledger
|
||||||
|
:after ledger-mode
|
||||||
|
:config
|
||||||
|
(add-hook 'ledger-mode-hook #'evil-ledger-mode))
|
||||||
|
|
||||||
|
|
||||||
|
; (use-package! org-transclusion
|
||||||
|
; :after org)
|
||||||
|
|
||||||
|
(setq lsp-java-jdt-download-url "https://www.eclipse.org/downloads/download.php?file=/jdtls/milestones/1.42.0/jdt-language-server-1.42.0-202411281516.tar.gz")
|
||||||
|
|
||||||
|
(setq sql-connection-alist
|
||||||
|
'((local
|
||||||
|
(sql-product 'mysql)
|
||||||
|
(sql-server "127.0.0.1")
|
||||||
|
(sql-user "root")
|
||||||
|
(sql-password "test")
|
||||||
|
(sql-database "ebdb")
|
||||||
|
(sql-port 3306))
|
||||||
|
(dev
|
||||||
|
(sql-product 'mysql)
|
||||||
|
(sql-server "kube-db.dev.internal.shibumi.com")
|
||||||
|
(sql-user "joe.frikker")
|
||||||
|
(sql-password "psStCkHDMJ2DyR6x")
|
||||||
|
(sql-database "mothership")
|
||||||
|
(sql-port 3306)
|
||||||
|
(sql-default-directory "/ssh:bastion.dev.internal.shibumi.com:"))))
|
||||||
|
|
||||||
|
(after! projectile
|
||||||
|
(setq projectile-indexing-method 'alien))
|
||||||
|
|
||||||
|
(after! magit
|
||||||
|
(setq magit-list-refs-sortby "-committerdate"))
|
||||||
|
|
||||||
|
(setq lsp-java-configuration-maven-user-settings "/Users/jfrikker/.m2/settings.xml")
|
||||||
|
|
||||||
|
(after! org
|
||||||
|
(setq org-todo-keywords
|
||||||
|
'((sequence
|
||||||
|
"TODO(o)" ; A task that needs doing
|
||||||
|
"IN_PROGRESS(p!)" ; Task is in progress
|
||||||
|
"HOLD(h@)" ; Task is being held up or paused
|
||||||
|
"|"
|
||||||
|
"DONE(d!)"
|
||||||
|
"CANCELLED(c@)"))
|
||||||
|
org-todo-keyword-faces
|
||||||
|
'(("IN_PROGRESS" . +org-todo-active)
|
||||||
|
("HOLD" . +org-todo-onhold)
|
||||||
|
("CANCELLED" . +org-todo-cancel)))
|
||||||
|
|
||||||
|
(setq org-capture-templates
|
||||||
|
'(("t" "Personal todo" entry
|
||||||
|
(file+headline +org-capture-todo-file "Inbox")
|
||||||
|
"* TODO %?\n%i\n%a" :prepend t)
|
||||||
|
("d" "Decision" entry
|
||||||
|
(file+headline "decisions.org" "Unfiled")
|
||||||
|
"* %?\n:properties:\n%^{ORG-LEVEL|Sprint Team}p:end:\n#What\n\n#Why\n\n#When\n\n%u"))))
|
||||||
|
|
||||||
|
(defun org-columns-dblock-write-default (ipos table params)
|
||||||
|
"Write out a columnview table at position IPOS in the current buffer.
|
||||||
|
TABLE is a table with data as produced by `org-columns--capture-view'.
|
||||||
|
PARAMS is the parameter property list obtained from the dynamic block
|
||||||
|
definition."
|
||||||
|
(let ((link (plist-get params :link))
|
||||||
|
(width-specs
|
||||||
|
(mapcar (lambda (spec) (nth 2 spec))
|
||||||
|
org-columns-current-fmt-compiled)))
|
||||||
|
(when table
|
||||||
|
;; Prune level information from the table. Also normalize
|
||||||
|
;; headings: remove stars, add indentation entities, if
|
||||||
|
;; required, and possibly precede some of them with a horizontal
|
||||||
|
;; rule.
|
||||||
|
(let ((item-index
|
||||||
|
(let ((p (assoc "ITEM" org-columns-current-fmt-compiled)))
|
||||||
|
(and p (cl-position p
|
||||||
|
org-columns-current-fmt-compiled
|
||||||
|
:test #'equal))))
|
||||||
|
(hlines (plist-get params :hlines))
|
||||||
|
(indent (plist-get params :indent))
|
||||||
|
new-table)
|
||||||
|
;; Copy header and first rule.
|
||||||
|
(push (pop table) new-table)
|
||||||
|
(push (pop table) new-table)
|
||||||
|
(dolist (row table (setq table (nreverse new-table)))
|
||||||
|
(let ((level (car row)))
|
||||||
|
(when (and (not (eq (car new-table) 'hline))
|
||||||
|
(or (eq hlines t)
|
||||||
|
(and (numberp hlines) (<= level hlines))))
|
||||||
|
(push 'hline new-table))
|
||||||
|
(when item-index
|
||||||
|
(let* ((raw (nth item-index (cdr row)))
|
||||||
|
(cleaned (org-columns--clean-item raw))
|
||||||
|
(item (if (not link) cleaned
|
||||||
|
(let ((search (org-link-heading-search-string raw)))
|
||||||
|
(org-link-make-string
|
||||||
|
search
|
||||||
|
cleaned)))))
|
||||||
|
(setf (nth item-index (cdr row))
|
||||||
|
(if (and indent (> level 1))
|
||||||
|
(concat "\\_" (make-string (* 2 (1- level)) ?\s) item)
|
||||||
|
item))))
|
||||||
|
(push (cdr row) new-table))))
|
||||||
|
(when (plist-get params :vlines)
|
||||||
|
(setq table
|
||||||
|
(let ((size (length org-columns-current-fmt-compiled)))
|
||||||
|
(append (mapcar (lambda (x) (if (eq 'hline x) x (cons "" x)))
|
||||||
|
table)
|
||||||
|
(list (cons "/" (make-list size "<>")))))))
|
||||||
|
(when (seq-find #'identity width-specs)
|
||||||
|
;; There are width specifiers in column format. Pass them
|
||||||
|
;; to the resulting table, adding alignment field as the first
|
||||||
|
;; row.
|
||||||
|
(push (mapcar (lambda (width) (when width (format "<%d>" width))) width-specs) table))
|
||||||
|
;; now insert the table into the buffer
|
||||||
|
(goto-char ipos)
|
||||||
|
(let ((content-lines (org-split-string (plist-get params :content) "\n"))
|
||||||
|
recalc)
|
||||||
|
;; Insert affiliated keywords before the table.
|
||||||
|
(when content-lines
|
||||||
|
(while (string-match-p "\\`[ \t]*#\\+" (car content-lines))
|
||||||
|
(insert (string-trim-left (pop content-lines)) "\n")))
|
||||||
|
(save-excursion
|
||||||
|
;; Insert table at point.
|
||||||
|
(insert
|
||||||
|
(mapconcat (lambda (row)
|
||||||
|
(if (eq row 'hline) "|-|"
|
||||||
|
(format "|%s|" (mapconcat #'identity row "|"))))
|
||||||
|
table
|
||||||
|
"\n"))
|
||||||
|
;; Insert TBLFM lines following table.
|
||||||
|
(let ((case-fold-search t))
|
||||||
|
(dolist (line content-lines)
|
||||||
|
(when (string-match-p "\\`[ \t]*#\\+TBLFM:" line)
|
||||||
|
(insert "\n" (string-trim-left line))
|
||||||
|
(unless recalc (setq recalc t))))))
|
||||||
|
(when recalc (org-table-recalculate 'all t))
|
||||||
|
(org-table-align)
|
||||||
|
(when (seq-find #'identity width-specs)
|
||||||
|
(org-table-shrink))))))
|
||||||
|
(map!
|
||||||
|
:nv "g w" #'avy-goto-word-1
|
||||||
|
:nv "g r" #'+lookup/references
|
||||||
|
:nv "SPC D" #'+default/diagnostics
|
||||||
|
:nv "] e" #'flycheck-next-error
|
||||||
|
:nv "[ e" #'flycheck-previous-error)
|
||||||
|
|||||||
26
dot_config/doom/custom.el
Normal file
26
dot_config/doom/custom.el
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
(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.
|
||||||
|
'(ignored-local-variable-values
|
||||||
|
'((Syntax . ANSI-Common-Lisp)
|
||||||
|
(package . cl-mock)
|
||||||
|
(syntax . common-lisp)
|
||||||
|
(Base . 10)
|
||||||
|
(Package . FIVEAM)
|
||||||
|
(Syntax . Ansi-Common-Lisp)))
|
||||||
|
'(safe-local-variable-values
|
||||||
|
'((org-tags-exclude-from-inheritance "why" "tbd")
|
||||||
|
(org-tags-exclude-from-inheritance quote
|
||||||
|
("why" "tbd"))
|
||||||
|
(org-tags-exclude-from-inheritance quote
|
||||||
|
("why"
|
||||||
|
(\, "tbd")))
|
||||||
|
(sly-load-failed-fasl . ask))))
|
||||||
|
(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.
|
||||||
|
)
|
||||||
@@ -21,11 +21,13 @@
|
|||||||
;;layout ; auie,ctsrnm is the superior home row
|
;;layout ; auie,ctsrnm is the superior home row
|
||||||
|
|
||||||
:completion
|
:completion
|
||||||
company ; the ultimate code completion backend
|
;; company ; the ultimate code completion backend
|
||||||
|
(corfu +orderless)
|
||||||
;;helm ; the *other* search engine for love and life
|
;;helm ; the *other* search engine for love and life
|
||||||
;;ido ; the other *other* search engine...
|
;;ido ; the other *other* search engine...
|
||||||
;;ivy ; a search engine for love and life
|
;;ivy ; a search engine for love and life
|
||||||
vertico ; the search engine of the future
|
vertico
|
||||||
|
; the search engine of the future
|
||||||
|
|
||||||
:ui
|
:ui
|
||||||
;;deft ; notational velocity for Emacs
|
;;deft ; notational velocity for Emacs
|
||||||
@@ -34,17 +36,16 @@
|
|||||||
;;doom-quit ; DOOM quit-message prompts when you quit Emacs
|
;;doom-quit ; DOOM quit-message prompts when you quit Emacs
|
||||||
;;(emoji +unicode) ; 🙂
|
;;(emoji +unicode) ; 🙂
|
||||||
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
||||||
;;hydra
|
|
||||||
;;indent-guides ; highlighted indent columns
|
;;indent-guides ; highlighted indent columns
|
||||||
;;ligatures ; ligatures and symbols to make your code pretty again
|
;;ligatures ; ligatures and symbols to make your code pretty again
|
||||||
;;minimap ; show a map of the code on the side
|
;;minimap ; show a map of the code on the side
|
||||||
modeline ; snazzy, Atom-inspired modeline, plus API
|
modeline ; snazzy, Atom-inspired modeline, plus API
|
||||||
;;nav-flash ; blink cursor line after big motions
|
;;nav-flash ; blink cursor line after big motions
|
||||||
;;neotree ; a project drawer, like NERDTree for vim
|
neotree ; a project drawer, like NERDTree for vim
|
||||||
ophints ; highlight the region an operation acts on
|
ophints ; highlight the region an operation acts on
|
||||||
(popup +defaults) ; tame sudden yet inevitable temporary windows
|
(popup +defaults) ; tame sudden yet inevitable temporary windows
|
||||||
;;tabs ; a tab bar for Emacs
|
;;tabs ; a tab bar for Emacs
|
||||||
(treemacs +lsp) ; a project drawer, like neotree but cooler
|
;;(treemacs +lsp) ; 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
|
(vc-gutter +pretty) ; vcs diff in the fringe
|
||||||
vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
||||||
@@ -88,36 +89,35 @@
|
|||||||
;;ansible
|
;;ansible
|
||||||
;;biblio ; Writes a PhD for you (citation needed)
|
;;biblio ; Writes a PhD for you (citation needed)
|
||||||
;;collab ; buffers with friends
|
;;collab ; buffers with friends
|
||||||
;;debugger ; FIXME stepping through code, to help you add bugs
|
(debugger +lsp) ; FIXME stepping through code, to help you add bugs
|
||||||
;;direnv
|
direnv
|
||||||
;;docker
|
docker
|
||||||
;;editorconfig ; let someone else argue about tabs vs spaces
|
;;editorconfig ; let someone else argue about tabs vs spaces
|
||||||
;;ein ; tame Jupyter notebooks with emacs
|
;;ein ; tame Jupyter notebooks with emacs
|
||||||
(eval +overlay) ; run code, run (also, repls)
|
(eval +overlay) ; run code, run (also, repls)
|
||||||
;;gist ; interacting with github gists
|
|
||||||
lookup ; navigate your code and its documentation
|
lookup ; navigate your code and its documentation
|
||||||
;;(lsp +eglot) ; M-x vscode
|
lsp ; M-x vscode
|
||||||
;;magit ; a git porcelain for Emacs
|
(magit +forge) ; a git porcelain for Emacs
|
||||||
;;make ; run make tasks from Emacs
|
;;make ; run make tasks from Emacs
|
||||||
;;pass ; password manager for nerds
|
;;pass ; password manager for nerds
|
||||||
;;pdf ; pdf enhancements
|
;;pdf ; pdf enhancements
|
||||||
;;prodigy ; FIXME managing external services & code builders
|
;;prodigy ; FIXME managing external services & code builders
|
||||||
;;rgb ; creating color strings
|
;;rgb ; creating color strings
|
||||||
taskrunner ; taskrunner for all your projects
|
;;taskrunner ; taskrunner for all your projects
|
||||||
;;terraform ; infrastructure as code
|
;;terraform ; infrastructure as code
|
||||||
;;tmux ; an API for interacting with tmux
|
;;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
|
;;upload ; map local to remote projects via ssh/ftp
|
||||||
|
|
||||||
:os
|
:os
|
||||||
(:if IS-MAC macos) ; improve compatibility with macOS
|
(:if (featurep :system 'macos) macos) ; improve compatibility with macOS
|
||||||
;;tty ; improve the terminal Emacs experience
|
tty ; improve the terminal Emacs experience
|
||||||
|
|
||||||
:lang
|
:lang
|
||||||
;;agda ; types of types of types of types...
|
;;agda ; types of types of types of types...
|
||||||
;;beancount ; mind the GAAP
|
;;beancount ; mind the GAAP
|
||||||
;;(cc +lsp) ; C > C++ == 1
|
;;(cc +lsp) ; C > C++ == 1
|
||||||
clojure ; java with a lisp
|
;;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
|
;;coq ; proofs-as-programs
|
||||||
;;crystal ; ruby at the speed of c
|
;;crystal ; ruby at the speed of c
|
||||||
@@ -141,9 +141,9 @@
|
|||||||
;;(haskell +lsp) ; a language that's lazier than I am
|
;;(haskell +lsp) ; a language that's lazier than I am
|
||||||
;;hy ; readability of scheme w/ speed of python
|
;;hy ; readability of scheme w/ speed of python
|
||||||
;;idris ; a language you can depend on
|
;;idris ; a language you can depend on
|
||||||
;;json ; At least it ain't XML
|
(json +tree-sitter) ; At least it ain't XML
|
||||||
;;(java +lsp +tree-sitter) ; the poster child for carpal tunnel syndrome
|
(java +lsp +tree-sitter) ; the poster child for carpal tunnel syndrome
|
||||||
;;(javascript +lsp) ; all(hope(abandon(ye(who(enter(here))))))
|
(javascript +lsp +treesitter) ; all(hope(abandon(ye(who(enter(here))))))
|
||||||
;;julia ; a better, faster MATLAB
|
;;julia ; a better, faster MATLAB
|
||||||
;;kotlin ; a better, slicker Java(Script)
|
;;kotlin ; a better, slicker Java(Script)
|
||||||
;;latex ; writing papers in Emacs has never been so fun
|
;;latex ; writing papers in Emacs has never been so fun
|
||||||
@@ -154,7 +154,7 @@
|
|||||||
;;nim ; python + lisp at the speed of c
|
;;nim ; python + lisp at the speed of c
|
||||||
;;nix ; I hereby declare "nix geht mehr!"
|
;;nix ; I hereby declare "nix geht mehr!"
|
||||||
;;ocaml ; an objective camel
|
;;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
|
;;php ; perl's insecure younger brother
|
||||||
;;plantuml ; diagrams for confusing people more
|
;;plantuml ; diagrams for confusing people more
|
||||||
;;purescript ; javascript, but functional
|
;;purescript ; javascript, but functional
|
||||||
@@ -162,10 +162,10 @@
|
|||||||
;;qt ; the 'cutest' gui framework ever
|
;;qt ; the 'cutest' gui framework ever
|
||||||
;;racket ; a DSL for DSLs
|
;;racket ; a DSL for DSLs
|
||||||
;;raku ; the artist formerly known as perl6
|
;;raku ; the artist formerly known as perl6
|
||||||
;;rest ; Emacs as a REST client
|
rest ; Emacs as a REST client
|
||||||
;;rst ; ReST in peace
|
;;rst ; ReST in peace
|
||||||
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
||||||
;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||||
;;scala ; java, but good
|
;;scala ; java, but good
|
||||||
;;(scheme +guile) ; a fully conniving family of lisps
|
;;(scheme +guile) ; a fully conniving family of lisps
|
||||||
sh ; she sells {ba,z,fi}sh shells on the C xor
|
sh ; she sells {ba,z,fi}sh shells on the C xor
|
||||||
@@ -173,8 +173,8 @@
|
|||||||
;;solidity ; do you need a blockchain? No.
|
;;solidity ; do you need a blockchain? No.
|
||||||
;;swift ; who asked for emoji variables?
|
;;swift ; who asked for emoji variables?
|
||||||
;;terra ; Earth and Moon in alignment for performance.
|
;;terra ; Earth and Moon in alignment for performance.
|
||||||
;;web ; the tubes
|
web ; the tubes
|
||||||
;;yaml ; JSON, but readable
|
yaml ; JSON, but readable
|
||||||
;;zig ; C, but simpler
|
;;zig ; C, but simpler
|
||||||
|
|
||||||
:email
|
:email
|
||||||
|
|||||||
@@ -26,26 +26,32 @@
|
|||||||
;; with the `:disable' property:
|
;; with the `:disable' property:
|
||||||
;(package! builtin-package :disable t)
|
;(package! builtin-package :disable t)
|
||||||
(package! sly-quicklisp :disable t)
|
(package! sly-quicklisp :disable t)
|
||||||
|
;(package! org-transclusion)
|
||||||
|
|
||||||
|
(package! kubernetes)
|
||||||
|
(package! kubernetes-evil)
|
||||||
|
(package! ledger-mode)
|
||||||
|
(package! evil-ledger)
|
||||||
|
|
||||||
;; You can override the recipe of a built in package without having to specify
|
;; 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
|
;; all the properties for `:recipe'. These will inherit the rest of its recipe
|
||||||
;; from Doom or MELPA/ELPA/Emacsmirror:
|
;; from Doom or MELPA/ELPA/Emacsmirror:
|
||||||
;(package! builtin-package :recipe (:nonrecursive t))
|
;(package! builtin-package :recipe (:nonrecursive t))
|
||||||
;(package! builtin-package-2 :recipe (:repo "myfork/package"))
|
;(package! builtin-package-2 :recipe (:repo "myfork/package"))
|
||||||
|
|
||||||
;; Specify a `:branch' to install a package from a particular branch or tag.
|
;; 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
|
;; 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)
|
;; our package manager can't deal with; see radian-software/straight.el#279)
|
||||||
;(package! builtin-package :recipe (:branch "develop"))
|
;(package! builtin-package :recipe (:branch "develop"))
|
||||||
|
|
||||||
;; Use `:pin' to specify a particular commit to install.
|
;; Use `:pin' to specify a particular commit to install.
|
||||||
;(package! builtin-package :pin "1a2b3c4d5e")
|
;(package! builtin-package :pin "1a2b3c4d5e")
|
||||||
|
|
||||||
|
|
||||||
;; Doom's packages are pinned to a specific commit and updated from release to
|
;; Doom's packages are pinned to a specific commit and updated from release to
|
||||||
;; release. The `unpin!' macro allows you to unpin single packages...
|
;; release. The `unpin!' macro allows you to unpin single packages...
|
||||||
;(unpin! pinned-package)
|
;(unpin! pinned-package)
|
||||||
;; ...or multiple packages
|
;; ...or multiple packages
|
||||||
;(unpin! pinned-package another-pinned-package)
|
;(unpin! pinned-package another-pinned-package)
|
||||||
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
|
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
|
||||||
;(unpin! t)
|
;(unpin! t)
|
||||||
|
|||||||
77
dot_config/home-manager/home-emacs.nix
Normal file
77
dot_config/home-manager/home-emacs.nix
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
{
|
||||||
|
enable = true;
|
||||||
|
extraPackages = epkgs: [
|
||||||
|
epkgs.catppuccin-theme
|
||||||
|
epkgs.evil
|
||||||
|
epkgs.evil-collection
|
||||||
|
epkgs.general
|
||||||
|
epkgs.projectile
|
||||||
|
epkgs.sly
|
||||||
|
epkgs.sly-macrostep
|
||||||
|
epkgs.vertico
|
||||||
|
epkgs.which-key
|
||||||
|
];
|
||||||
|
extraConfig = ''
|
||||||
|
(use-package catppuccin-theme
|
||||||
|
:config
|
||||||
|
(setq catppuccin-flavor 'frappe)
|
||||||
|
(load-theme 'catppuccin :no-confirm))
|
||||||
|
|
||||||
|
(use-package evil
|
||||||
|
:init
|
||||||
|
(setq evil-want-integration t)
|
||||||
|
(setq evil-want-keybinding nil)
|
||||||
|
:config
|
||||||
|
(evil-mode 1)
|
||||||
|
(evil-set-leader 'normal (kbd "SPC")))
|
||||||
|
|
||||||
|
(use-package evil-collection
|
||||||
|
:after evil
|
||||||
|
:config
|
||||||
|
(evil-collection-init))
|
||||||
|
|
||||||
|
(use-package general
|
||||||
|
:after evil
|
||||||
|
:config
|
||||||
|
(general-evil-setup)
|
||||||
|
|
||||||
|
(general-define-key
|
||||||
|
:states 'normal
|
||||||
|
:prefix "SPC"
|
||||||
|
"h" '(:ignore t :which-key "Help")
|
||||||
|
":" '(execute-extended-command :which-key "Execute Command")
|
||||||
|
";" '(eval-expression :which-key "Evaluate Expression"))
|
||||||
|
|
||||||
|
(general-define-key
|
||||||
|
:states 'normal
|
||||||
|
:prefix "SPC h"
|
||||||
|
"v" '(describe-variable :which-key "Describe Variable")))
|
||||||
|
|
||||||
|
(use-package projectile
|
||||||
|
:config (projectile-mode 1))
|
||||||
|
|
||||||
|
(use-package sly
|
||||||
|
:config
|
||||||
|
(setq inferior-lisp-program "sbcl"))
|
||||||
|
|
||||||
|
(use-package sly-macrostep)
|
||||||
|
|
||||||
|
(use-package vertico
|
||||||
|
:config
|
||||||
|
(vertico-mode))
|
||||||
|
|
||||||
|
(use-package which-key
|
||||||
|
:config
|
||||||
|
(which-key-mode))
|
||||||
|
|
||||||
|
(set-face-attribute 'default nil :font "JetBrainsMono Nerd Font" :height 130)
|
||||||
|
(set-face-attribute 'fixed-pitch nil :font "JetBrainsMono Nerd Font" :height 130)
|
||||||
|
|
||||||
|
(setq inhibit-startup-message t)
|
||||||
|
|
||||||
|
(scroll-bar-mode -1)
|
||||||
|
(tool-bar-mode -1)
|
||||||
|
(menu-bar-mode -1)
|
||||||
|
(setf indent-tabs-mode nil)
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -2,5 +2,5 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
enableBashIntegration = true;
|
enableBashIntegration = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
icons = true;
|
icons = "auto";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,16 +42,16 @@
|
|||||||
|
|
||||||
languages.language-server.jdtls.config.java.format.settings.url = "https://raw.githubusercontent.com/google/styleguide/gh-pages/eclipse-java-google-style.xml";
|
languages.language-server.jdtls.config.java.format.settings.url = "https://raw.githubusercontent.com/google/styleguide/gh-pages/eclipse-java-google-style.xml";
|
||||||
|
|
||||||
languages.languages = [
|
languages.language = [
|
||||||
{
|
{
|
||||||
name = "typescript";
|
name = "typescript";
|
||||||
language-servers = [ "typescript-language-server" "eslint" ];
|
language-servers = [ "typescript-language-server" "vscode-eslint-language-server" ];
|
||||||
indent.tab-width = 4;
|
indent.tab-width = 4;
|
||||||
indent.unit = " ";
|
indent.unit = " ";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "tsx";
|
name = "tsx";
|
||||||
language-servers = [ "typescript-language-server" "eslint" ];
|
language-servers = [ "typescript-language-server" "vscode-eslint-language-server" ];
|
||||||
indent.tab-width = 4;
|
indent.tab-width = 4;
|
||||||
indent.unit = " ";
|
indent.unit = " ";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,5 +31,6 @@ bind-key -T copy-mode-vi 'y' send -X copy-selection-and-cancel
|
|||||||
|
|
||||||
bind-key -T launcher g popup -h 100% -w 100% -E lazygit
|
bind-key -T launcher g popup -h 100% -w 100% -E lazygit
|
||||||
bind-key g switch-client -Tlauncher
|
bind-key g switch-client -Tlauncher
|
||||||
|
set -g default-command ""
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|||||||
161
dot_config/home-manager/home-wezterm.nix
Normal file
161
dot_config/home-manager/home-wezterm.nix
Normal file
@@ -0,0 +1,161 @@
|
|||||||
|
{
|
||||||
|
enable = true;
|
||||||
|
extraConfig = ''
|
||||||
|
local config = {}
|
||||||
|
local workspace_switcher = wezterm.plugin.require("https://github.com/MLFlexer/smart_workspace_switcher.wezterm")
|
||||||
|
workspace_switcher.zoxide_path='~/.nix-profile/bin/zoxide'
|
||||||
|
|
||||||
|
config.color_scheme = 'Catppuccin Frappe'
|
||||||
|
config.default_prog = { '/Users/jfrikker/.nix-profile/bin/zsh', '-l' }
|
||||||
|
config.font_size = 13.0
|
||||||
|
-- config.font = wezterm.font("JetBrains Mono")
|
||||||
|
config.inactive_pane_hsb = {
|
||||||
|
saturation = 0.5,
|
||||||
|
brightness = 0.5,
|
||||||
|
}
|
||||||
|
config.pane_focus_follows_mouse = true
|
||||||
|
config.switch_to_last_active_tab_when_closing_tab = true
|
||||||
|
config.tab_bar_at_bottom = true
|
||||||
|
config.use_fancy_tab_bar = false
|
||||||
|
config.window_decorations = "RESIZE"
|
||||||
|
|
||||||
|
wezterm.on('smart_workspace_switcher.workspace_switcher.created', function(window, path, workspace)
|
||||||
|
local editor = window:active_tab()
|
||||||
|
editor:set_title("edit")
|
||||||
|
editor:panes()[1]:send_text("hx\n")
|
||||||
|
local run = window:spawn_tab {}
|
||||||
|
run:set_title "run"
|
||||||
|
local term = window:spawn_tab {}
|
||||||
|
term:set_title "term"
|
||||||
|
editor:activate()
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- From https://alexplescan.com/posts/2024/08/10/wezterm/
|
||||||
|
local function segments_for_right_status(window)
|
||||||
|
return {
|
||||||
|
window:active_workspace(),
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
wezterm.on('update-status', function(window, _)
|
||||||
|
local SOLID_LEFT_ARROW = utf8.char(0xe0b2)
|
||||||
|
local segments = segments_for_right_status(window)
|
||||||
|
|
||||||
|
local color_scheme = window:effective_config().resolved_palette
|
||||||
|
-- Note the use of wezterm.color.parse here, this returns
|
||||||
|
-- a Color object, which comes with functionality for lightening
|
||||||
|
-- or darkening the colour (amongst other things).
|
||||||
|
local bg = wezterm.color.parse(color_scheme.background)
|
||||||
|
local fg = color_scheme.foreground
|
||||||
|
|
||||||
|
-- Each powerline segment is going to be coloured progressively
|
||||||
|
-- darker/lighter depending on whether we're on a dark/light colour
|
||||||
|
-- scheme. Let's establish the "from" and "to" bounds of our gradient.
|
||||||
|
local gradient_to, gradient_from = bg
|
||||||
|
gradient_from = gradient_to:lighten(0.2)
|
||||||
|
|
||||||
|
-- Yes, WezTerm supports creating gradients, because why not?! Although
|
||||||
|
-- they'd usually be used for setting high fidelity gradients on your terminal's
|
||||||
|
-- background, we'll use them here to give us a sample of the powerline segment
|
||||||
|
-- colours we need.
|
||||||
|
local gradient = wezterm.color.gradient(
|
||||||
|
{
|
||||||
|
orientation = 'Horizontal',
|
||||||
|
colors = { gradient_from, gradient_to },
|
||||||
|
},
|
||||||
|
#segments -- only gives us as many colours as we have segments.
|
||||||
|
)
|
||||||
|
|
||||||
|
-- We'll build up the elements to send to wezterm.format in this table.
|
||||||
|
local elements = {}
|
||||||
|
|
||||||
|
for i, seg in ipairs(segments) do
|
||||||
|
local is_first = i == 1
|
||||||
|
|
||||||
|
if is_first then
|
||||||
|
table.insert(elements, { Background = { Color = 'none' } })
|
||||||
|
end
|
||||||
|
table.insert(elements, { Foreground = { Color = gradient[i] } })
|
||||||
|
table.insert(elements, { Text = SOLID_LEFT_ARROW })
|
||||||
|
|
||||||
|
table.insert(elements, { Foreground = { Color = fg } })
|
||||||
|
table.insert(elements, { Background = { Color = gradient[i] } })
|
||||||
|
table.insert(elements, { Text = ' ' .. seg .. ' ' })
|
||||||
|
end
|
||||||
|
|
||||||
|
window:set_right_status(wezterm.format(elements))
|
||||||
|
end)
|
||||||
|
|
||||||
|
config.leader = { key = ' ', mods = 'CTRL', timeout_milliseconds = 10000 }
|
||||||
|
config.keys = {
|
||||||
|
{
|
||||||
|
key = "s",
|
||||||
|
mods = "CMD",
|
||||||
|
action = workspace_switcher.switch_workspace(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key = "-",
|
||||||
|
mods = "CMD",
|
||||||
|
action = wezterm.action.SplitVertical {},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key = "\\",
|
||||||
|
mods = "CMD",
|
||||||
|
action = wezterm.action.SplitHorizontal {},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key = "h",
|
||||||
|
mods = "CMD",
|
||||||
|
action = wezterm.action.ActivatePaneDirection "Left",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key = "j",
|
||||||
|
mods = "CMD",
|
||||||
|
action = wezterm.action.ActivatePaneDirection "Down",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key = "k",
|
||||||
|
mods = "CMD",
|
||||||
|
action = wezterm.action.ActivatePaneDirection "Up",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key = "l",
|
||||||
|
mods = "CMD",
|
||||||
|
action = wezterm.action.ActivatePaneDirection "Right",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key = "g",
|
||||||
|
mods = "CMD",
|
||||||
|
action = wezterm.action.SpawnCommandInNewTab {
|
||||||
|
args = { wezterm.home_dir .. "/.nix-profile/bin/zsh", "-l", "-c", "lazygit" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key = "t",
|
||||||
|
mods = "CMD",
|
||||||
|
action = wezterm.action.SpawnCommandInNewTab {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key = 'z',
|
||||||
|
mods = 'CMD',
|
||||||
|
action = wezterm.action.TogglePaneZoomState,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key = 'd',
|
||||||
|
mods = 'CMD',
|
||||||
|
action = wezterm.action.CloseCurrentTab { confirm = true },
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for i = 1, 9 do
|
||||||
|
-- CTRL+ALT + number to activate that tab
|
||||||
|
table.insert(config.keys, {
|
||||||
|
key = tostring(i),
|
||||||
|
mods = 'LEADER',
|
||||||
|
action = wezterm.action.ActivateTab(i - 1),
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
return config
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -52,18 +52,21 @@
|
|||||||
home.packages = [
|
home.packages = [
|
||||||
# pkgs.apacheKafka
|
# pkgs.apacheKafka
|
||||||
# pkgs.aria
|
# pkgs.aria
|
||||||
|
pkgs.asdf_3_3
|
||||||
pkgs.aws-iam-authenticator
|
pkgs.aws-iam-authenticator
|
||||||
pkgs.awscli
|
pkgs.awscli
|
||||||
pkgs.bashInteractive
|
pkgs.bashInteractive
|
||||||
|
pkgs.cargo
|
||||||
pkgs.chezmoi
|
pkgs.chezmoi
|
||||||
pkgs.du-dust
|
pkgs.du-dust
|
||||||
pkgs.emacs29
|
pkgs.emacs
|
||||||
pkgs.fd
|
pkgs.fd
|
||||||
pkgs.fend
|
pkgs.fend
|
||||||
pkgs.gcc
|
pkgs.gcc
|
||||||
pkgs.gh
|
pkgs.gh
|
||||||
# pkgs.ghc
|
# pkgs.ghc
|
||||||
# pkgs.go
|
# pkgs.go
|
||||||
|
pkgs.graphviz
|
||||||
# pkgs.haskellPackages.cabal-install
|
# pkgs.haskellPackages.cabal-install
|
||||||
# pkgs.haskellPackages.haskell-language-server
|
# pkgs.haskellPackages.haskell-language-server
|
||||||
# pkgs.helix
|
# pkgs.helix
|
||||||
@@ -73,28 +76,89 @@
|
|||||||
pkgs.just
|
pkgs.just
|
||||||
# pkgs.jsonnet
|
# pkgs.jsonnet
|
||||||
pkgs.kubectl
|
pkgs.kubectl
|
||||||
|
pkgs.ledger
|
||||||
pkgs.lorri
|
pkgs.lorri
|
||||||
# pkgs.maven
|
# pkgs.maven
|
||||||
# pkgs.mysql-client
|
pkgs.mysql-client
|
||||||
# pkgs.neovide
|
# pkgs.neovide
|
||||||
pkgs.neovim
|
pkgs.neovim
|
||||||
# pkgs.nodejs-16_x
|
# pkgs.nodejs-16_x
|
||||||
# pkgs.nodePackages.typescript-language-server
|
# pkgs.nodePackages.typescript-language-server
|
||||||
|
pkgs.openssh
|
||||||
# pkgs.postgresql
|
# pkgs.postgresql
|
||||||
# (pkgs.python3.withPackages (p: [p.ipython p.pyyaml p.boto3]))
|
# (pkgs.python3.withPackages (p: [p.ipython p.pyyaml p.boto3]))
|
||||||
pkgs.ripgrep
|
pkgs.ripgrep
|
||||||
pkgs.rlwrap
|
pkgs.rlwrap
|
||||||
|
pkgs.roswell
|
||||||
# pkgs.rust-analyzer
|
# pkgs.rust-analyzer
|
||||||
# pkgs.rust-script
|
# pkgs.rust-script
|
||||||
# pkgs.rust-bin.stable."1.68.0".default
|
# pkgs.rust-bin.stable."1.68.0".default
|
||||||
# pkgs.rust-bin.stable."1.68.0".rust-analyzer
|
# pkgs.rust-bin.stable."1.68.0".rust-analyzer
|
||||||
# pkgs.rustup
|
# pkgs.rustup
|
||||||
(pkgs.sbcl.withPackages (ps: with ps; [ agnostic-lizard alexandria serapeum slynk ]))
|
(pkgs.sbcl.withPackages (ps: with ps; [
|
||||||
|
_3bmd
|
||||||
|
_3bmd-ext-code-blocks
|
||||||
|
agnostic-lizard
|
||||||
|
alexandria
|
||||||
|
anypool
|
||||||
|
arrows
|
||||||
|
async-process
|
||||||
|
binding-arrows
|
||||||
|
bt-semaphore
|
||||||
|
chanl
|
||||||
|
cl-annot
|
||||||
|
cl-charms
|
||||||
|
cl-markup
|
||||||
|
cl-migratum
|
||||||
|
cl-migratum_dot_provider_dot_local-path
|
||||||
|
cl-migratum_dot_driver_dot_dbi
|
||||||
|
cl-mock
|
||||||
|
cl-punch
|
||||||
|
cl-rdkafka
|
||||||
|
cl-readline
|
||||||
|
cl-setlocale
|
||||||
|
clack
|
||||||
|
clack-handler-hunchentoot
|
||||||
|
clack-handler-woo
|
||||||
|
dbd-mysql
|
||||||
|
dbi
|
||||||
|
dexador
|
||||||
|
fare-csv
|
||||||
|
fiveam
|
||||||
|
group-by
|
||||||
|
inquisitor
|
||||||
|
lack-request
|
||||||
|
lack-response
|
||||||
|
lisp-preprocessor
|
||||||
|
local-time
|
||||||
|
log4cl
|
||||||
|
mito
|
||||||
|
mockingbird
|
||||||
|
myway
|
||||||
|
prove
|
||||||
|
prove-asdf
|
||||||
|
queues
|
||||||
|
queues_dot_priority-cqueue
|
||||||
|
queues_dot_simple-cqueue
|
||||||
|
replic
|
||||||
|
serapeum
|
||||||
|
shasht
|
||||||
|
slynk
|
||||||
|
smug
|
||||||
|
split-sequence
|
||||||
|
str
|
||||||
|
sxql-composer
|
||||||
|
trivial-ws
|
||||||
|
trivial-open-browser
|
||||||
|
trivial-timeout
|
||||||
|
uuid
|
||||||
|
yason ]))
|
||||||
# pkgs.source-code-pro
|
# pkgs.source-code-pro
|
||||||
# pkgs.stack
|
# pkgs.stack
|
||||||
pkgs.tokei
|
pkgs.tokei
|
||||||
pkgs.xh
|
pkgs.xh
|
||||||
# pkgs.xonsh
|
# pkgs.xonsh
|
||||||
|
pkgs.yubikey-manager
|
||||||
# pkgs.yarn
|
# pkgs.yarn
|
||||||
# pkgs.zellij
|
# pkgs.zellij
|
||||||
];
|
];
|
||||||
@@ -132,8 +196,11 @@
|
|||||||
programs.lazygit.enable = true;
|
programs.lazygit.enable = true;
|
||||||
programs.starship = import ./home-starship.nix pkgs;
|
programs.starship = import ./home-starship.nix pkgs;
|
||||||
programs.tmux = import ./home-tmux.nix pkgs;
|
programs.tmux = import ./home-tmux.nix pkgs;
|
||||||
# programs.zoxide.enable = true;
|
programs.wezterm = import ./home-wezterm.nix;
|
||||||
|
programs.zoxide.enable = true;
|
||||||
programs.zsh = import ./home-zsh.nix pkgs;
|
programs.zsh = import ./home-zsh.nix pkgs;
|
||||||
|
|
||||||
# programs.neovim = import ./home-neovim.nix pkgs;
|
# programs.neovim = import ./home-neovim.nix pkgs;
|
||||||
|
|
||||||
|
# programs.emacs = import ./home-emacs.nix;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user