Skip to content

daviwil/dotcrafter.el

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotcrafter.el - Manage your dotfiles with Emacs!

Overview

dotcrafter.el is an Emacs package that helps you manage your personal configuration files for your applications and systems, commonly known as “dotfiles.”

This package is designed to make it easier to manage all of your configuration files in Org Mode files using Org Babel source blocks that are tangled out to locations inside of your dotfiles folder. Those files will then be symbolically linked to the real file paths in your home directory!

If you’ve been using GNU Stow for managing symbolic links for your dotfiles folder, you will no longer need it thanks to this package!

NOTE: This package is currently in early development! It is being created as part of the Learning Emacs Lisp series on the System Crafters YouTube channel. As of yet some of the features I just mentioned above (symbolic linking specifically) won’t have been implemented yet. Soon :)

Usage

For now the package isn’t very useful, but if you want to try it you can clone the repository and add it to Emacs’ load path.

If you use straight.el (you should!) with use-package, you can copy this configuration:

(use-package dotcrafter
  :straight '(dotcrafter :host github
                         :branch "main"
                         :repo "daviwil/dotcrafter.el")
  :custom
  (dotcrafter-dotfiles-folder "~/.dotfiles")
  (dotcrafter-org-files '("Emacs.org" "Desktop.org")))

NOTE: Make sure to update the paths and Org files to reflect your actual dotfiles path and configuration files!

WARNING: Naming of variables and commands could change at any time!

Like I mentioned before, this package is in early development. Since we’re still fleshing things out, certain commands could be renamed, removed, or broken into pieces as things progress. I might also rename the project if someone suggests a better name :)

Just make sure to not take a strong dependency on this just yet if you want to try it!

Contributing

For now I won’t be accepting contributions because I’m trying to keep the codebase focused on what we’re doing in the Learning Emacs Lisp series. However, once that series is mostly concluded, I would love to have contributions from the community!

License

This project is licensed under the GNU General Public License v3.