diff --git a/users/infinidoge/config/doom/config.el b/users/infinidoge/config/doom/config.el index bc76e44..1bd028e 100644 --- a/users/infinidoge/config/doom/config.el +++ b/users/infinidoge/config/doom/config.el @@ -94,6 +94,50 @@ ;; Keybindings +(defvar infinidoge-doom-private-dir "/etc/nixos/users/infinidoge/config/doom") + +(defun infinidoge/doom/open-private-config () + "Browse your `infinidoge-doom-private-dir'." + (interactive) + (infinidoge-doom-project-browse doom-private-dir)) + +(defun infinidoge/doom/find-file-in-private-config () + "Search for a file in `infinidoge-doom-private-dir'." + (interactive) + (infinidoge-doom-project-find-file doom-private-dir)) + +(defun infinidoge/doom/goto-private-init-file () + "Open your private init.el file. +And jumps to your `doom!' block." + (interactive) + (find-file (expand-file-name "init.el" infinidoge-doom-private-dir)) + (goto-char + (or (save-excursion + (goto-char (point-min)) + (search-forward "(doom!" nil t)) + (point)))) + +(defun infinidoge/doom/goto-private-config-file () + "Open your private config.el file." + (interactive) + (find-file (expand-file-name "config.el" infinidoge-doom-private-dir))) + +(defun infinidoge/doom/goto-private-packages-file () + "Open your private packages.el file." + (interactive) + (find-file (expand-file-name "packages.el" infinidoge-doom-private-dir))) + +(map! :map help-map + "dc" #'infinidoge/doom/goto-private-config-file + "dC" #'infinidoge/doom/goto-private-init-file + "dpd" #'infinidoge/doom/goto-private-packages-file + ) + +(map! :map doom-leader-file-map + "p" #'infinidoge/doom/find-file-in-private-config + "P" #'infinidoge/doom/open-private-config + ) + (map! ;; Remove scroll-left and scroll-right keybindings "C-" nil @@ -150,4 +194,4 @@ (setq lsp-python-ms-executable (executable-find "python-language-server"))) ;; Disable excessive warnings in configuration directory -(add-to-list '+emacs-lisp-disable-flycheck-in-dirs "/etc/nixos") +(add-to-list '+emacs-lisp-disable-flycheck-in-dirs infinidoge-doom-private-dir)