Compare commits

...

4 commits

2 changed files with 81 additions and 64 deletions

View file

@ -9,7 +9,7 @@
'(org-agenda-files '(org-agenda-files
'("~/Documents/notes/20240306172458-homelab.org" "/home/nshields/Documents/notes/daily/2024-03-05.org" "/home/nshields/Documents/notes/daily/2024-03-12.org")) '("~/Documents/notes/20240306172458-homelab.org" "/home/nshields/Documents/notes/daily/2024-03-05.org" "/home/nshields/Documents/notes/daily/2024-03-12.org"))
'(package-selected-packages '(package-selected-packages
'(kubernetes-evil kubernetes multi-vterm projectile evil-collection-vterm org-roam pomodoro company fzf magit-todos dap-mode lsp-ui lsp-mode marginalia vertico evil-collection which-key vterm use-package rainbow-delimiters pdf-tools org-roam-ui org-modern nix-mode magit kagi gruvbox-theme gotham-theme evil doom-themes doom-modeline-now-playing crdt consult-org-roam command-log-mode catppuccin-theme)) '(gptel chatgpt-shell consult-projectile undo-tree orderless kubernetes-evil kubernetes multi-vterm projectile evil-collection-vterm org-roam pomodoro company fzf magit-todos dap-mode lsp-ui lsp-mode marginalia vertico evil-collection which-key vterm use-package rainbow-delimiters pdf-tools org-roam-ui org-modern nix-mode magit kagi gruvbox-theme gotham-theme evil doom-themes doom-modeline-now-playing crdt consult-org-roam command-log-mode catppuccin-theme))
'(visible-bell nil)) '(visible-bell nil))
(custom-set-faces (custom-set-faces
;; custom-set-faces was added by Custom. ;; custom-set-faces was added by Custom.

143
init.el
View file

@ -3,6 +3,7 @@
(tooltip-mode -1) (tooltip-mode -1)
(set-fringe-mode 10) (set-fringe-mode 10)
(menu-bar-mode -1) (menu-bar-mode -1)
(winner-mode 1)
(setq inhibit-startup-message t) (setq inhibit-startup-message t)
(setq visible-bell nil) (setq visible-bell nil)
@ -16,13 +17,8 @@
(setq use-dialog-box nil) (setq use-dialog-box nil)
(global-auto-revert-mode 1) (global-auto-revert-mode 1)
(setq global-auto-rever-non-file-buffers t) (setq global-auto-rever-non-file-buffers t)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
;; Comment/uncomment this line to enable MELPA Stable if desired. See `package-archive-priorities`
;; and `package-pinned-packages`. Most users will not need or want to do this.
;;(add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/") t)
(package-initialize)
(require 'package) (require 'package)
(setq package-archives '(("melpa" . "https://melpa.org/packages/") (setq package-archives '(("melpa" . "https://melpa.org/packages/")
("org" . "https://orgmode.org/elpa/") ("org" . "https://orgmode.org/elpa/")
@ -51,7 +47,6 @@
(global-set-key (kbd "<escape>") 'keyboard-escape-quit) (global-set-key (kbd "<escape>") 'keyboard-escape-quit)
(setq modus-themes-mode-line '(accented borderless padded)) (setq modus-themes-mode-line '(accented borderless padded))
(setq modus-themes-completions 'opinionated)
(load-theme 'modus-vivendi t) (load-theme 'modus-vivendi t)
(column-number-mode) (column-number-mode)
@ -60,44 +55,6 @@
vterm-mode-hook)) vterm-mode-hook))
(add-hook mode (lambda () (display-line-numbers-mode 0)))) (add-hook mode (lambda () (display-line-numbers-mode 0))))
(use-package multi-vterm :ensure t)
(use-package multi-vterm
:ensure t
:config
(add-hook 'vterm-mode-hook
(lambda ()
(setq-local evil-insert-state-cursor 'box)
(evil-insert-state)))
(define-key vterm-mode-map [return] #'vterm-send-return)
(setq vterm-keymap-exceptions nil)
(evil-define-key 'insert vterm-mode-map (kbd "C-e") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-f") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-a") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-v") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-b") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-w") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-u") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-d") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-n") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-m") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-p") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-j") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-k") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-r") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-t") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-g") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-c") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-SPC") #'vterm--self-insert)
(evil-define-key 'normal vterm-mode-map (kbd "C-d") #'vterm--self-insert)
(evil-define-key 'normal vterm-mode-map (kbd ",c") #'multi-vterm)
(evil-define-key 'normal vterm-mode-map (kbd ",n") #'multi-vterm-next)
(evil-define-key 'normal vterm-mode-map (kbd ",p") #'multi-vterm-prev)
(evil-define-key 'normal vterm-mode-map (kbd "i") #'evil-insert-resume)
(evil-define-key 'normal vterm-mode-map (kbd "o") #'evil-insert-resume)
(evil-define-key 'normal vterm-mode-map (kbd "<return>") #'evil-insert-resume))
(use-package which-key (use-package which-key
:init (which-key-mode) :init (which-key-mode)
:diminish which-key-mode :diminish which-key-mode
@ -141,7 +98,6 @@
(setq interprogram-cut-function 'wl-copy) (setq interprogram-cut-function 'wl-copy)
(setq interprogram-paste-function 'wl-paste) (setq interprogram-paste-function 'wl-paste)
;; Enable Evil ;; Enable Evil
(use-package evil (use-package evil
:ensure t :ensure t
@ -156,6 +112,7 @@
:ensure t :ensure t
:config :config
(evil-collection-init)) (evil-collection-init))
;; org ;; org
(use-package org-roam (use-package org-roam
:ensure t :ensure t
@ -179,6 +136,7 @@
:config :config
(require 'org-roam-dailies) ;; Ensure the keymap is available (require 'org-roam-dailies) ;; Ensure the keymap is available
(org-roam-db-autosync-mode)) (org-roam-db-autosync-mode))
(org-roam-db-autosync-mode) (org-roam-db-autosync-mode)
;; Bind this to C-c n I ;; Bind this to C-c n I
(defun org-roam-node-insert-immediate (arg &rest args) (defun org-roam-node-insert-immediate (arg &rest args)
@ -261,26 +219,31 @@
(use-package magit-todos (use-package magit-todos
:defer t) :defer t)
(use-package consult
:ensure t)
(use-package consult-projectile
:ensure t)
(defun dw/switch-project-action () (defun dw/switch-project-action ()
"Switch to a workspace with the project name and start `magit-status'." "Switch to a workspace with the project name and start `magit-status'."
(persp-switch (projectile-project-name)) (persp-switch (projectile-project-name))
(magit-status)) (magit-status))
(use-package fzf (defun default-project-layout ()
:bind (("C-c f g" . fzf-git-files) "Set up the default window layout for any project."
("C-c f f" . fzf-find-file) (delete-other-windows) ; Close all other windows
("C-c d" . fzf-directory) (split-window-below) ; Split the window horizontally
("C-c f r" . fzf-grep) (other-window 1) ; Move to the new window
;; ("C-c b" . fzf-switch-buffer) (projectile-run-vterm) ; Move to the new window
) (other-window 1) ; Move to the new window
:config (dired (projectile-project-root)) ; Open Dired in the new window
(setq fzf/args "-x --print-query --margin=1,0 --no-hscroll" (other-window -2)) ; Move back to the second window
fzf/executable "fzf" (defun my-universal-project-setup ()
fzf/git-grep-args "-i --line-number %s" "Set up the project-specific layout and settings for any project."
fzf/grep-command "rg --no-heading -nH" (default-project-layout))
fzf/position-bottom t
fzf/window-height 15))
(add-hook 'projectile-after-switch-project-hook 'my-universal-project-setup)
(use-package projectile (use-package projectile
:diminish projectile-mode :diminish projectile-mode
:config (projectile-mode) :config (projectile-mode)
@ -293,9 +256,6 @@
(setq projectile-project-search-path '("~/Code"))) (setq projectile-project-search-path '("~/Code")))
(setq projectile-switch-project-action #'projectile-dired)) (setq projectile-switch-project-action #'projectile-dired))
(use-package kubernetes-evil
:ensure t
:after kubernetes)
(global-set-key (kbd "M-n") #'other-window) (global-set-key (kbd "M-n") #'other-window)
@ -305,3 +265,60 @@
;; example: ;; example:
(define-key *my-leader* (kbd "C-b") #'previous-buffer) (define-key *my-leader* (kbd "C-b") #'previous-buffer)
(use-package multi-vterm :ensure t)
(use-package multi-vterm
:ensure t
:config
(add-hook 'vterm-mode-hook
(lambda ()
(setq-local evil-insert-state-cursor 'box)
(evil-insert-state)))
(define-key vterm-mode-map [return] #'vterm-send-return)
(setq vterm-keymap-exceptions nil)
(evil-define-key 'insert vterm-mode-map (kbd "C-e") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-f") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-a") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-v") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-b") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-w") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-u") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-d") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-n") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-m") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-p") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-j") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-k") #'Vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-r") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-t") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-g") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-c") #'vterm--self-insert)
(evil-define-key 'insert vterm-mode-map (kbd "C-SPC") #'vterm--self-insert)
(evil-define-key 'normal vterm-mode-map (kbd "C-d") #'vterm--self-insert)
(evil-define-key 'normal vterm-mode-map (kbd ",c") #'multi-vterm)
(evil-define-key 'normal vterm-mode-map (kbd ",n") #'multi-vterm-next)
(evil-define-key 'normal vterm-mode-map (kbd ",p") #'multi-vterm-prev)
(evil-define-key 'normal vterm-mode-map (kbd "i") #'evil-insert-resume)
(evil-define-key 'normal vterm-mode-map (kbd "o") #'evil-insert-resume)
(evil-define-key 'normal vterm-mode-map (kbd "<return>") #'evil-insert-resume))
(use-package orderless
:ensure t
:custom
(completion-styles '(orderless basic))
(completion-category-overrides '((file (styles basic partial-completion)))))
(use-package gptel
:ensure t
:config
(setq gptel-api-key "sk-proj-uk1aiEdBmPThYf3XIXzyT3BlbkFJVjKC2dDapa5MsttCsnTv"))
;; Install and configure chatgpt-shell
(use-package chatgpt-shell
:ensure t
:config
;; Set your OpenAI API key here
(setq chatgpt-shell-api-key "sk-proj-uk1aiEdBmPThYf3XIXzyT3BlbkFJVjKC2dDapa5MsttCsnTv"))
;; Optional: Bind chatgpt-shell to a key for quick access
(global-set-key (kbd "C-c C-g") 'chatgpt-shell)