diff options
Diffstat (limited to 'emacs/.emacs.d/wpc/dotfiles.el')
-rw-r--r-- | emacs/.emacs.d/wpc/dotfiles.el | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/emacs/.emacs.d/wpc/dotfiles.el b/emacs/.emacs.d/wpc/dotfiles.el new file mode 100644 index 000000000000..2e78cf213733 --- /dev/null +++ b/emacs/.emacs.d/wpc/dotfiles.el @@ -0,0 +1,53 @@ +;;; dotfiles.el --- Elisp to make dotfile management -*- lexical-binding: t -*- +;; Author: William Carroll <wpcarro@gmail.com> + +;;; Commentary: +;; Quickly edit commonly used files. + +;;; Code: + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Dependencies +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(require 'macros) +(require 'f) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; API +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(defconst dotfiles/install-kbds? t + "When t, install the keybindings.") + +(defconst dotfiles/whitelist + '(("compton" . "~/.config/compton.conf") + ("dotfiles" . "~/dotfiles/") + ("functions" . "~/functions.zsh") + ("aliases" . "~/aliases.zsh") + ("variables" . "~/variables.zsh") + ("Xresources" . "~/.Xresources.shared") + ("xsession" . "~/.xsessionrc.shared") + ("tmux" . "~/.tmux.conf") + ("zshrc" . "~/.zshrc") + ("config.fish" . "~/.config/fish/config.fish") + ("configuration.nix" . "~/Dropbox/programming/nixify/configuration.nix") + ("init.el" . "~/.emacs.d/init.el") + ("init.vim" . "~/.config/nvim/init.vim")) + "Dotfiles that I commonly edit.") + +(defun dotfiles/edit () + "Select a dotfile from ivy and edit it in an Emacs buffer." + (interactive) + (ivy-read + "Dotfile: " + dotfiles/whitelist + :action (>> cdr find-file))) + +(defun dotfiles/find-emacs-file (name) + "Call `find-file' on NAME located in dotfiles's emacs.d directory." + (find-file + (f-join "~/dotfiles/configs/shared/.emacs.d" name))) + +(provide 'dotfiles) +;;; dotfiles.el ends here |